關於error file: /boot/grub/i386-pc/normal.mod not found. Grub Rescue的修復問題
造成該問題可能的原因是我update之後對系統造成了修改,結果導致了/boot/grub/i386-pc/normal.mod的丟失,normal.mod是ubuntu開機引導的必載入項,因而報出
/boot/grub/i386-pc/normal.mod not found. Grub Rescue>的問題。
- set 設定環境變數
- ls 檢視裝置
- insmod 載入模組
- root 指定用於啟動系統的分割槽
- prefix 設定grub啟動路徑
下面是具體步驟:
①檢視分割槽
因為每個人的分割槽不一樣,所以我們要檢視分割槽,用ls指令
grub rescue>ls
回車後,就會出現
(hd0) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos1)
grub rescue>
注:我用的是grub2,對於grub使用者,分割槽前沒有msdos字樣
上面是我的分割槽,每個人的不一樣。
grub rescue>set回車
prefix=(hd0,msdos9)/boot/grub
root=hd0,msdos9
從上面可以看出來現在我的系統是從(hd0,msdos9)
那麼怎麼知道ubuntu在哪個分割槽呢?進入第二步
②尋找ubuntu所在分割槽
這一步我們要一個一個的試,
還是用ls指令
先試下在不在(hd0,msdos8)裡邊
grub rescue>ls (hd0,msdos8)
回車會發現,不是,還是unknown filesystem
接著來
。。。。。。。。。
當我試到
(hd0,msdos7)的時候,可以看到一下子多了很多字,這些就是我ubuntu主資料夾下的資料夾和檔案的名字。OK,找到分割槽了!
③修改啟動分割槽
grub rescue>root=(hd0,msdos7)
grub rescue>prefix=/boot/grub //grub路徑設定
grub rescue>set root=(hd0,msdos7)
grub rescue>set prefix=(hd0,msdos7)/boot/grub
grub rescue>insmod normal //啟動normal啟動
grub rescue>normal
依次敲入上面的指令,是不是看到熟悉的啟動選單了?選win7後,一鍵Ghost就開始備份系統了。別高興太早,一切還都沒開始呢。如果你不是因為一鍵Ghost問題進入grub rescue,可以直接跳到第⑤步
④再來一遍
當你等著一鍵Ghost備份完系統,重啟後,你發現還是
error:unknown filesystem
grub rescue>
彆著急,再把前三步進行一遍就可以了
⑤進入命令列 啟動Ubuntu
進入系統啟動選項介面後,你發現,無論點那個還是進不去,這是因為你還沒有真正的修改grub,這個要到ubuntu裡修改
進入系統啟動項介面後,按C進入命令列模式
grub >set root=hd0,msdos7
grub >set prefix=(hd0,msdos7)/boot/grub
grub >linux /vmlinuz-xxx-xxx root=/dev/sda7 //裡邊的xxxx可以按Tab鍵,如果有acpi問題,在最後加一句acpi=off
grub >initrd /initrd.img-xxx-xxx
grub >boot
Ubuntu正常啟動了吧?
⑥進入ubuntu修復grub
大功就要高成了
進入Ubuntu後,修復grub
在終端裡執行
sudo update-grub
重建grub到第一硬碟mbr
sudo grub-install /dev/sda
以上內容很的好學習的關於開機引導的問題,but it doesn't work for me.
最終我的解決方案:
1.考慮使用UltraISO製作ubuntu14.04 U盤映象以啟動系統恢復
參考:http://jingyan.baidu.com/article/363872ec8b4f6a6e4ba16f2b.html
結果:失敗,由於燒錄映象時報出始終被佔用的問題,後來網上提示原因是UltraISO版本問題以及ubuntu14.04太新。。。。放棄
2.考慮使用Universal-USB-Installer製作ubuntu14.04 U盤以啟動系統恢復
參考:http://blog.csdn.net/liangcaiyun2013/article/details/10410797
結果:U盤啟動ubuntu成功,但是,進入ubuntu後無法修復原分割槽的系統。
參考:http://sourceforge.net/p/boot-repair-cd/home/Home/
結果,有詳細的教程,然後最後修復成功。
補充,由於我是在修復我的vmware中的ubuntu,因而還需要做一個vmware的u盤啟動,教程如下:
http://jingyan.baidu.com/article/b2c186c8eb3813c46ef6ffef.html
注意事項:教程中建立好新硬碟後,如果想要該盤的啟動順序排在前面,點右面詳細面板的高階,設定虛擬裝置節點,將想要先啟動的硬碟盤號往前排。