Ubuntu 開機出現 grub rescue 的模式下修復

因爲在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是你的啓動磁盤 linux

另附一篇 spa

grub rescue模式下修復 命令行

因爲在rescue模式下,只有少許的基本命令可用,必須經過必定的操做才能加載正常模塊,而後進入正常模式。

rescue模式下可以使用的命令有:set,ls,insmod,root,prefix(設置啓動路徑)

先假設grub2的核心文件在(hd0,8)分區,再來看看怎樣從 rescue模式進入從(hd0,8)啓動的正常模式(normal)。

在 rescue模式下search命令不能用,對不清楚grub2文件處於哪一個分區的,能夠用ls命令查看,好比

ls (hd0,8)/ 查看(hd0,8)分區根目錄,看看有沒有boot文件夾

ls (hd0,8)/boot/ 查看(hd0,8)分區的/boot目錄下文件

ls (hd0,8)/boot/grub/ 查看(hd0,8)分區/boot/grub目錄下文件

經過文件查看,能夠肯定 grub2核心文件處於哪一個分區,接下來就能夠進行從rescue到normal的轉變更做:

先 ls 看看分區,根據分區列表,猜下 / 分區的編號再 ls (hd0,x)/ 看分區目錄下文件肯定找到 / 分區,不對的話繼續找。找到 / 分區的 (hd0,x) 繼續

grub rescue>root=(hd0,x)

grub rescue>prefix=/boot/grub

grub rescue>set root=(hd0,x)

grub rescue>set prefix=(hd0,x)/boot/grub

grub rescue>insmod normal
grubgrub
grub rescue>normal -------->若出現啓動菜單,按c進入命令行模式

rescue>linux /boot/vmlinuz-xxx-xxx root=/dev/sda x rescue>initrd /boot/initrd.img-xxx-xxx rescue>boot 內核版本號 -xxx-xxx能夠按Tab鍵查看後再手動補全。     
相關文章
相關標籤/搜索