ubuntu修復grub

修復 grub

很多時候,特別是在linux調整分區后,開機重啟時會出現如下字樣,系統就是進不去:

error : unknow filesystem
grub rescue>

這一般是由于分區調整或分區UUID改變造成grub2不能正常啟動,從而進入修復模式了(grub rescue),也稱救援模式,在救援模式下只有很少的命令可以用:set, ls, insmod, root, prefix

  1. set 查看環境變量,這里可以查看啟動路徑和分區。
  2. ls 查看設備
  3. insmod 加載模塊
  4. root 指定用于啟動系統的分區,在救援模式下設置grub啟動分區
  5. prefix 設定grub啟動路徑

修復步驟:

1、查看分區

grub rescue> ls
(hd0) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1)

以上結果每個人可能不一樣

2、尋找ubuntu所在分區

grub rescue> ls (hd0,msdos1)/

若出現 unknown filesystem 字樣,則嘗試下一個,若出現的是你的 ubuntu 主文件夾下的文件夾和文件的名字,那就是的要找的分區了

3、修改啟動分區

假如你找到的啟動分區是 hd0,msdos8

grub rescue>root=(hd0,msdos8)
grub rescue>prefix=/boot/grub                         //grub路徑設置
grub rescue>set root=(hd0,msdos8)
grub rescue>set prefix=(hd0,msdos8)/boot/grub
grub rescue>insmod normal                            //啟動normal啟動
grub rescue>normal

4、進入命令行啟動 ubuntu

進入系統啟動選項界面后還是進不去,因為還沒有真正的修改grub,這個要到ubuntu里修改
進入系統啟動項界面后,按 C 進入命令行模式

grub >set root=hd0,msdos8
grub >set prefix=(hd0,msdos8)/boot/grub
grub >linux /vmlinuz-xxx-xxx root=/dev/sda8 //里邊的 xxxx 可以按 Tab 鍵,如果有 acpi 問題,在最后加一句 acpi=off
grub >initrd /initrd.img-xxx-xxx
grub >boot

5、進入ubuntu修復grub

sudo update-grub
sudo grub-install /dev/sda

6、重啟

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容