1. 程式人生 > >Linux系統中修復GRUB引導故障手動引導進入作業系統

Linux系統中修復GRUB引導故障手動引導進入作業系統

         GRUB是大多數Linux系統預設使用的載入程式,可以通過啟動選單的方式選擇進入不同的作業系統(如果有的話)。當“/boot/grub/grub.conf”配置檔案丟失,或者關鍵配置出現錯誤,或者MBR記錄中的載入程式遭到破壞時,Linux主機啟動後可能只會出現“grub>”的提示符,無法完成進一步的系統啟動過程。如圖所示:


方法一:通過在“grub>”環境中手動輸入引導命令啟動Linux系統
           出現上圖的原因是grub.conf檔案被修改過了,GRUB找不到啟動檔案了,所以需要手動敲進去。

          第一步:執行root(hd0,0)   (這是/boot所在的分割槽)   //指定在啟動選單中顯示的作業系統名稱


         第二步:執行kernel/vmlinuz-2.6.18-274.e15 ro root=LABEL=/ rhgb quiet (用來指定linux核心) //指定核心檔案所在的位置,核心載入時許可權為只讀“ro”,並通過“root=”指定根分割槽裝置檔案的位置。(注意:vm後面最好用Tab鍵補齊)


         第三步:執行initrd /initrd-2.6.18-274.e15.img (用來指定initrd檔案) //指定啟動核心所使用的臨時系統映象檔案所在的位置。(注意:initrd後面最好用Tab鍵補齊)


         第四步:執行boot   //啟動Linux系統


         之後進入啟動狀態,出現紅色的“RedHat”表示核心載入成功。


        啟動成功,可以正常使用了,以上命令vi/boot/grub/grub.conf配置到檔案裡,下次就可以順利啟動了。



    方法二:通過急救模式
    把系統光碟放入光碟機,重啟Linux系統。系統啟動時按“F2”鍵,在“boot:”提示符下輸入“linuxrescue”後“回車”,進入“急救模式”引導光碟中的Linux系統。之後依次按回車鍵接收預設的語言、鍵盤格式,提示是否配置網絡卡是一般選擇“NO”,然後系統會自動查詢硬碟中的Linux分割槽並嘗試將其掛載到“/mnt/sysimage”目錄(選擇“Continue”確認並繼續)。接下來需要特別注意:當出現是否初始化磁碟的警告視窗時,一定要選擇“NO”,以免對硬碟資料造成進一步損壞。最後選擇“OK”確認後將進入到帶“sh-3.1#”提示符的Bash Shell環境。
   1.如果MBR扇區載入程式沒有被損壞,確認待修復的Linux系統分割槽的掛載情況,並重修grub.conf檔案。命令如下:
    sh-3.1#chroot/mnt/sysimage //切換到待修復的Linux系統根環境
    sh-3.1#mount
    sh-3.1#vi/boot/grub/grub.conf //重建grub.conf檔案,下面內容僅供參考
    sh-3.1#exit//退出chroot環境
    sh-3.1#exit//退出shsh-3.1環境,系統會自動重啟
   2.如果MBR扇區載入程式被損壞,即使重建grub.conf配置檔案後仍然無法啟動系統。這時可以在急救模式的shell環境中重新安裝grub。命令如下:
    sh-3.1#chroot/mnt/sysimage //切換到待修復的Linux系統根環境
    sh-3.1#grub-install/dev/hda // 重灌grub
    sh-3.1#exit//退出chroot環境
    sh-3.1#exit//退出shsh-3.1環境,系統會自動重啟