最近想在Ubuntu的基礎上,再在硬盤的一個分區安裝Windows,其中有次不小心,在安裝windows的時候,刪除了一個分區,造成下次啟動Ubuntu系統出現 grub rescue
下面是我的修復方法,參考了http://www.linuxidc.com/Linux/2012-07/65249.htm,有些修改
- 先使用ls命令,找到Ubuntu的安裝在哪個分區,ls會羅列所有的磁盤分區信息,比方說:
grub rescue>ls (hd0),(hd0,msdos3),(hd0,msdos2),(hd0,msdos1)
- 然后依次調用如下命令: msdosX表示各個分區,注意 msdos 與 數字 之間沒有空格!
grub rescue>ls (hd0,msdosX)/boot/grub
如果都找不到的話,需要查一下是否因為Linux版本差異,造成grub的路徑不對,
例如直接ls(hd0,X)/grub等等。
假設找到(hd0,msdos3)時,顯示了文件夾中的文件,則表示 Linux 安裝在這個分區。
- 調用如下命令:
grub rescue>set root=(hd0,msdos3) grub rescue>set prefix=(hd0,msdos3)/boot/grub grub rescue>insmod normal
- 然后調用如下命令,就可以顯示出丟失的grub菜單了。
grub rescue>normal
不過不要高興,如果這時重啟,問題依舊存在,我們需要進入Linux中,對grub進行修復。
- 進入Linux之后,在命令行執行:
sudo update-grub sudo grub-install /dev/sda
(sda是你的硬盤號碼,千萬不要指定分區號碼,例如sda1,sda5等都不對)
- 重啟測試是否已經恢復了grub的啟動菜單。
