5

I downloaded VirtualBox, knowing that my computer has VT-X, and I just created two VMs, but when I started them, I saw this error:

Click here to see it

VirtualBox - Error
Failed to start the virtual machine Android.
(Details)
VT-x is not available (VERR_VMX_NO_VMX).

Result Code: E_FAIL (0x80004005)
Component:  ConsoleWrap
Interface:   IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

[Manually transcribed]

I have previously run VirtualBox on this PC flawlessly.  Why am I getting this error now?  How can I get VirtualBox to work?

5

3 Answers 3

2

Thank you Hrobky, this was helpful. At an ASUS i7 with a UEFI BIOS that does not allow to disable safe boot, on a Windows 10 without encryption, it was enough these 2 steps from your solution:

start->GPedit

Computer Config > Admin Templates > System > Device Guard > 
Virtualization Based Security: Disabled

admin cmd:  bcdedit /set hypervisorlaunchtype off 

then reboot

with change these setting at BIOS

Boot / Launch CSM : Enable

Boot / Launch CSM / Boot Device Control : UEFI and Legacy OPROM

Boot / Fast Boot : Disabled

Boot / OS Type : Other OS
3
  • Please list your CPU model and Windows version. AFAIK Intel 8xxx are not affected anymore. There may be a great progress since Win10 1703.
    – Hrobky
    May 14, 2020 at 17:21
  • CPU model Intel i7-7700 on an ASUS motherboard Prime B250M-K Windows 10 full update at the date, sorry I do not have record of the build.
    – fometeo
    May 15, 2020 at 18:55
  • First step is working for me. Dell E5570 i7 Windows 10 2004 Aug 18, 2020 at 1:59
0

How to enable 64bit guest support

...while keeping following components installed! In your case the procedure could be shorter. Just omit the steps not relevant to your setup.

  • Intel 6th gen processor (Skylake). i5-6300U in my case (on 8th gen this is not an issue anymore)
  • Win10 1703 (Build 15063.1631)
  • UEFI Secure Boot
  • Bitlocker
  • TrendMicro OfficeScan antivirus (This one is actually not conflicting anymore)
  • VirtualBox 6.0.4
  • Hyper-V

Related errors

  • "VT-x is not available" VERR_VMX_NO_VMX
  • VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT
  • seeing just 32bit OS versions in "new machine" wizard dialog

The culprit is Virtualization Based Security (VBS), which uses Windows embedded virtualization hypervisor (which doesn't conflict with HyperV). This how-to does not describe, how to run Hyper-V and VirtualBox simultaneously, nor how to run VirtualBox on top of Hyper-V hypervisor (as stated in Changelog 6.0.0), according to the Forum, this does not work on Win10 1703.

You will be able to switch between HyperV and VBS working versus VirtualBox requiring a reboot.

Remark: If you use BitLocker, have prepared your recovery key on a paper beforehand! :-] It shouldn't be required though. Control Panel -> BitLocker -> Backup Recovery Key

Here's the how-to:

  1. Temporarily suspend BitLocker (=without decryption) - this means till next reboot
  2. Reboot, enter BIOS, (check VT-x is turned on), disable Secure Boot, save&quit, (BitLocker PIN entry should be omitted)
  3. Login to Windows, temporarily suspend BitLocker again
  4. Sanity check:
    • Task Manager: Performance: You should see Virtualization Enabled
    • start->msinfo: you should see "System Summary" -> "Device Guard Virtualization Based Security" running
    • VirtualBox should not list Acceleration: "Nested Paging" and "VT-x" in your guest machine's System details page.
  5. start->GPedit
    Computer Config > Admin Templates > System > Device Guard > Virtualization Based Security: Disabled
    
  6. admin PowerShell: run this official Device Guard Readiness Tool from Microsoft: https://www.microsoft.com/en-us/download/details.aspx?id=53337
    DG_Readiness_Tool_v3.6.ps1 -Disable
    
    The -disable option adds a boot option to disable VBS and sets bootmgr to boot into it once. This is why we turned off SecureBoot once and why in turn we needed to suspend BitLocker.
  7. In regedit delete the following value
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA\LsaCfgFlags
    
  8. admin cmd:
    bcdedit /set hypervisorlaunchtype off
    
    This disables the hypervisor and allows VirtualBox to run.
  9. Reboot, enter BIOS, Enable Secure Boot, save&quit, (BitLocker PIN entry is omitted again), (Secure Boot should allow us to boot our newly created correctly signed bootloader)
  10. Press F3 to disable Credential Guard, press F3 to disable VBS (You have to be quick! There is like 10s silent time-out!!)
  11. Computer reboots, BitLocker should ask you for your PIN, Secure Boot should not be complaining about anything
  12. Sanity check:
    • start->msinfo: you should see "Device Guard Virtualization Based Security" not running
    • VirtualBox should now list Acceleration: "Nested Paging" and "VT-x"

Now you can switch between Hyper-V (and VBS running) and VirtualBox by bcdedit /set hypervisorlaunchtype auto and bcdedit /set hypervisorlaunchtype off respectively and rebooting. Don't ask me why VBS is running again despite the GPedit setting when hypervisorlaunchtype is auto - there might be some corporate settings and magic involved. Nevertheless, VirtualBox's VT-x is working :)

I definitely don't recommend leaving VBS turned off, as it could have something to do with Mimikatz / Kekeo protection which is quite an issue nowadays. Let's hope this wourkaround won't be necessary in a near future.

-1

In the setup "system" section, "Acceleration" tab, uncheck "Hardware Virtualization: [ ] Enable VT-x/AMD-V" click "OK" button

1
  • This would make 64-bit guest machine unable to run.
    – Hrobky
    Mar 21, 2019 at 11:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .