1. 程式人生 > >怎樣修復grub開機引導

怎樣修復grub開機引導

很多時候,特別是在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,msdos10) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (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步驟,然後在選單欄就可以進入系統了,且一切正常。