1.装入光盘,在光盘引导界面选择troubleshooting:
启动以后发现进入了
dracut:/#界面
其实是u盘没找到。所以ls /dev/| grep sdb
就会找到u盘位置。我这里显示的是sdb、sdb4。也就是说sdb4是u盘。
2.重新选择troubleshooting:
按e编辑
把vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64.check quiet
改为 vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdb4 quiet
一共有两条。
Ctrl+x保存运行。然后进入Rescue界面:
-
continue 以rw方式挂载分区。
-
read only 以ro方式挂载分区。
-
skip to shell 跳过,将来自己手工挂载磁盘。
-
Quit 重启
选择1回车
要求运行chroot /mnt/sysimage
然后再运行修复命令:
/sbin/grub2-install /dev/sda
一般就好了。如果出现:
/usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory
手动去/usr/lib/grub目录下发现的确没有x86_64-efi这个目录
使用Ctrl+D退出chroot的环境重新进入rescure的bash,然后使用cp命令将/usr/lib/grub/x86_64-efi/下的所有文件拷贝到/mnt/sysimage/usr/lib/grub/x86_64-efi/
# cp -R /usr/lib/grub/x86_64-efi/* /mnt/sysimage/usr/lib/grub/x86_64-efi/
然后使用chroot切换到/mnt/sysimage环境,继续运行
# grub2-install /dev/sdb1,即可成功安装grub2
然后我们还需要重新生成配置文件:
# grub2-mkconfig -o /boot/grub2/grub.cfg
为了保险起见我重新运行了一次
# grub2-install /dev/sdb1
重起之后即可正常引导进入Linux系统