centos 7 GRUB2 修复
linux 7的grub2目录 /boot/grub2, 用来加载kernel,提取initramfs镜像中的FS和硬件驱动。如果损坏了,就无法引导系统。这里我们来讨论下,grub2目录丢失和grub.cfg文件丢失的情况,处理方法不一样,注意区分。
grub2目录丢失
手工删除grub2目录
# rm -rf /boot/grub2/
然后重启,之后进入了grub rescue>模式,但是不能识别命令,还是要进救援模式:
进入救援模式,需要挂盘
切换到根目录
# chroot /mnt/sysimage
相当于直接把系统盘挂载到根目录,而不是之前的/mnt/sysimage
使用grub2-install命令修复grub
查看一下是否修复
修复grub配置文件
此时/boot/grub2下已生成grub.cfg文件。
退出exit并重启系统,看看是否正常。
grub.cfg配置文件丢失
删除grub.cfg
# rm -rf /boot/grub2/grub.cfg
然后重启系统,会进入grub命令行,并不能进入系统
手动引导进入系统
引导步骤
grub> insmod xfs
查看所有磁盘分区信息
grub> ls
(hd0),(hd0,msdos1),(hd0,msdos2)
设置分区
grub> set root=(hd0,msdos1) (----> 这个为你上一步中找到的boot分区)
设置内核文件
grub> linux16 /vmlinuz-xxxxx root=/dev/mapper/centos-root
设置initramfs镜像
grub> initrd16 /initramfs-.xxxxx.img
grub> boot
xxxxx为系统版本os,例如 3.10.0-1062.el7.x86_64
如果没问题,则这个时候系统会正常启动。
修复grub.cfg
进入系统,发现grub.cfg还是没有。接下来我们创建一个
# grub2-mkconfig -o /boot/grub2/grub.cfg
操作完成之后,重启确认。
至此,修复GRUB2完成。
请先 后发表评论~