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