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、重啟
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/112740.html
標籤:Linux
上一篇:常用LInux命令和操作
