GRUB引导故障排除 方法1: 有时Linux启动后会直接进入GRUB命令行界面(只有“grub>”提示符),此时很多用户就选择了重新安装GRUB甚至重新安装系统。其实一般而言此故障的原因最常见的有两个:一是GRUB配置文件中选项设置错误;二是GRUB配置文件丢失(还有少数原因,如内核文件或镜像文件损坏、丢失,/boot目录误删除等),如果是第一种情况,可以首先通过GRUB命令引导系统后修复;若是第二种情况,则要使用Linux救援模式修复了(本文后续有描述)。 首先,我们需要了解GRUB启动系统的引导过程,grub.conf文件中主要的配置选项如下(注意,GRUB配置文件为/boot/grub/grub.conf, /etc/grub.conf只是此文件的软链接): #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Red Hat Enterprise Linux (2.6.32-358.el6.i686) root (hd0,0) kernel/vmlinuz-2.6.32-358.el6.i686roroot=UUID=3eb0c7ea-31b0-460f-961a-414739c61207 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-358.el6.i686.img 其中“title”段指定了GRUB引导的系统;“root”段指定了/boot分区所在的位置;“kernel”段指定了内核文件所在位置,内核加载时权限属性为只读(“ro”)以及指定根分区所在位置(root=LABEL=/);initrd指定了镜像文件所在位置。所以GRUB在引导时顺序为首先加载/boot分区,然后依次载入内核与镜像文件。 案例:“Red Hat Enterprise Linux (2.6.32-358.el6.i686)”段被误删除 此时,系统启动后会自动进入“GRUB>”命令行,为排除故障我们可以依次做如下操作: 步骤如下: grub> root (hd0,0) grub>kernel/vmlinuz-2.6.32-358.el6.i686roroot=UUID=3eb0c7ea-31b0-460f-961a-414739c61207 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet grub>initrd /initramfs-2.6.32-358.el6.i686.img grub> boot grub>
|