为什么在Vagrant中禁用--hwvirtex解决了运行64位操作系统的问题?

时间:2013-10-21 09:30:23

标签: ubuntu virtualbox vagrant

我使用VirtualBox和Vagrant团队的默认Ubuntu 12.04 64位图像设置了一个Vagrant虚拟机(参见http://files.vagrantup.com/precise64.box)。

当我使用OS X 10.8.5在我的MacBook Pro上vagrant up时,在90%的时间内我收到错误,即VM进入无效状态(aborted)。使用UI运行VM没有任何帮助。

现在,在玩游戏时,我随机发现如果我改变了

config.vm.provider :virtualbox do |vb|
  vb.customize [ "modifyvm", :id, "--memory", 1024, "--cpus", 2 ]
end

config.vm.provider :virtualbox do |vb|
  vb.customize [ "modifyvm", :id, "--hwvirtex", "off", "--memory", 1024, "--cpus", 2 ]
end
一切都很好。任何人都可以解释--hwvirtexoff的设置是什么以及为什么这会解决我的问题?

我对这个问题非常困惑,因为我使用了来自Vagrant团队的默认图像,我猜有很多人在OS X上运行这个图像。所以我本来希望在此时找到答案。谷歌搜索,但我没有。

有什么建议吗?

使用che---提示和Hardware vs software virtualization上的文档,事情变得更糟:我明白这个设置有什么用处,但不是,如果我禁用硬件虚拟化。

文档说明:

  

尽管VirtualBox并不总是需要硬件虚拟化,但在以下情况下启用它 :[...] VirtualBox的64位客户支持(添加版本2.0)和多处理(SMP,已添加)版本3.0)都需要启用硬件虚拟化。

由于OS X是64位,并且访客也是如此 - 如果我禁用硬件虚拟化,它为什么会起作用呢?

这个问题与编程无关,但它与程序员常用的工具有关。常见问题解答清楚地说明这些问题是受欢迎的,因此我将其发布在此处。

1 个答案:

答案 0 :(得分:3)

Ola Golo,

只看到你关于这个问题的推文; - )

这很简单。 vboxmanage文档says

  

- hwvirtex on | off:启用或禁用在主机系统处理器中使用硬件虚拟化扩展(Intel VT-x或AMD-V);

这与流浪者无关,但与VirtualBox无关。你有VirtualBox的任何问题吗? 我也运行10.8.5,但没有任何问题,使用重度流浪汉和vb进行持续交付场景或木偶编码。我大部分时间都在使用Ubuntu 12.04 64。有时32b。

希望这有帮助。