虚拟机无法在 Arch Linux 主机上启动

虚拟机无法在 Arch Linux 主机上启动

这是一个困扰我几个星期的问题。我有一个运行 Linux Surface 内核的 Arch Linux 系统(https://github.com/linux-surface/linux-surface)。当我尝试使用 qemu 和 kvm 在 vi​​rt-manager 中创建 Windows 11 虚拟机时,我第一次真正注意到这个问题。我相当确定我正确配置了安全启动、TPM 等。我设法达到了 win11 旋转图标出现的地步...然后虚拟机无缘无故崩溃了。

我还尝试通过分区来启动 Tails USB 记忆棒,并尝试制作一个仅使用 archiso 作为可启动设备的无盘虚拟机,作为最后的努力。在这两种情况下,尽管在设置的启动顺序菜单中勾选了存储设备,但它只会拒绝识别存储设备是可启动的。然后我还使用运行 archiso 的无盘虚拟机尝试了 Virtualbox,它只是说启动失败,并询问我是否想尝试其他介质。再次,我相当确定我已经安装并启用了虚拟化所需的一切,因为虚拟机已成功进入 UEFI 屏幕,只是无法启动操作系统。

如果有人想查看某个命令的输出或其他一些日志文件,我可以将其发布在这里。我对虚拟机不太有经验,我不知道应该尝试什么。

谢谢您的帮助 :)

编辑:自从我发布这篇文章以来,我已经转移到 Artix Linux(基本上是 arch,但没有 systemd)。我按照答案之一中给出的说明安装了一些安全启动相关的东西,并且 artix install iso 和 Windows 10 iso 都成功启动。但是当我尝试启动 iso 时,win11 仍然崩溃。我会尝试从win10升级到11看看是否可行。

答案1

问题

默认情况下,QEMU 不支持 UEFI。它通常仅启动传统 BIOS。看:OVMF Github

解决方案

我相信你需要安装封装:edk2-ovmf 202311-1通过pacman并重试。我会在此处链接来自 ArchWiki 的教程,但我能找到的唯一教程与显卡的 PCI 直通相关,该教程假设您已经运行了 VM。

答案2

我修好了它。解决方案是...等等...不要将 RAM 的全部容量分配给虚拟机!我怀疑内核在内存不足时杀死了 QEMU,因此它会崩溃。当我给它更少的内存时,win11安装介质就会启动。

相关内容