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