一、本解決方案所要解決的問題:
我們可能在安裝windows時,把GRUB或者LILO從MBR上清除。如果在沒有系統引導軟盤只有安裝盤的情況下,所采取的解決辦法。
常用恢復MBR的辦法還有一種是用升級系統的辦法,這種辦法經過驗證,是極不可靠的。我們經過近二三十次的實踐,證明效果幾乎很少,這個辦法用於沒有安裝GRUB的還是可行的。如果已經把GRUB安裝上,後來就重裝WINDOW或者別的操作系統而帶的LILO,而導致系統不能正常引導,這種辦法就失效了。所以說,本方案最適合GRUB的恢復。
二、解決過程[以RedHat 7.3為例]
1.把安裝盤的第一張放到光驅,然後重新啟動機器,在BOIS中把系統用光驅來引導。
2.等安裝界面出來後,按[F4]鍵,也就是linux rescue模式。如果是Redhat 8.0可能是F5吧。
然後在boot下輸入
linux rescue
然後就是回車一下。
3.一系列鍵盤以及幾項簡單的配制,過後就[繼續]了。。。這個過程,我不說了,比較簡單。
4.然後會出現這樣的字符
sh#
5.我們就可以操作GRUB了
sh#grub
會出現這樣的字符
grub>
我們就可以在這樣的字符後面,輸入
grub>root (hdX,Y)
grub>setup (hd0)
如果成功會有一個suclearcase/" target="_blank" >ccessful......
這裡的X,如果是一個盤,就是0,如果你所安裝的linux的根分區在第二個硬盤上,那X就是1了;Y,就是裝有linux系統所在的根分區。setup (hd0)就是把GRUB寫到硬盤的MBR上。
我來舉個例子吧,如果以我的硬盤為例。我在第一個硬盤上裝了XP,在第一個硬盤的hda9個裝了RH73.我總共有兩個硬盤。如果我把GRUB丟了,就用這種辦法找回來。 如果你不知道你的linux安裝到哪個分區上,也就是說,不知道這個Y是多少,這也不要緊,先輸入root (hdX,然後用[TAB]來查看,一下就明白了...
操作如下:[前面開機啟動的上面有說明]
sh# grub
會出現下面的字樣的
grub>
然後再這樣操作,如果我知道我的linux裝在第一個硬盤上,但我不知道裝在哪個分區上,就可以先輸入root (hd0,然後用[TAB]鍵來補齊,然後就明白了。
grub>root (hd0,8)
grub>setup (hd0)
請弟兄們結合文章及這個例子,仔細想一想。
我的第一個硬盤的分區情況是這樣的。。
/dev/hda1 主分區 NTFS
/dev/hda2 擴展分區
/dev/hda5 NTFS
/dev/hda6 FAT
/dev/hda7 FAT
/dev/hda8 /boot ext3
/dev/hda9 / ext3
/dev/hda10 /swap ext3
最後就是按一下[RESET]鍵,重新啟動,就OK了。。。。這步應該是最簡單的吧。。。哈。。。。
另一種方法[在DOS中操作引導系統]
首先要有能啟動的win98或win98的啟動光盤,rh 7.x的啟動光盤中的兩個文件:loadlin.exe(存在於dosutils下)和vmlinuz(存在於dosutilsautoboot下)當然vmlinuz你也可在其它linux發行版中取得.
先從硬盤啟動進入win98的純dos模式或從win98的啟動光盤啟動(mini模式),然後進入loadlin.exe及vmlinuz所在的目錄並執行:
loadlin vmlinuz root=/dev/hdaX 1
#說明:/dev/hdaX 為linux所在的根目錄
進入後再重新安裝grub即可.