Linux技能:GRUB引導(dǎo)故障排除
2024-08-28 00:17:29
供稿:網(wǎng)友
有時(shí)Linux啟動(dòng)后會(huì)直接進(jìn)入GRUB命令行界面(只有“grub>”提示符),此時(shí)很多用戶就選擇了重新安裝GRUB甚至重新安裝系統(tǒng)。其實(shí)一般而言此故障的原因最常見的有兩個(gè):一是GRUB配置文件中選項(xiàng)設(shè)置錯(cuò)誤;二是GRUB配置文件丟失(還有少數(shù)原因,如內(nèi)核文件或鏡像文件損壞、丟失,/boot目錄誤刪除等),如果是第一種情況,可以首先通過GRUB命令引導(dǎo)系統(tǒng)后修復(fù);若是第二種情況,則要使用Linux救援模式修復(fù)了(本文后續(xù)有描述)。
首先,我們需要了解GRUB啟動(dòng)系統(tǒng)的引導(dǎo)過程,grub.conf文件中主要的配置選項(xiàng)如下(注意,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引導(dǎo)的系統(tǒng);“root”段指定了/boot分區(qū)所在的位置;“kernel”段指定了內(nèi)核文件所在位置,內(nèi)核加載時(shí)權(quán)限屬性為只讀(“ro”)以及指定根分區(qū)所在位置(root=LABEL=/);initrd指定了鏡像文件所在位置。所以GRUB在引導(dǎo)時(shí)順序?yàn)槭紫燃虞d/boot分區(qū),然后依次載入內(nèi)核與鏡像文件。
案例:“title Fedora Core (2.6.18-1.2798.fc6)”段被誤刪除
此時(shí),系統(tǒng)啟動(dòng)后會(huì)自動(dòng)進(jìn)入“GRUB>”命令行,為排除故障我們可以依次做如下操作:
1、查找/boot/grub/grub.conf文件所在分區(qū)
GRUB> find /boot/grub/grub.conf
(hd0,0)
2、查看grub.conf文件錯(cuò)誤
GRUB>cat (hd0,0)/boot/grub/grub.conf
建議系統(tǒng)安裝設(shè)置好后,要將grub.conf文件備份,如果有備份文件如grub.conf.bak,則此時(shí)可以查看備份文件,與當(dāng)前文件比較,發(fā)現(xiàn)錯(cuò)誤:
GRUB>cat (hd0,0)/boot/grub/grub.conf.bak
3、確認(rèn)錯(cuò)誤后,先通過命令行方式完成GRUB引導(dǎo),進(jìn)入系統(tǒng)后再行修復(fù)grub.conf文件錯(cuò)誤:
1)指定/boot分區(qū)
root (hd0,0)
2)指定內(nèi)核加載
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鍵命令補(bǔ)全功能
4、從/boot分區(qū)啟動(dòng)
boot (hd0,0)
命令行模式可以在GRUB菜單模式中通過按“c”鍵調(diào)用,也可以用于測試新編譯的內(nèi)核(設(shè)置kernel、initrd引導(dǎo)新內(nèi)核及鏡像文件)。增加對GRUB引導(dǎo)以及Linux系統(tǒng)引導(dǎo)知識(shí)的了解將對此類故障排除大有幫助。