Virtualbox enable nested vtx/amd-v greyed out

VirtualboxVirtualization

Virtualbox Problem Overview


On my Ubuntu 18.04, I've installed VirtualBox 6.0 in order to have nested virtualization. Virtualization is enabled in my bios.

However, when I open the settings of my (powered off) virtual machine and go to System -> Processor, the option "Enable Nested VT-x/AMD-V" is greyed out and I cannot enable it.

enter image description here

Virtualbox Solutions


Solution 1 - Virtualbox

Execute this:

$ VBoxManage modifyvm vm-name --nested-hw-virt on

Solution 2 - Virtualbox

For Windows

In Windows, go to VirtualBox installation folders -> type cmd on the bar (it will pop up cmd in that folder) -> type VBoxManage modifyvm YourVirtualBoxName --nested-hw-virt on -> enter.

Now it should been ticked.

Solution 3 - Virtualbox

From what I understand, this option is only available with AMD CPUs, and cannot be enabled on Intel CPUs. This is a little misleading, since the option clearly states both Intel, and AMD virtualization technologies.

Here is an official confirmation in VirtualBox doc: https://www.virtualbox.org/manual/ch03.html Chapter 3.5.2. Processor Tab

> Enable Nested VT-x/AMD-V: Enables nested virtualization, with passthrough of hardware virtualization functions to the guest VM. > > This feature is available on host systems that use an AMD CPU. For Intel CPUs, the option is grayed out.

Solution 4 - Virtualbox

On VirtualBox 6.1.2 that worked (intel i7 2630QM)

(VBoxManage modifyvm lubuntu18 --nested-hw-virt on)

result on linux

enabled in GUI

Solution 5 - Virtualbox

So far it only works with AMD CPUs (forget about the confusing option title).

> Initially this is for AMD CPUs only. > > All Intel CPU posts will be deleted/split.

https://forums.virtualbox.org/viewtopic.php?f=1&t=90831

https://forums.virtualbox.org/viewtopic.php?f=7&t=90874

Solution 6 - Virtualbox

In Windows 10 this problem is caused because you have Memory Integrity active. Windows Security -> Device security -> Core isolation details

Disable Memory integrity and then restart Windows.
The VB option "Enable Nested VT-x/AMD-V" should be still greyed out.
Now, open a new PowerShell in your VB installation folder and type:
./VBoxManage modifyvm "Virtual Machine Name" --nested-hw-virt on
You'll find detailed information here (idk why Microsoft does not mention this issue anywere).

Solution 7 - Virtualbox

recently this popped up for me out of the blue on Windows 11. I already had hyper-v disabled from previous tweaks and everything had been working. in the end I had to use this command:

bcdedit /set hypervisorlaunchtype off

which fixed it, but it broke the Windows Subsystem for Android recently introduced in 11, so, there's that...

Solution 8 - Virtualbox

It's alive on VirtualBox 6.1.2 r135662 (Qt5.6.2) and Intel Core i3-8100!

Screenshot of available NestedVT

CMD's output from image as text:

C:\WINDOWS\system32>ssh myuser@192.168.56.111
myuser@192.168.56.111's password:
Last login: Mon Feb 17 10:11:06 2020 from 192.168.56.1
  
myuser@nestedvt ~ $ su
Пароль:
  
root@nestedvt /home/myuser # egrep "svm|vmx" /proc/cpuinfo
root@nestedvt /home/myuser #
  
root@nestedvt /home/myuser # poweroff
Connection to 192.168.56.111 closed by remote host.
Connection to 192.168.56.111 closed.
  
C:\WINDOWS\system32>cd "C:\Program Files\Oracle\VirtualBox"
C:\Program Files\Oracle\VirtualBox>VBoxManage modifyvm CentOS7_nestedVT --nested-hw-virt on
  
C:\Program Files\Oracle\VirtualBox>VBoxManage startvm CentOS7_nestedVT
Waiting for VM "CentOS7_nestedVT" to power on...
VM "CentOS7_nestedVT" has been successfully started.
  
C:\Program Files\Oracle\VirtualBox>ssh myuser@192.168.56.111
myuser@192.168.56.111's password:
Last login: Mon Feb 17 10:12:08 2020 from 192.168.56.1
  
myuser@nestedvt ~ $ su
Пароль:
  
root@nestedvt /home/myuser # egrep "svm|vmx" /proc/cpuinfo
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single tpr_shadow flexpriority fsgsbase avx2 invpcid rdseed clflushopt md_clear flush_l1d
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single tpr_shadow flexpriority fsgsbase avx2 invpcid rdseed clflushopt md_clear flush_l1d
  
root@nestedvt /home/myuser # exit
exit
myuser@nestedvt ~ $ exit
logout
Connection to 192.168.56.111 closed.
  
C:\Program Files\Oracle\VirtualBox>wmic cpu get name
Name
Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz
  
C:\Program Files\Oracle\VirtualBox>wmic os get caption
Caption
Microsoft Windows 10 Pro

Solution 9 - Virtualbox

From the directory where VirtualBox is executed, I run a similar command that works (note the placement of the quotes!

VBoxManage modifyvm "path\to\ubuntu 18.04.3.vbox" --nested-hw-virt on

Hope this helps. BD

Solution 10 - Virtualbox

It turned out it was greyed out for a reason! I have Windows 10 host and I used Docker for some time and uninstalled but it kept Hyper-V technology enabled (Which is incompatible with virtualization).

DO NOT DO ON A SERVER | THIS WILL DISABLE Hyper-V Technology - USE AT YOUR OWN RISK

Open command prompt as admin and run the following then restart your PC

DISM /Online /Disable-Feature:Microsoft-Hyper-V

PowerShell Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Hypervisor -All

bcdedit /set hypervisorlaunchtype off

Solution 11 - Virtualbox

The cause of the problem is Hyper-V. If you want to use nseted virtualization, you should turn off hypervisorlaunchtype.
It's worked for me: bcdedit /set hypervisorlaunchtype off

Solution 12 - Virtualbox

The problem sometimes is your machine has saved its state, but the saved state is not the correct one, so you click on your machine and then on forget at the top to forget any saved state. In my case this solved the case

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionFrancesco BorziView Question on Stackoverflow
Solution 1 - VirtualboxSothy LornView Answer on Stackoverflow
Solution 2 - VirtualboxFareed radziView Answer on Stackoverflow
Solution 3 - VirtualboxPaul C.View Answer on Stackoverflow
Solution 4 - VirtualboxAbdelouahabView Answer on Stackoverflow
Solution 5 - VirtualboxJing LiView Answer on Stackoverflow
Solution 6 - VirtualboxGianmarcoDIFView Answer on Stackoverflow
Solution 7 - VirtualboxNick_d7xTechView Answer on Stackoverflow
Solution 8 - VirtualboxalkomotivView Answer on Stackoverflow
Solution 9 - Virtualboxuser13098011View Answer on Stackoverflow
Solution 10 - VirtualboxAhmad AddasView Answer on Stackoverflow
Solution 11 - VirtualboxkepichView Answer on Stackoverflow
Solution 12 - VirtualboxLwahchView Answer on Stackoverflow