小编给大家分享一下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分区,然后依次载入内核与镜像文件。
案例
此时,系统启动后会自动进入“GRUB>”命令行,为排除故障我们可以依次做如下操作:
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系统引导知识的了解将对此类故障排除大有帮助。
以上是“linux中GRUB引导故障排除的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!