我正在尝试一个微服务演示,使用 Vagrant 启动虚拟机并将软件部署到已启动的机器。
因为演示是为 Linux 设置的,而我使用的是 Windows(8.1 Pro),所以我在桌面上的 VirtualBox 容器中运行演示,我使用的是最新 Ubuntu 桌面 - V15.04
Vagrant 给出错误,经过调查,我发现我的 Ubuntu 实例中的 VirtualBox 没有启动。我从虚拟机中的 VirtualBox GUI 收到的错误消息是“VERR_VMX_NO_VMX”,即它抱怨虚拟化不可用。
我已经验证我的主机确实具有能够虚拟化的 CPU,并且它已在我的 BIOS 中启用。
我还检查了 Virtualbox 文件并且它已启用虚拟化:
<Hardware version="2">
<CPU count="1" hotplug="false">
<HardwareVirtEx enabled="true"/>
<HardwareVirtExNestedPaging enabled="true"/>
<HardwareVirtExVPID enabled="true"/>
<HardwareVirtExUX enabled="true"/>
<PAE enabled="false"/>
<LongMode enabled="true"/>
<HardwareVirtExLargePages enabled="true"/>
<HardwareVirtForce enabled="false"/>
</CPU>
我的问题:我该怎么做才能让我的客户机 Ubuntu 中的 VirtualBox 正常工作??
答案1
您所要求的功能称为嵌套虚拟化。不幸的是,Virtualbox 目前不支持此功能。您可以关注 Virtualbox 票证上的功能请求这里。
您正在查看的“HardwareVirtEx*”配置指的是顶层 Virtualbox 安装以及它是否可以使用 CPU 的硬件虚拟化功能。我的理解是它与嵌套虚拟化支持无关。
一种可能的解决方法可能是使用 VMWare 或其他支持嵌套虚拟化的虚拟化平台。
祝你好运!