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