由於在Windows下面對分區修改,導致grub所在分區由sda3變成了sda2了,這樣一來找不到grub了,Ubuntu開機就出現了
grub rescue >
在此情況下,可以如下解決,並不用重新安裝系統
第一步,找出你的Linux盤在那個分區以及grub目錄在什麼位置。
如果你還記得最好,忘了也無所謂,使用下面命令逐個試探即可:
grub rescue>ls
回車後,ls命令會列出所有磁盤分區信息,如:
hd0,4),(hd0,7),(hd0,8),(hd0,9)
循環使用如下命令,直至顯示該分區所包含文件內容而不是unknown filesystem以及其他一些不正常信息
grub rescue>ls (hd0,0)/boot/grub
(網上有寫ls (hd0,0)/grub的,可能根據不同linux發行版本不同吧,Ubuntu 10.04是grub是放在/boot下面的。或者可以ls其他文件也一樣)
假設我們試到(hd0,8)時,成功顯示了文件內容,則表示。
第二步:
grub rescue>set root=(hd0,8)
//括號裡分區為上一步嘗試成功的分區,即linux grub 所在分區
grub rescue>set prefix=(hd0,8)/boot/grub
第三步:
grub rescue>insmod normal.mod
網上有些insmod /grub/normal.mod的,我的Ubuntu 10.04並不成功
至此,應該退出了grub rescue模式,進入了熟悉的grub模式
第四步:
grub>normal
第五步:修復grub
進入Linux系統後,在命令行裡
sudo update-grub
第六步:
sudo grub-install /dev/sda //sda是你的啟動磁盤