Grub rescue修復方法

題記

今天想從Windows分區裏劃一個40G的空間出來,於是乎用PQ來處理了……可惜卻把grub弄壞了。


症狀

開機顯示:GRUB loading
error:unknow filesystem
grub rescue>


原因

已經發現下面幾種操作會導致這種問題:
1,想刪除ubuntu,於是直接在windows下刪除/格式化了ubuntu所在的分區。
2,調整磁盤,利用工具合併/分割/調整/刪除分區,使磁盤分區數目發生了變化。
3,重新安裝系統,把linux安裝到了新分區,原有分區已經格式化,但是沒有重新安裝grub2。
4,用ubuntu備份工具/衍生版製造工具等,把主分區回覆成了8.X的老版本,結果老版本的grub是grub1,於是把grub2破壞掉了。


解決辦法

1)  grub rescue>ls  //回車,列出本機所有磁盤及分區,如:hd0,(hd0,1) ,(hd0,7),(hd0,8),(hd0,9)等,我的機器上顯示的是(hd0,msdos8)

然後查看到底是那個盤是grub的啓動盤,做如下測試,若出現該目錄下的文件列表,則成功;若出現"unknow filesystem"則表示不成功,繼續試探!

2)  grub rescue>ls (hd0,0)/          //比如,我的盤在輸入  ls (hd0,msdos8)/   後出現了文件列表,成功一半了!

出現文件列表,記住這個盤的盤號,如1或msdos8。然後輸入下面的命令

3)  grub rescue>set root=(hd0,msdos8)   //括號裏爲上一步嘗試成功的分區
     grub rescue>set prefix=(hd0,msdos8)/boot/grub  
     grub rescue>insmod normal   //每個命令輸入後按回車,">"是提示符!!!

然後應該就退出grub rescue模式了(可是我運行時,依然處於grub rescue模式,但提示符的顏色變了!從灰變成白!)

4)  grub> normal   //這樣就進入到grub界面下了

進入Linux系統之後,在命令行輸入以下命令即可!

sudo update-grub

然後輸入

sudo grub-install /dev/sda   //你的啓動盤

這樣就解決了。


參考:http://www.2cto.com/os/201111/112327.html 和 http://brosnan2800.iteye.com/blog/1244876

(全文完)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章