怎樣修復grub開機引導(grub rescue)


很多時候,特別是在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,開機啟動項改為硬盤啟動就好了。






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM