Gle*_*len 5 virtualization hyper-v virtual-machine linux-kvm libvirt
请参阅下面的更新,了解我发现的有关此问题的更一般性质的内容。
我有一个运行 OVMF 固件的 Windows VM,带有 VFIO 直通功能,用于在 Arch Linux 主机上运行的显卡。我正在尝试在所述 VM 中启用 Windows Sandbox。Microsoft 文档表明在 L1 VM 中运行 Sandbox 应该是可能的,尽管他们的文档是为 Hyper-V 管理程序编写的。
当我在我的 VM 中启用 Windows Sandbox 并作为其安装过程的一部分重新启动时,VM 在启动过程中大约半秒失败。它会这样做两次,然后尝试启动修复。这是一个显示发生了什么的视频(对质量表示歉意)。该视频结束后,自动修复告诉我我的电脑无法正常启动。
如果我从那个环境进入恢复命令行并运行dism /image:D:\ /disable-feature /featurename:containers-disposableclientvm(即禁用 Windows Sandbox),我就可以很好地启动到我的系统中。在我的系统上,此问题始终可重现。
文档表明,如果计算机配置不支持 Windows 沙盒,则它不会成为 Windows 功能对话框中的启用选项,并且如果我设置了主机内核参数,kvm_intel.nested=0它确实会变灰。
此问题最初出现在 Windows 10 Pro 版本 1909 上,但更新到版本 2004(内部版本 19041.388)后问题仍然存在。
那么,我的问题是:我怎样才能得到错误消息而不是无消息崩溃,和/或我怎样才能让它不崩溃?我发现在没有错误消息或有用的日志条目的情况下很难在这种情况下进行谷歌搜索,而且我不知道从哪里开始。
我尝试过的事情:
cpu 标记配置变体,都无济于事(请参阅下面链接的 libvirt 域 XML 文件):
mode='host-passthrough' check='partial' migratable='on'mode='host-passthrough' check='partial' migratable='off'mode='host-model' check='partialdomain/os/type[machine]XML 中的属性,将一些 PCI 控制器更改为 PCIe 控制器,并添加了一些 PCIe 控制器而没有其他调整。配置:
主持人uname -a:Linux myhostnamehere 5.7.9-arch1-1 #1 SMP PREEMPT Thu, 16 Jul 2020 19:34:49 +0000 x86_64 GNU/Linux
libvirt 域配置:Pastebin。我已经编辑了一些 ID,但这是逐字逐句的。
当这些崩溃发生时,主机 dmesg 中不会出现任何有趣的内容。
Qemu 版本 5.0.0-7,libvirt 版本 6.5.0-1。(这些是包管理器版本标签。)
来宾:Windows 2004 版(操作系统内部版本 19041.450),专业版
更新:
(在上面的配置部分添加了来宾操作系统版本。)
我已经尝试了以下额外的事情,并相应地更新了问题标签和标题。
Microsoft-Hyper-V-AllVirtualMachinePlatformHypervisorPlatform 无需重新启动即可成功安装,但一旦重新启动就会产生故障症状。ContainersWindows功能可以在不剧。bcdedit /set hypervisorlaunchtype Auto(Containers启用,不管它的价值)会导致与上述相同的崩溃症状,删除该条目可以修复它,就像使用 Windows 功能一样。bcdedit /set hypervisorlaunchtype Off(在重新启动之前或在重新启动恢复期间启用上述任何有问题的功能)可避免崩溃,但会阻止我使用 Windows Sandbox 等虚拟化功能(“未找到管理程序”错误)。kvm_intel.pml(默认为 yes)设置为 no 没有效果,问题依然存在。(一些在线帖子引用了与此参数相关的旧问题,该问题应该已修复。无论如何,此调整对我没有帮助。)基于此,我有信心将问题总结为:尽管具有嵌套的虚拟化硬件和主机内核功能,但我主机上的 Windows 来宾本身无法运行管理程序。我的硬件和主机支持嵌套虚拟化,Windows 参考支持 Hyper-V 环境中的嵌套虚拟化。在我的非 Hyper-V 环境中,我需要做什么才能让它工作,或者找出为什么它不工作的错误?
| 归档时间: |
|
| 查看次数: |
557 次 |
| 最近记录: |