我需要按照如下方式在 libvirt 中设置 CPU EDX 寄存器:https://support.microsoft.com/en-gb/help/2902739/stop-error-0x109-critical-structure-corruption-on-a-vmware-virtual-mac但是我找不到 libvirt vm xml 或文件中的选项/usr/share/libvirt/cpu_map.xml
任何帮助都将受到赞赏。
答案1
即使您看到相同的蓝屏错误消息,我也非常怀疑 WRT VMWare 中描述的修复是否适用于 KVM。支持文章正在讨论特定版本的 VMWare 中的特定错误,而 KVM 中不太可能存在该错误。更有可能的是,存在导致相同最终结果的其他问题。
尽管如此,如果你真的想尝试一下,IIUC,VMware 值----:0---:----:----:----:----:----:----
似乎是 EDX 寄存器值的二进制字符串。这对应于十六进制代码0x8000000
。根据 libvirt CPU ID 映射数据库,这应该是指 rdtscp 功能
<feature name='rdtscp'>
<cpuid eax_in='0x80000001' edx='0x08000000'/>
</feature>
是否为客户机启用此功能取决于<cpu>
客户机 XML 中是否配置了任何型号。假设您确实配置了 CPU 型号,您可以按如下方式禁用此功能:
<cpu>
...
<feature name="rdtscp" policy="disable"/>
...
</cpu>