Linux环境下如何修复GRUB引导故障

  • 引起GRUB故障的原因:

          MBR中的GRUB程序遭到破坏

          grub.conf文件丢失,引导配置有误

  • 故障现象

          系统引导停滞,显示“grub>”提示符

  • 解决思路:

          尝试手动输入引导命令

          进入急救模式,从备份文件中恢复grub.conf

修复GRUB引导故障

(1)查看系统中的grub.conf配置文件

Linux环境下如何修复GRUB引导故障

Linux环境下如何修复GRUB引导故障

(注:建议保存红色圈内的内容,title…initrd…,因为修复时方法二需要手动输入如上内容)

此次实验是为了模拟修复GRUB引导故障,所以我们需要先将grub.conf进行备份,在破坏grub.conf文件,尝试进行修复;

(2)备份grub.conf文件(建议备份到第2块磁盘中)

   mkdir  /sdb1

   mount  /dev/sdb1  /sdb1

   cp  /boot/grub/grub.conf  /sdb1/grub.conf.bak  

Linux环境下如何修复GRUB引导故障

(3)模拟破环grub.conf文件

rm  -rf  /boot/grub/grub.conf

Linux环境下如何修复GRUB引导故障

(4)进行修复的方式主要有两种:

     进入急救模式,从备份中恢复grub.conf

     尝试手动输入引导命令

方法一:进入急救模式,从备份中恢复grub.conf

Linux环境下如何修复GRUB引导故障

Linux环境下如何修复GRUB引导故障

Linux环境下如何修复GRUB引导故障

RHEL6.5光盘引导,进入急救模式(第3项)

Linux环境下如何修复GRUB引导故障

Linux环境下如何修复GRUB引导故障

Linux环境下如何修复GRUB引导故障

Linux环境下如何修复GRUB引导故障

Linux环境下如何修复GRUB引导故障

Linux环境下如何修复GRUB引导故障

Linux环境下如何修复GRUB引导故障

从备份文件中恢复grub.conf文件

fdisk  -l  (可看到sda、sdb设备)

Linux环境下如何修复GRUB引导故障

mkdir /sdb1(在急救模式下的虚拟磁盘中建立sdb1分区的挂载点目录)

mkdir  /sda1(创建sda1分区的挂载点目录)

mount  /dev/sdb1  /sdb1

mount  /dev/sda1  /sda1

cp  /sdb1/grub.conf.bak  /sda1/grub/grub.conf

Linux环境下如何修复GRUB引导故障

Linux环境下如何修复GRUB引导故障

Linux环境下如何修复GRUB引导故障

登录系统后,可以发现grub.conf已经存在在/boot/grub目录中,GRUB引导故障已经成功修复;

Linux环境下如何修复GRUB引导故障

方法二:尝试手动输入引导命令

    grub> root  (hd0,0)(指定引导分区/boot,(hd0,0) 对应为 /dev/sda1)

    grub> kernel  /vmlinuz... ro root=/dev/... rhgb quiet(指定内核文件所在的路径、根分区所在的设备位置)

    grub> initrd  /initrd-...(指定引导过程中使用的缓存盘镜像文件位置)

    grub> boot(启动进入系统)

Linux环境下如何修复GRUB引导故障

进入系统后:从备份文件中恢复grub.conf文件

mkdir /backup

cp  /backup/grub.conf.bak  /boot/grub/grub.conf

Linux环境下如何修复GRUB引导故障