如何使用QEMU模拟vmx功能?

时间:2016-08-25 21:15:56

标签: virtual-machine qemu hypervisor

我从here读取,必须通过向命令提供+ vmx选项显式启用QEMU上的vmx功能支持,但问题是它似乎不起作用。在我的系统中,仍未检测到VMX功能。

命令:

qemu-system-x86_64 -no-kvm -cpu qemu64,+vmx,-svm  ...

在我的客户操作系统中,当我执行cpuid 1时,我得到ECX = 0x80802001; bit 5 = 0表示我的虚拟CPU没有VMX。

这是一个错误吗?

或者是否有其他方法可以在QEMU中启用vmx功能?

2 个答案:

答案 0 :(得分:2)

以下命令适用于我:

qemu-system-x86_64 -cpu host -kernel kernel/kernel -serial stdio -enable-kvm

-cpu host使QEMU报告VM内的主机CPU功能(因此您的CPU必须支持vmx)

-enable-kvm

需要

-cpu host

即使根据this -cpu qemu64,+vmx应该有效,但它也不适用于我。

答案 1 :(得分:0)

否,QEMU的处理器仿真模式不支持vmx标志。为了在QEMU中使用vmx,必须将KVM与QEMU一起使用(将-no-kvm替换为-enable-kvm);并且您的主机处理器必须支持vmx

this document中,它显示了Linux KVM中对嵌套vmx指令的支持;意味着此功能必须与-enable-kvm一起使用。

在我的测试中,选项-enable-kvm -cpu kvm64,+vmx起作用,因为在来宾操作系统中检测到vmx功能。