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

问题描述 投票:28回答:6

我有一个配置为启用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机器?

virtual-machine vagrant virtualbox
6个回答
16
投票

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


48
投票

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

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

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

vb.cpus = 1

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


24
投票

嵌套虚拟盒中的流浪汉

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

VT-X支持(与VirtualBox相关)

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

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

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

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

0
投票

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


0
投票

如果您在VirtualBox虚拟机中运行vagrant + VirtualBox,并且您遇到网络问题:

别忘了设置正确的virtual network adapter

我必须将适配器类型设置为Paravirtualized Network (virtio-net)

在设置 - >网络 - >高级,使其工作


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.