實驗環境:


GRUB是大多數Linux系統默認使用的引導程序,當“/boot/grub/grub.conf”配置文件丟失或者關鍵配置出現錯誤,或者MBR記錄中的引導程序遭到破壞時,Linux主機啟動可能會出現”grub>”的提示符,無法完成系統其它,如何修復系統
實驗原理:
實驗模擬:
一、系統/boot/grub/grub.conf文件丟失。
以下是正常的grub.conf配置文件,可以先參考下。

實驗之前,先將grub.conf備份一份,以防出錯。備份好之後,刪除grub.conf文件,模擬文件丟失。

系統重啟後,進入grub>模式 顯示不能進入系統 groub.conf丟失

恢復操作方法:手動寫配置文件
假如你不知道包含內核等引導文件的/boot分區所在的位置,可通過嘗試進行,先輸入”root (hd0,”然後按Tab鍵,其中後面寫0X83的都是分區都有可能是/root分區,(0X82 是swap分區,就不用試了)
輸入完成之後回車,接下來輸入 kernel /vm 按Tab鍵,如果出來內容,說明選擇對了;如果不對,再繼續嘗試。

補全了內核文件之後,還需要在後面設置內核加載權限為只讀 ro,並通過“root=”指定根分區設備文件的位置。至於什麼位置,只能一個一個試了。目前(hd0,0)、(hd0,2)都被使用了。剩下(hd0,1)和(hd0,3)[備注:(hd0,1)=/dev/sda2 (hd0,3)=/dev/sda4],通過上面的df-h 查看到分區的掛載情況,root分區對應的是/dev/sda4分區

出現以下顯示根分區錯誤信息,說明選擇的根分區不對,關閉電源繼續。

關閉電源後,再開機,由於剛才寫的內容都是暫時寫入內存的,所以還需要重新寫一遍。
最後一行輸入啟動內核所使用的臨時系統鏡像文件所在的位置,也是 先輸入initrd /in 然後通過Tab補全即可,無需記憶。以下兩種寫法都可以。


重啟後,正常進入系統。

如果在你沒有grub.conf文件的情況下,只能通過手工編寫grub.conf文件,防止下次重啟再次進入grub>模式。

以下是默認的四行,必須寫清楚,具體什麼意思,參考man grub.conf文件。

第五行開始寫kernel文件,通過一些特殊命令協助你寫完kernel文件。在vim查找模式下輸入.! 命令可以將結果追加到文檔後面。

#blkid /dev/sda4 顯示分區的UUID信息



下面就寫好了grub.conf的配置文檔


重啟系統,看是否能進入系統

進入成功。

二、系統/boot/grub/grub.conf損壞
修改grub.conf文件,制作文件損壞,然後重啟,會發現電腦出現黑屏。


重啟啟動,按任意鍵進入GRUB模式。按e進入編輯

查找出錯誤,並進行修改後,按b 重啟啟動



由於在GRUB模式更改的內容只是臨時寫入內存,並沒有寫到grub.conf配置文件中,進入系統後,需要將配置文件修改正確。然後系統就進入正常模式。

總結:整個實驗其實很簡單,只需要記住幾個主要的關鍵詞即可,其他都是通過Tab補全模式進行的。當然如果你有安裝光盤,也可以通過急救模式進行修復