修復 grub
很多時候,特別是在linux調整分區后,開機重啟時會出現如下字樣,系統就是進不去:
error : unknow filesystem
grub rescue>
這一般是由于分區調整或分區UUID改變造成grub2不能正常啟動,從而進入修復模式了(grub rescue),也稱救援模式,在救援模式下只有很少的命令可以用:set, ls, insmod, root, prefix
-
set
查看環境變量,這里可以查看啟動路徑和分區。 -
ls
查看設備 -
insmod
加載模塊 -
root
指定用于啟動系統的分區,在救援模式下設置grub啟動分區 -
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、重啟