错误VT-x不适用于Virtualbox内的Vagrant机器

时间:2014-07-07 21:58:36

标签: virtual-machine vagrant virtualbox

我有一台配置为启用了VT-x的Ubuntu虚拟机,6台处理器和25 GB RAM。

在虚拟机内部,我正在尝试使用以下配置启动一个流浪汉机器:

master.vm.box = "precise32"
master.vm.provider "virtualbox" do |vb|
    vb.customize ["modifyvm", :id, "--cpuexecutioncap", "80"]
    vb.memory = 10000
    vb.customize ["modifyvm", :id, "--cpus", "2"]   
    vb.customize ["modifyvm", :id, "--ioapic", "on"]
end

当我启动Vagrant时,我收到错误VT-x未启用。

我尝试了32位和64位版本的Vagrant,但仍然没有运气。

任何想法如何在Virtualbox中运行Vagrant机器?

7 个答案:

答案 0 :(得分:49)

您只能使用一个没有VT-x的虚拟CPU。因此,表明VT-x未启用的错误消息是由以下行引起的:

vb.customize ["modifyvm", :id, "--cpus", "2"]

用以下作品替换它(Vagrant有一个设置CPU数的简写):

vb.cpus = 1

注意:您只能在另一个虚拟机中运行32位虚拟机。

答案 1 :(得分:24)

嵌套虚拟框中的Vagrant

首先,您可以在嵌套的虚拟盒中运行Vagrant。

VT-X支持(与VirtualBox相关)

目前VirtualBox不支持嵌套VT-X。目前有一项待处理的功能请求(参见:https://www.virtualbox.org/ticket/4032)但截至目前预计不会出现在VirtualBox的新版本中

嵌套VirtualBox中缺少VT-X的后果

目前在没有VT-X的情况下嵌套有两种后果:

  1. 您不能使用多个CPU,但可以使用vb.cpus = 1
  2. 使用单个虚拟CPU
  3. 您无法在嵌套的VirtualBox中运行64位VM。

答案 2 :(得分:16)

更新:如下所述,您可以使用嵌套的VirtualBox + vagrant,前提是只有1个虚拟CPU分配给嵌套的VM,而嵌套的VM guest虚拟机是32位操作系统。

答案 3 :(得分:0)

您不能将第一个VM用作Virtual Box。这是肯定的。但你可以做的是,制作基于VMware Player 7的第一个VM(Ubuntu),然后就可以设置Vagrant。经过自己的测试和确认。 VMplayer版本7和Virtual Box版本5.0.20。感谢Rudolf在同一页面上的评论

答案 4 :(得分:0)

If you run vagrant + VirtualBox within a VirtualBox virtual machine and you face networking problems :

Don't forget to set the right virtual network adapter

I had to set the Adapter type to Paravirtualized Network (virtio-net)

in Settings -> Network -> Advanced to make it work

答案 5 :(得分:0)

VirtualBox内的VirtualBox无法正常工作。尝试VMPlayer,然后在内部安装VirtualBox和vagrant。它对我有用。

答案 6 :(得分:0)

如果您使用打包程序并遇到此错误,请确保您有足够的CPU来实际站立该映像。

我说过要使用两个CPU来构建映像,但是我自己仅运行2核VM。将其降低到1 cpu并构建运行而没有任何错误。