从 Centos 8 升级到 Oracle Linux 8 后,VM 无法启动并显示 Grub Rescue。我检查了 Hyper-V 设置,发现有两个 efi 固件。
无论我选择哪一个,都会显示 Grub Rescue 菜单。在重新启动之前,我检查了路径,centos 路径不包含 shimx64.efi 文件,而 redhat 包含。更新之前,shimx64.efi 位于 /boot/efi/EFI/centos/ 目录中,更新并重新启动后位于 /boot/efi/EFI/redhat/ 目录中。
我通过禁用 yum.conf 中的以下软件包将操作系统完整更新到 OL8
exclude=grub2* shim-x64* kernel*
但这是次优解决方案。
更新排除的软件包后如何启动系统?
答案1
/boot/efi/EFI/centos
检查了和的内容后
/boot/efi/EFI/redhat
,我注意到grub.cfg
redhat 目录中缺少。
从centos目录复制并运行后,grub2-mkconfig
VM成功启动。
/boot/efi/EFI/centos
目录被删除并且系统启动没有受到影响,尽管在虚拟机管理程序中我仍然可以看到两个 shimx64.efi 文件。