很多時候,特別是在linux調整分割槽後,開機重啟時會出現
error : unknow filesystem
grub rescue>
的字樣,系統就是進不去。這表示你的grub2的配置檔案壞了……
由於分割槽調整或分割槽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所在分割槽:
(就是尋找你的Linux系統是裝在以上哪個分割槽裡)
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、重啟,搞定!!
注:我當時只是修改了1~3步驟,然後在選單欄就可以進入系統了,且一切正常。
可惜,在重啟時,系統就只有一個游標在左上角不停的閃,咋也進不了系統。後來開機按F2,開機啟動項改為硬碟啟動就好了。
很多時候,特別是在linux調整分割槽後,開機重啟時會出現
error : unknow filesystem
grub rescue>
的字樣,系統就是進不去。這表示你的grub2的配置檔案壞了……
由於分割槽調整或分割槽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所在分割槽:
(就是尋找你的Linux系統是裝在以上哪個分割槽裡)
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、重啟,搞定!!
注:我當時只是修改了1~3步驟,然後在選單欄就可以進入系統了,且一切正常。
可惜,在重啟時,系統就只有一個游標在左上角不停的閃,咋也進不了系統。後來開機按F2,開機啟動項改為硬碟啟動就好了。