Linux之grub引導詳情與故障排除

 GRUB引導故障排除


  有時Linux啓動後會直接進入GRUB命令行界面(只有“grub>”提示符),此時很多用戶就選擇了重新安裝GRUB甚至重新安裝系統。其實一般而言此故障的原因最常見的有兩個:一是GRUB配置文件中選項設置錯誤;二是GRUB配置文件丟失(還有少數原因,如內核文件或鏡像文件損壞、丟失,/boot目錄誤刪除等),如果是第一種情況,可以首先通過GRUB命令引導系統後修復;若是第二種情況,則要使用Linux救援模式修復了(本文後續有描述)。


  首先,我們需要了解GRUB啓動系統的引導過程,grub.conf文件中主要的配置選項如下(注意,GRUB配置文件爲/boot/grub/grub.conf, /etc/grub.conf只是此文件的軟鏈接):


  title Fedora Core (2.6.18-1.2798.fc6)

   root (hd0,0)

  kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet initrd /boot/initrd-2.6.18-1.2798.fc6.img


  其中“title”段指定了GRUB引導的系統:“root”段指定了/boot分區所在的位置:“kernel”段指定了內核文件所在位置,內核加載時權限屬性爲只讀(“ro”)以及指定根分區所在位置(root=LABEL=/);initrd指定了鏡像文件所在位置。所以GRUB在引導時順序爲首先加載/boot分區,然後依次載入內核與鏡像文件。


  案例:“title Fedora Core (2.6.18-1.2798.fc6)”段被誤刪除


  此時,系統啓動後會自動進入“GRUB>”命令行,爲排除故障我們可以依次做如下操作:


  1、查找/boot/grub/grub.conf文件所在分區GRUB> find /boot/grub/grub.conf(hd0,0)


  2、查看grub.conf文件錯誤GRUB>cat (hd0,0)/boot/grub/grub.conf建議系統安裝設置好後,要將grub.conf文件備份,如果有備份文件如grub.conf.bak,則此時可以查看備份文件,與當前文件比較,發現錯誤:GRUB>cat (hd0,0)/boot/grub/grub.conf.bak


  3、確認錯誤後,先通過命令行方式完成GRUB引導,進入系統後再行修復grub.conf文件錯誤:1)指定/boot分區root (hd0,0)


  2)指定內核加載kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet 3)指定鏡像文件所在位置initrd /boot/initrd-2.6.18-1.2798.fc6.img

    提示:GRUB支持tab鍵命令補全功能


  4、從/boot分區啓動boot (hd0,0)

命令行模式可以在GRUB菜單模式中通過按“c”鍵調用,也可以用於測試新編譯的內核(設置kernel、initrd引導新內核及鏡像文件)。增加對GRUB引導以及Linux系統引導知識的瞭解將對此類故障排除大有幫助。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章