ÉîÈë̽ÌÖLinux MBRµÄ¹¦Ð§ÓëÔÀí
LinuxϵͳµÄÖ¸µ¼Àú³ÌÖУ¬Master Boot Record£¨MBR£©ÊÎÑÝ×ÅÖÁ¹ØÖ÷ÒªµÄ½ÇÉ«¡£MBRÊÇλÓÚÓ²Å̵ĵÚÒ»¸öÉÈÇø£¬Í¨³£Îª512×Ö½Ú£¬°üÀ¨ÁËÖ¸µ¼²Ù×÷ϵͳËùÐèµÄÒªº¦ÐÅÏ¢¡£±¾ÎĽ«ÉîÈë̽ÌÖLinux MBRµÄ¹¦Ð§ÓëÔÀí£¬Í¬Ê±ÌṩÏêϸµÄ´úÂëʾÀý×ÊÖú¶ÁÕ߸üºÃµØÃ÷È·¡£
MBRµÄ¹¦Ð§Óë½á¹¹
MBRµÄ×÷ÓÃÖ÷Òª°üÀ¨ÒÔϼ¸¸ö·½Ã棺
Ö¸µ¼¼ÓÔØÆ÷£ºMBR°üÀ¨Ö¸µ¼¼ÓÔØÆ÷£¨Boot Loader£©£¬ÔÚÅÌËã»úÆô¶¯Ê±ÈÏÕæ¼ÓÔزÙ×÷ϵͳ¡£³£¼ûµÄÖ¸µ¼¼ÓÔØÆ÷ÓÐGRUBºÍLILO¡£
·ÖÇø±í£ºMBR»¹°üÀ¨ÁËÓ²Å̵ķÖÇø±í£¨Partition Table£©£¬¼Í¼ÁËÓ²ÅÌÉÏÿ¸ö·ÖÇøµÄÆðʼλÖᢾÞϸÒÔ¼°·ÖÇøÀàÐ͵ÈÐÅÏ¢¡£
ÊðÃûÐÅÏ¢£ºMBR×îºóÁ½¸ö×Ö½ÚΪAA55H£¨0x55AA£©£¬ÊÇÒ»¸öÌØÊâµÄ±êʶ£¬ÓÃÓÚ±ê¼ÇMBRÓÐÓá£ÈôÊÇÕâÁ½¸ö×Ö½Ú²»ÊÇAA55H£¬ÔòÅÌËã»ú½«ÎÞ·¨Õý³£Ö¸µ¼¡£
MBR½á¹¹ÈçÏ£º
Ç°446×Ö½ÚΪָµ¼¼ÓÔØÆ÷´úÂ룬ÈÏÕæ¼ÓÔزÙ×÷ϵͳ£»
½ÓÏÂÀ´64×Ö½ÚΪ·ÖÇø±í£¬Ã¿¸ö·ÖÇø±íÏîÕ¼16×Ö½Ú£¬Ò»Ñùƽ³£×î¶àÖ§³ÖËĸöÖ÷·ÖÇø£»
×îºóÁ½¸ö×Ö½ÚΪAA55H±êʶ¡£
Linux MBRµÄ¼ÓÔØÁ÷³Ì
Linuxϵͳָµ¼Àú³ÌÖУ¬MBRµÄ¼ÓÔØÁ÷³ÌÈçÏ£º
BIOS£¨Basic Input/Output System£©Æô¶¯£ºÅÌËã»úͨµçºó£¬Ê×ÏÈÓÉBIOS¼ÓÔØMBR¡£BIOS»á½«¿ØÖÆȨ½»¸øMBRÖеÄÖ¸µ¼¼ÓÔØÆ÷¡£
Ö¸µ¼¼ÓÔØÆ÷¼ÓÔØÄںˣºÖ¸µ¼¼ÓÔØÆ÷»áƾ֤ÉèÖÃÎļþ¼ÓÔزÙ×÷ϵͳÄںˡ£ÔÚLinuxϵͳÖУ¬Í¨³£Ê¹ÓÃGRUB×÷Ϊָµ¼¼ÓÔØÆ÷¡£
Äں˳õʼ»¯£ºÒ»µ©Äں˼ÓÔØÀֳɣ¬²Ù×÷ϵͳÄں˱ã×îÏȳõʼ»¯ÏµÍ³×ÊÔ´¡¢¼ÓÔØÇý¶¯³ÌÐòµÈ²Ù×÷¡£
Æô¶¯ÏµÍ³Àú³Ì£ºËæºóÄں˻áÆô¶¯initÀú³Ì£¬½ø¶øÆô¶¯ÏµÍ³ÖеÄÆäËûÀú³Ì£¬Íê³ÉϵͳµÄÆô¶¯¡£
ʾÀý´úÂë
ÏÂÃæÊÇÒ»¸ö¼òÆÓµÄʾÀý´úÂ룬ÑÝʾÔõÑùʹÓÃGRUBÖ¸µ¼¼ÓÔØÆ÷ÔÚMBRÖмÓÔØLinux²Ù×÷ϵͳ£º
; MBR´úÂëʾÀý bits 16 ; ʹÓÃ16λģʽ org 0x7C00 ; MBR¼ÓÔصصã start: jmp main ; Ìøתµ½Ö÷³ÌÐòÈë¿Ú times 510-($-$$) db 0 ; Ìî³äÊ£Óà¿Õ¼äΪ0£¬Ê¹×ܳ¤¶ÈΪ512×Ö½Ú dw 0xAA55 ; MBRÓÐÓñêʶ main: ; ÔÚÕâÀï±àдָµ¼¼ÓÔØÆ÷´úÂ룬¼ÓÔزÙ×÷ϵͳÄÚºË
µÇ¼ºó¸´ÖÆ
½áÂÛ
±¾ÎĶÔLinux MBRµÄ¹¦Ð§ÓëÔÀí¾ÙÐÐÁ˼òÒªÏÈÈÝ£¬²¢ÌṩÁËÒ»¸ö¼òÆÓµÄMBR´úÂëʾÀý¡£Í¨¹ýÉîÈëÑо¿MBRµÄ×÷ÓúͼÓÔØÁ÷³Ì£¬¶ÁÕß¿ÉÒÔ¸üºÃµØÃ÷È·Linuxϵͳָµ¼µÄÀú³Ì¡£ÔÚÏÖʵӦÓÃÖУ¬Ã÷È·MBRµÄÊÂÇéÔÀí¹ØÓÚϵͳά»¤ºÍ¹ÊÕÏÅŲ鶼¾ßÓÐÖ÷ÒªÒâÒ塣ϣÍû±¾ÎÄÄܹ»×ÊÖú¶ÁÕ߸üºÃµØÕÆÎÕLinuxϵͳָµ¼µÄÒªº¦ÖªÊ¶¡£
ÒÔÉϾÍÊÇÉîÈë̽ÌÖLinux MBRµÄ¹¦Ð§ÓëÔÀíµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡