重建ubuntu的grub開機引導


pc開機時,在進入系統之前,要先進入的磁盤里安裝了grub開機引導的區域,如果是單系統一般不會有問題,但若是多系統像win+ubuntu或者ubuntu+ubuntu等,有時會出現grub引導程序損壞,或者其主引導所依賴的邏輯順序不是你想要的

這里舉個極端一些的栗子:一開始在本地磁盤安裝了win+ubuntu,grub主引導依賴於本地的ubuntu,然后你有一塊移動硬盤,有一天心血來潮想在上面也庄一個ubuntu系統,安裝ing..-裝好了-正常開機-大功告成!

看起來好像沒問題,但是當你拔下硬盤重新啟動,系統告訴你:

error : unknow filesystem

grub rescue>

系統告訴你grub2配置文件易損壞,進不去原來裝在本地的系統,只能停留在修復模式(grub rescue)

這是因為在移動硬盤安裝ubuntu時,它順便也覆蓋了原來的grub引導,此時的邏輯主引導系統變成了移動硬盤上面那個

此時需要做一件事,將本地ubuntu的引導重新變為主引導

在救援模式下只有很少的命令可以用: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系統是裝在以上哪個分區里)

ls (hd0,msdos1)/

​ 若出現unknown filesystem字樣,則嘗試下一個

​ ……

​ 若出現的是你的ubuntu主文件夾下的文件夾和文件的名字,那就是的要找的分區了。
​ 3、修改啟動分區: (假如你找到的啟動分區是hd0,msdos8)
grub rescue>set root=hd0,msdos8 //假設之前在(hd0,msdos8)下找到了正確的文件夾
grub rescue>set prefix=(hd0,msdos8)/boot/grub /grub路徑設置
grub rescue>insmod normal //啟動normal啟動
grub rescue>normal

​ 之后你就會看到熟悉的啟動菜單欄了

 4、進入ubuntu修復grub
     在終端里運行     

sudo update-grub
sudo grub-install /dev/sda
​ 5、重啟


免責聲明!

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



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