ºìÁªLinuxÃÅ»§
Linux°ïÖú

Ó²ÅÌÖ÷Òýµ¼ÉÈÇøµÄ½á¹¹¼°¹¦ÄÜÈ«ÃæÊÍÒÉ

·¢²¼Ê±¼ä:2006-10-12 01:25:13À´Ô´:ºìÁª×÷Õß:veryfan
¡¡¡¡ºÜ¶àÅóÓѶÔÓÚÓ²Å̵ÄÖ÷Òýµ¼ÉÈÇøÀïµÄMBR(Main Boot Record)ºÍDPT(Disk Partition Table)µÄÇø±ðÓÐЩ·Ö²»Ì«Çå¡£ÓÚÊÇÎÒÏë°ÑËüд¸ö¼ò¶ÌµÄ½éÉÜ£¬Ï£ÍûÄܶÔÕâЩÅóÓÑÓеã°ïÖú¡£

¡¡¡¡Òýµ¼ÉÈÇøÔÚÿ¸ö·ÖÇøÀﶼ´æÔÚ£¬µ«ÊÇÎÒÃdz£ËµµÄ*Ö÷Òýµ¼ÉÈÇø*ÊÇÓ²Å̵ĵÚÒ»ÎïÀíÉÈÇø¡£ËüÓÉÁ½¸ö²¿·Ö×é³É£º¼´Ö÷Òýµ¼¼Ç¼MBRºÍÓ²ÅÌ·ÖÇø±íDPT¡£ÔÚ×ܹ²512×Ö½ÚµÄÖ÷Òýµ¼·ÖÇøÀïÆäÖÐMBRÕ¼446¸ö×Ö½Ú(Æ«ÒÆ0--Æ«ÒÆ1BDH)£¬DPTÕ¼64¸ö×Ö½Ú(Æ«ÒÆ1BEH--Æ«ÒÆ1FDH),×îºóÁ½¸ö×Ö½Ú¡°55£¬AA¡±(Æ«ÒÆ1FEHÆ«ÒÆ1FFH)ÊÇ·ÖÇøµÄ½áÊø±êÖ¾¡£´óÖµĽṹÈçÏÂͼ£º

[code]__________________________
0000


Main Boot Record
446B

01BD______________________
01BE
·ÖÇøÐÅÏ¢1 (16B)
________________________
01CE
·ÖÇøÐÅÏ¢2 (16B)
___________________________
01DE
·ÖÇøÐÅÏ¢3 (16B)
___________________________
01EE
·ÖÇøÐÅÏ¢4 (16B)
01FD_______________________
01FE 55
01FF AA [/code]


¡¡¡¡Ö÷Òýµ¼¼Ç¼Öаüº¬ÁËÓ²Å̵ÄһϵÁвÎÊýºÍÒ»¶ÎÒýµ¼³ÌÐò¡£Òýµ¼³ÌÐòÖ÷ÒªÊÇÓÃÀ´ÔÚϵͳӲ¼þ×Ô¼ìÍêºóÒýµ¼¾ßÓ줻î±êÖ¾µÄ·ÖÇøÉϵIJÙ×÷ϵͳ¡£ËüÖ´Ðе½×îºóµÄÊÇÒ»ÌõJMPÖ¸ÁîÌøµ½²Ù×÷ϵͳµÄÒýµ¼³ÌÐòÈ¥¡£ÕâÀïÍùÍùÊÇÒýµ¼ÐͲ¡¶¾µÄ×¢Èëµã£¬Ò²ÊǸ÷ÖÖ¶àϵͳÒýµ¼³ÌÐòµÄ×¢Èëµã¡£µ«ÊÇÓÉÓÚÒýµ¼³ÌÐò±¾ÉíÍê³ÉµÄ¹¦ÄܱȽϼòµ¥£¬ËùÒÔÎÒÃÇ¿ÉÒÔÍêÈ«µØÅжϸÃÒýµ¼³ÌÐòµÄºÏ·¨ÐÔ(¿´JMPÖ¸ÁîµÄºÏ·¨ÐÔ)£¬Òò¶øÒ²Ò×ÓÚÐÞ¸´¡£ÏóÃüÁîfdisk/mbr¿ÉÒÔÐÞ¸´MBRºÍ KV300ÕâÀàÈí¼þ¿ÉÒÔ²éɱÈÎÒâÀàÐ͵ÄÒýµ¼ÐͲ¡¶¾£¬¾ÍÊÇÕâ¸öÔ­Òò¡£

¡¡¡¡ÍùÏÂÀ´ÊÇÓ²Å̵ķÖÇø±í£¬ÓÉ4¸ö16×ֽڵķÖÇøÐÅÏ¢±í×é³É¡£Ã¿¸öÐÅÏ¢±íµÄ½á¹¹ÈçÏ£º

¡¡¡¡Æ«ÒÆ ³¤¶È Ëù±í´ïµÄÒâÒå

¡¡¡¡0 ×Ö½Ú ·ÖÇø״̬£º Èç0-->·Ç»î¶¯·ÖÇø

¡¡¡¡80--> »î¶¯·ÖÇø

¡¡¡¡1 ×Ö½Ú ¸Ã·ÖÇøÆðʼͷ(HEAD)

¡¡¡¡2 ×Ö ¸Ã·ÖÇøÆðʼÉÈÇøºÍÆðʼÖùÃæ

¡¡¡¡4 ×Ö½Ú ¸Ã·ÖÇøÀàÐÍ£ºÈç82--> Linux Native·ÖÇø

¡¡¡¡83--> Linux Swap ·ÖÇø

¡¡¡¡5 ×Ö½Ú ¸Ã·ÖÇøÖÕֹͷ(HEAD)

¡¡¡¡6 ×Ö ¸Ã·ÖÇøÖÕÖ¹ÉÈÇøºÍÖÕÖ¹ÖùÃæ

¡¡¡¡8 Ë«×Ö ¸Ã·ÖÇøÆðʼ¾ø¶Ô·ÖÇø

¡¡¡¡C Ë«×Ö ¸Ã·ÖÇøÉÈÇøÊý

¡¡¡¡×îºóµÄÁ½¸ö±êÖ¾¡°55 AA¡±ÊÇ·ÖÇø±íµÄ½áÊø±êÖ¾£¬Èç¹ûÕâÁ½¸ö±êÖ¾±»ÐÞ¸Ä(ÓÐЩ²¡¶¾¾Í»áÐÞ¸ÄÕâÁ½¸ö±êÖ¾)£¬ÔòϵͳÒýµ¼Ê±½«±¨¸æÕÒ²»µ½ÓÐЧµÄ·ÖÇø±í¡£

¡¡¡¡ÓÉÉÏÃæµÄËùÁгöµÄ½á¹¹¿ÉÒÔ´óÖµØÁ˽âÖ÷Òýµ¼ÉÈÇøµÄ½á¹¹ºÍÓÃ;¡£ÏÂÃ棬ÓÐһЩ¹ØÓÚÖ÷Òýµ¼ÉÈÇøµÄ³£¼ûÎÊÌ⣺

¡¡¡¡Q1¡¢fdisk/mbr »á²»»á°ÑÓ²Å̵ķÖÇø±íÆÆ»µÑ½£¿

¡¡¡¡A£º ´ÓÉÏÃæµÄÍÁÒ»ÎÒÃÇ¿ÉÒÔ¿´µ½fdisk/mbrÊDz»»áÓ°Ïìµ½DPTµÄ¡£fdisk/

¡¡¡¡mbrÖ»ÊÇ°ÑÖ÷Òýµ¼·ÖÇøÀïµÄMBR²¿·ÖÖØÐÂд¹ý£¬¶ø²»»á¶ÔDPTÓÐÈκÎÆÆ»µ¡£

¡¡¡¡Q2¡¢ÔÚLinuxÀïÓÐÒ»ÖÖ·½·¨¿ÉÒÔ»Ö¸´MBRÊÇÓÃÈçϵÄÃüÁ

¡¡¡¡dd if=/boot/boot.NNNN of=/dev/hda bs=446 count=1

¡¡¡¡ÆäÖÐbs(buffer size)ÊÇÖ¸ÖØдµÄ×Ö½ÚÊý¡£ÎªÊ²Ã´²»ÊÇ512

¡¡¡¡ÄØ£¿Ö÷Òýµ¼ÉÈÇøÊÇÒ»¸öÉÈÇø(512×Ö½Úѽ)£¿

¡¡¡¡A: ´ð°¸ÊÇÒòΪÎÒÃÇÓÃÉÏÃæµÄÃüÁîÊÇΪÁËÐÞ¸´¿ÉÄܱ»²¡¶¾ÐÞ¸ÄÁ˵ÄÖ÷Òýµ¼¼Ç

¡¡¡¡Â¼MBR£¬»òÕßÏë°ÑLILOжÔصô£¬¶ø²»Êǻָ´Õû¸öÖ÷Òýµ¼ÉÈÇø¡£ËùÒÔÎÒÃÇ

¡¡¡¡Ö»°ÑÖ÷Òýµ¼ÉÈÇøµÄ±¸·ÝÎļþboot.NNNNµÄÇ°446¸ö×Ö½ÚÖØдÈëÖ÷Òýµ¼ÉÈÇø¡£

¡¡¡¡boot.NNNNÊÇÎÒÃÇÔÚ°²×°Linux֮ǰÕû¸öÖ÷Òýµ¼·ÖÇøµÄ±¸·Ý¡£Èç¹ûÎÒÃÇ°Ñ

¡¡¡¡512¸ö×Ö½ÚÈ«²¿Ð´ÈëÖ÷Òýµ¼ÉÈÇø¾Í¿ÉÄÜ»á°Ñ°²×°ÁËLinuxºó¸Ä±äÁ˵ÄÓ²ÅÌ

¡¡¡¡DPT±íÒ²ÆÆ»µµô¡£ÄǾͻµÊÂÁË¡£ :-)

¡¡¡¡linuxrat²¹³äһЩ:=)...

¡¡¡¡MBR-> Main/Master Boot Record, ÓÐЩÊéÉÏÊÇд³ÉMasterµÄ.ÎÒÈÏΪ¿ÉÒÔ·Ö³ÉÈý¸ö²¿·Ö°É, MBR+DPT+MagicNumber(446+64+2=512)ÕâÒ²¾ÍÊÇΪʲô½øÐÐMBR±¸·ÝµÄʱºòÒªÖ¸¶¨bs=512 »òÕß bs=1k, count=1µÄÔ­Òò.È»ºó»Ö¸´Ê±¾­³£¿´µ½HOWTOÀïÃæÊÇbs=446 count=1. Õâ¸ö446¾ÍÊÇÖ¸Á·ÖµÄ»Ö¸´¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ