Error VT-x not available for Vagrant machine inside Virtualbox

喜夏-厌秋 提交于 2019-12-17 21:53:44

问题


I have an Ubuntu Virtual machine that is configured to have VT-x enabled, 6 Processors, and 25 GB RAM.

Inside that virtual machine I am trying to start a vagrant machine with the following configuration:

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

When I start the Vagrant I get the error VT-x not enabled.

I tried both 32 bit and 64 bit versions of Vagrant but still no luck.

Any idea how can I run Vagrant machine inside the Virtualbox?


回答1:


UPDATED: As pointed out below, you can use nested VirtualBox + vagrant provided that only 1 virtual CPU is assigned to the nested VM, plus nested VM guest is 32-bit OS.




回答2:


You can only use one virtual CPU without VT-x. Thus, the error message stating that VT-x isn't enabled is caused by the following line:

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

Replacing it with the following works (Vagrant has a shorthand for setting the CPU count):

vb.cpus = 1

NOTE: You can only run 32-bit VMs inside another VM.




回答3:


Vagrant in nested Virtual Box

First of all you can run definitely Vagrant inside a nested Virtual Box.

VT-X Support (related to VirtualBox)

Currently VirtualBox is not supporting nesting VT-X. There is currently a feature request pending(see.: https://www.virtualbox.org/ticket/4032) but as of now it is not expected to be in a new version of VirtualBox

Consequences from missing VT-X in nested VirtualBox

There are currently two consequences from nesting without VT-X:

  1. You cannot use multiple CPUs but you can use a single virtual cpu using vb.cpus = 1
  2. You cannot run a 64-Bit VM within a nested VirtualBox.



回答4:


You can not use the first VM as Virtual Box one. That's sure. But what you can do is, make the first VM ( Ubuntu) based on VMware Player 7, then you can set up Vagrant on that. Tested and confirmed on my own. VMplayer version 7 and Virtual Box version 5.0.20. Thanks to the comment from Rudolf in the same page




回答5:


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




回答6:


VirtualBox inside VirtualBox wont work. Try VMPlayer and then inside install VirtualBox and vagrant. Its works for me.



来源:https://stackoverflow.com/questions/24620599/error-vt-x-not-available-for-vagrant-machine-inside-virtualbox

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!