Vagrant up - VBoxManage.exe error: VT-x is not available (VERR_VMX_NO_VMX) code E_FAIL (0x80004005) gui headless

AKS picture AKS · Jun 22, 2016 · Viewed 83k times · Source

Machine: Window10 (64bit).

I downloaded the latest VirtualBox, Vagrant and initialized CentOS 6.7 64bit image/url.

The following worked successfully in Git-Bash session.
1. vagrant box add "centos67x64" "https://github.com/CommanderK5/packer-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box"
2. vagrant init
3. Updated Vagrantfile (and turned vb.gui option i.e. uncommented that config section in the file).

  config.vm.provider "virtualbox" do |vb|
    # Display the VirtualBox GUI when booting the machine
    vb.gui = true

    # Customize the amount of memory on the VM:
    vb.memory = "2048"
  end

After that, I tried the following command but I'm getting this error message.

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos67x64'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: vv_default_1466548735200_80300
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "ae74ebaa-8f01-48cf-bdad-956c59ef1208", "--type", "gui"]

Stderr: VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole

If I turn/comment off the whole Vagrantfile respective section, I'm still getting the following error.

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "ae74ebaa-8f01-48cf-bdad-956c59ef1208", "--type", "headless"]

Stderr: VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole

Any ideas! I looked into other posts but couldn't find how to resolve in my case.

As I got some hints, I tried one of the solution.

  1. TURN off the Hyper-V which is turned of by default I guess in Windows10.
  2. To do this, I Went to Control panel in Windows10 and looked here and found this. enter image description here

  3. Then, I turned Hyper-V off by unchecking (the tick mark, or black box).

  4. Windows10 told me to RESTART, I said "No" (later).
  5. Tried running "vagrant up" again (without or without any changes or the above mentioned config.vm... changes to the Vagrantfile). It didn't work and gave me the same --headless error message.

  6. OK, time to restart. Restarted Windows10. After the restart, I saw bunch of Virtual Box error messages popups (few of them are shown below).

enter image description here enter image description here enter image description here enter image description here

  1. Once I clicked on OK button on all of those Virtual Box popup windows, I tried to run Virtual Box on my machine, it came up fine(successfully).
  2. Now, I opened Git-BASH and again went to the directory where Vagrantfile was present. Tried tweaking the settings on / off or commenting/uncommenting the Vagrantfile respective section (as I described above).

STILL getting the the same error messages for running "vagrant up" (even after turning the Hyper-V off as well).

Answer

fips picture fips · Jun 30, 2016

Stop hyper-v service running by default in Windows 8/10, since it blocks all other calls to VT hardware.

Additional explanation here: https://social.technet.microsoft.com/Forums/windows/en-US/118561b9-7155-46e3-a874-6a38b35c67fd/hyperv-disables-vtx-for-other-hypervisors?forum=w8itprogeneral

Also as you have mentioned, if not already enabled, turn on Intel VT virtualization in BIOS settings and restart the machine.


To turn Hypervisor off, run this from Command Prompt (Admin) (Windows+X):

bcdedit /set hypervisorlaunchtype off

and reboot your computer. To turn it back on again, run:

bcdedit /set hypervisorlaunchtype on

If you receive "The integer data is not valid as specified", try:

bcdedit /set hypervisorlaunchtype auto

-- credit Tj Kellie