在使用Linux的過程中,大多初學者都遇到過系統啟動到“grub>”提示符後就停止不前的問題,功夫不深的愛好者可能會束手無策,轉而選擇重裝系統,其實這只是系統出現了一點小問題,既系統的GRUB配置文件出現了故障,此時可以采用以下兩種方案來解決問題:
1)存在GRUB配置文件備份
如果存在GRUB配置文件備份,則可以比較簡單的進行恢復,可以按如下方法進行:
使用光盤引導機器,進入到“linux rescue”模式,即系統維護模式;在提示符”sh#”下執行cp命令,將備份文件拷貝到/boot/grub.conf即可
Sh#cp /backup/grub.conf.bak /mnt/sysimage/boot/grub/grub.conf
假設備份文件為/backup/grub.conf.bak,因為大多數Linux光盤修復模式中會將硬盤系統的”/”分區chroot到“/mnt/sysimage”處,所以拷貝的目標為“/mnt/sysimage/boot/grub/grub.conf”,而非“/boot/grub/grub.conf”。
完成後重新啟動即可。內核文件、鏡像文件、/boot目錄等文件損壞或丟失,也可以使用此種方法修復。
2)如果沒有GRUB配置文件備份
如果沒有備份文件時可以使用grub的交換功能,可以在”grub>”命令行下進行以下操作以手動啟動系統:
查找/boot/grub/grub.conf分區所在的目錄:
grub> find /boot/grub/grub.conf
(hd0,0)
需要注意的是,上述命令將得到的是grub.conf配置文件所在的系統的分區,(hd0,0)即表示它在分區hda1
查看grub.conf文件錯誤使用如下的命令:
grub> cat (hd0,0)/boot/grub/grub.conf
需要注意的是,可以查看配置文件到底什麼地方出現了錯誤,以便進入後修改。
指定/boot分區使用命令:root (hd0,0)
從此步驟開始,即為本文前面提到的GRUB配置文件的主要引導步驟,只是一般都是系統讀取GRUB配置文件,出現問題時我們可以使用手動啟動。
指定內核加載的命令:kernel /boot/vmlinuz ro root=LABEL=/
指定鏡像文件所在的位置可用如下命令:initrd /boot/initrd-2.6.24-1.3194.fc7
從/boot分區啟動可以使用如下命令:boot (hd0,0)
此時系統即可正常啟動,實際上以上步驟就是執行了GRUB引導期間加載grub.conf文件的步驟,當系統正常啟動後將GRUB配置文件修改正確後即可