教你一招超級簡單的方法快速搞定grub.conf文件的丟失及損壞
實驗環境:
GRUB是大多數Linux系統默認使用的引導程序,當“/boot/grub/grub.conf”配置文件丟失或者關鍵配置出現錯誤,或者MBR記錄中的引導程序遭到破壞時,Linux主機啟動可能會出現”grub>”的提示符,無法完成系統其它,如何修復系統
實驗原理:
實驗模擬:
一、系統/boot/grub/grub.conf文件丟失。
以下是正常的grub.conf配置文件,可以先參考下。
實驗之前,先將grub.conf備份一份,以防出錯。備份好之後,刪除grub.conf文件,模擬文件丟失。
系統重啟後,進入grub>模式
接下來開始恢復grub.conf信息,不過以下操作都是臨時寫入內存的,不會保存到/boot/grub/grub.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]
出現以下信息,說明選擇的根分區不對,關閉電源繼續。
關閉電源後,再開機,由於剛才寫的內容都是暫時寫入內存的,所以還需要重新寫一遍。
最後一行輸入啟動內核所使用的臨時系統鏡像文件所在的位置,也是 先輸入initrd /in 然後通過Tab補全即可,無需記憶。以下兩種寫法都可以。
重啟後,正常進入系統。
如果在你沒有grub.conf文件的情況下,只能通過手工編寫grub.conf文件,防止下次重啟再次進入grub>模式。
以下是默認的四行,必須寫清楚,具體什麼意思,參考man grub.conf文件。
第五行開始寫kernel文件,通過一些特殊命令協助你寫完kernel文件。在vim查找模式下輸入.! 命令可以將結果追加到文檔後面。
#blkid /dev/sda4 顯示分區的UUID信息