教你一招超級簡單的方法快速搞定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鍵,如果出來內容,說明選擇對了;如果不對,再繼續嘗試。
本文出自 “UNIX/Linux Discovery” 部落格,請務必保留此出處http://dreamfire.blog.51cto.com/418026/1076824
補全了核心檔案之後,還需要在後面設定核心載入許可權為唯讀 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檔案。
本文出自 “UNIX/Linux Discovery” 部落格,請務必保留此出處http://dreamfire.blog.51cto.com/418026/1076824
第五行開始寫kernel檔案,通過一些特殊命令協助你寫完kernel檔案。在vim尋找模式下輸入.! 命令可以將結果追加到文檔後面。
#blkid /dev/sda4 顯示分區的UUID資訊
下面就寫好了grub.conf的配置文檔
重啟系統,看是否能進入系統
進入成功。
二、系統/boot/grub/grub.conf損壞
修改grub.conf檔案,製作檔案損壞,然後重啟,會發現電腦出現黑屏。
重啟啟動,按任意鍵進入GRUB模式。按e進入編輯
尋找出錯誤,並進行修改後,按b 重啟啟動
由於在GRUB模式更改的內容只是臨時寫入記憶體,並沒有寫到grub.conf設定檔中,進入系統後,需要將設定檔修改正確。然後系統就進入正常模式。
本文出自 “UNIX/Linux Discovery” 部落格,請務必保留此出處http://dreamfire.blog.51cto.com/418026/1076824
總結:整個實驗其實很簡單,只需要記住幾個主要的關鍵詞即可,其他都是通過Tab補全模式進行的。當然如果你有安裝光碟片,也可以通過急救模式進行修複。
本文出自 “小諾的Linux開源技術部落格” 部落格,請務必保留此出處http://dreamfire.blog.51cto.com/418026/1076824