在VMware guests中,若使用EFI作为启动方式,有时会遇到Grub2引导加载程序启动后直接进入shell的情况。这通常是由于连接的存储与VMware EFI实现的默认设置不兼容所致。以下是对此问题的详细解析及识别要点。
问题概述
当VMware guests的存储布局与EFI的默认设置不匹配时,Grub2引导加载程序可能无法正确加载操作系统,而是进入shell。这种情况可能表现为/boot文件系统分布在两个或多个不同的虚拟磁盘上。
问题表现
在启动具有上述存储布局的系统时,guests能够成功启动Grub2引导加载程序,但随后会在grub shell处停止。这个shell可能是标准的grub提示,也可能是grub救援提示,具体取决于问题的具体情况。
grub> # 或者 grub rescue>
在grub shell中运行ls命令时,可能只显示一个磁盘。尽管可能会看到与该磁盘对应的其他映射卷(如LVM卷),但如果/boot位于与ESP不同的磁盘上,则可能无法在ls输出中看到/boot所在的卷。
grub> ls (hd0) (hd0,gpt2) (hd0,gpt1) (lvm/system-root) (lvm/system-swap)
如果/boot分布在多个磁盘上,则尝试列出/boot的内容将失败。
grub> ls (lvm/system-root)/boot/ error: ../../grub-core/kern/disk.c:237:disk `lvm/system-root' not found.
解决方案
为了解决这个问题,可以在VM的高级配置中添加以下参数:
原创文章,作者:保哥,如若转载,请注明出处:https://www.shizhanxia.com/2047.html