關(guān)于opensuse-10.2-GM-x86_64的引導(dǎo)缺陷和總結(jié)
多個(gè)活動(dòng)分區(qū)的情況會(huì)取分區(qū)靠前面的。如果,在活動(dòng)分區(qū)中的第一個(gè)扇區(qū)記錄了如果引導(dǎo)系統(tǒng),就會(huì)按照此信息進(jìn)行引導(dǎo)操作系統(tǒng)的一系列動(dòng)作。
我在自己安裝opensuse-10.2-GM-x86_64時(shí),故意設(shè)置了一下引導(dǎo)裝載程序GRUB,將引導(dǎo)同時(shí)裝在了MBR和系統(tǒng)的root分區(qū)。安裝第一階段完成后,重啟系統(tǒng)引導(dǎo),發(fā)現(xiàn)有一段提示,好像是說(shuō)找不到什么,然后才是從活動(dòng)分區(qū)啟動(dòng)。由于我的SATA硬盤(pán)上的第一個(gè)主分區(qū)裝的是opensuse-10.2-GM-x86_64 ,而且只有主分區(qū)才可作為活動(dòng)分區(qū)。所以能夠舍MBR,取活動(dòng)分區(qū)的引導(dǎo)區(qū)(第一扇區(qū))。通過(guò)活動(dòng)分區(qū)的引導(dǎo)區(qū)啟動(dòng)操作系統(tǒng)。
[總結(jié)]:
一:opensuse 10.2MBR
MBR中有446字節(jié)的引導(dǎo)操作系統(tǒng)的代碼,64字節(jié)的主分區(qū)表(最多四個(gè)),剩下2字節(jié)的是結(jié)束標(biāo)志。
如果要啟動(dòng)操作系統(tǒng),主分區(qū)中至少有一個(gè)分區(qū)為活動(dòng)分區(qū)。如果有多個(gè)活動(dòng)分區(qū),取前面的活動(dòng)分區(qū)為啟動(dòng)分區(qū)。例如 第二主分區(qū) /dev/hda2 被設(shè)為活動(dòng)分區(qū),當(dāng)引導(dǎo)操作系統(tǒng)的代碼與第二主分區(qū)這個(gè)活動(dòng)分區(qū)上的設(shè)置吻合(有相關(guān)的引導(dǎo)文件)時(shí),就能順利啟動(dòng)操作系統(tǒng)。否則,系統(tǒng)將掛起。
所以,要正常的啟動(dòng)系統(tǒng),在硬盤(pán)上有三處設(shè)置必須正確。首先是 MBR 中的那446字節(jié)的引導(dǎo)操作系統(tǒng)的代碼,其次是分區(qū)表以及活動(dòng)分區(qū)的正確設(shè)定,最后是可啟動(dòng)分區(qū)需要有正確的啟動(dòng)文件。
如果系統(tǒng)被安裝在邏輯分區(qū)上,也和上面說(shuō)到的相同,不過(guò)是啟動(dòng)分區(qū)(可啟動(dòng)的活動(dòng)分區(qū))將引導(dǎo)指向了邏輯分區(qū)。
二:opensuse 10.2引導(dǎo)區(qū)
為了保險(xiǎn)起見(jiàn),每個(gè)分區(qū)的第一個(gè)扇區(qū)都是引導(dǎo)區(qū)。引導(dǎo)區(qū)是可以引導(dǎo)操作系統(tǒng)的。
三:opensuse 10.2常規(guī)解決方案
1. Windows 安裝光盤(pán)啟動(dòng)(能啟動(dòng)安裝程序就行),按 R 鍵進(jìn)控制臺(tái)。輸入數(shù)字1或者2什么的,然后敲回車(chē),用來(lái)選擇需要修復(fù)的系統(tǒng)。先 help 一下, fixmbr 然后exit退出并重啟就可以了。如果重啟后不行,再如上面的做一次,這次不同的地方是要先 fixboot ,之后再 fixmbr 。
2. Linux 同樣是重設(shè)引導(dǎo)裝載程序。通常是使用安裝程序中的修復(fù)模式。SuSE中有專(zhuān)門(mén)的修復(fù)方法。
常規(guī)方法失效的時(shí),按前面的 一、二,進(jìn)行排錯(cuò)。 fdisk -l ,如果是活動(dòng)分區(qū)與要啟動(dòng)的分區(qū)不符,可用fdisk 中的 a命令重設(shè)活動(dòng)分區(qū)。
四:opensuse 10.2從備份進(jìn)行恢復(fù)
想要順利的從備份恢復(fù),最好是沒(méi)有對(duì)分區(qū)進(jìn)行修改。
備份MBR # dd if=/dev/hda of=/MBR bs=512 count=1
恢復(fù)MBR # dd if=/MBR of=/dev/hda bs=1 count=512
備份或者恢復(fù)引導(dǎo)區(qū)(分區(qū)的第一扇區(qū)),方法相同。不同的地方是對(duì)分區(qū)的第一扇區(qū)進(jìn)行備份或者覆蓋恢復(fù)的操作。例:
# dd if=/dev/hda2 of=/hda2_512 bs=512 count=1
# dd if=/hda2_512 of=/dev/hda2 bs=1 count=512
注意:命令一定要在理解的基礎(chǔ)上進(jìn)行。否則將帶來(lái)災(zāi)難!!
【編輯推薦】