由於在Windows下面對分區修改(我是刪除分區造成),導致grub所在分區由sda3變成了sda2了,這樣一來找不到grub了,Ubuntu開機就出現了:
grub rescue >
在此情況下,可以如下解決,並不用重新安裝系統
第一步,找出你的Linux盤在那個分區以及grub目錄在什麼位置。
如果你還記得最好,忘了也無所謂,使用下面命令逐個試探即可:
grub rescue>ls
斷行符號後,ls命令會列出所有磁碟分割資訊,如:
hd0, (hd0,msdos7),(hd0,msdos8),(hd0,msdos5)......
迴圈使用如下命令,直至顯示該分區所包含檔案內容而不是unknown filesystem以及其他一些不正常資訊
grub rescue>ls (hd0,msdos7)/boot/grub
(網上有寫ls (hd0,0)/grub的,可能根據不同linux發行版本不同吧,Ubuntu 12.04是grub是放在/boot下面的。或者可以ls其他檔案也一樣)
假設我們試到(hd0,msdos7)時,成功顯示了檔案夾中的所有檔案時,則表示grub在該分區中。
第二步:設定如下
grub rescue>set root=(hd0,msdos7)
//括弧裡分區為上一步嘗試成功的分區,即linux grub 所在分區
grub rescue>set prefix=(hd0,msdos7)/boot/grub
第三步:
grub rescue>insmod /boot/grub/normal.mod
至此,應該退出了grub rescue模式,進入了熟悉的grub模式
第四步:
grub>normal
到此為止我的電腦進入了Ubuntu啟動介面,已經可以選擇啟動系統,要想徹底解決這個問題還得進入Ubuntu修複grub,如下:
第五步:修複grub
進入Linux系統後,在命令列裡
sudo update-grub
第六步:
sudo grub-install /dev/sda //sda是系統一般預設的的啟動磁碟
更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/home/