【问题标题】:How do I emulate the vmx feature with QEMU?如何使用 QEMU 模拟 vmx 功能?
【发布时间】:2016-08-25 21:15:55
【问题描述】:

我从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 功能吗?

【问题讨论】:

    标签: virtual-machine qemu hypervisor


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案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 应该可以工作,但它对我也不起作用。

      【讨论】:

        猜你喜欢
        • 2016-12-14
        • 2014-04-30
        • 2018-08-07
        • 2020-11-23
        • 2019-09-18
        • 2015-06-06
        • 2021-04-29
        • 2018-08-05
        • 2012-12-01
        相关资源
        最近更新 更多