- Nested virtualization allows you to run a hypervisor inside a VM to set up complex labs without hardware additional.
- Key Requirements: VT‑x/AMD‑V enabled in BIOS/UEFI, recent versions of Windows and VirtualBox, and Hyper‑V/security control.
- Activation in VirtualBox with VBoxManage when the box is grayed out and paravirtualization settings appropriate for the guest.
- Network and Compatibility: Nested NAT/MAC spoofing options with Hyper‑V and mitigation of errors such as VERR_VMX_NO_VMX.

Nested virtualization is the feature that allows you to run a hypervisor inside a virtual machine, essentially creating new VMs within another VM. If your goal is to test Proxmox, Hyper-V, emulators, or complex labs without touching your physical server, this is exactly what you need.
This guide brings together everything you need to know to get it working in VirtualBox, with a focus on Windows as the host, potential Hyper-V blocks and security, and Hyper-V alternatives when you want to nest it there as well. We've included BIOS/UEFI checks, fine-tuning VirtualBox settings, precise commands , and networking tips so you won't miss a thing.
What is nested virtualization and why is it important?

The idea is simple: your physical machine runs VirtualBox (L0 level), you create a VM (L1 level), and within that VM you install another hypervisor (L2 level), such as Proxmox or even Hyper-V. This allows you to simulate complete topologies, test migrations, create clusters, or rehearse installations without additional equipment.
With VirtualBox, the key option is nested hardware virtualization (VT-x/AMD-V within the VM), which sometimes appears disabled in the graphical interface. When this happens, a VBoxManage command enables it even if the checkbox remains grayed out in the settings window.
How to make a virtual machine matryoshka doll …
Hardware requirements and initial checks in Windows
First of all, make sure your CPU supports virtualization and that it's enabled. Intel processors with VT-x and AMD processors with AMD-V released in the last 10-12 years are usually more than adequate.
In Windows 10/11 you can check this without restarting: open Task Manager (Ctrl+Shift+Esc) and go to Performance > CPU. At the bottom you will see the status of “Virtualization”; it should indicate Enabled.
If you see "Disabled," two things could be happening: either the BIOS/UEFI has it turned off, or the processor doesn't support it; the latter is rare except on very old computers. The first Intel desktop processors with VT-x were the Pentium 4 662/672 (November 2005), and AMD introduced it with the Athlon 64/64 X2/FX (May 2006).
Another practical requirement: recent software versions. To coexist with Hyper-V, VirtualBox 6.0+ (6.1+ is better) and VMware Workstation 15.5.5+ work much better on Windows 10/11 version 2004 or later.
Enable virtualization in BIOS/UEFI
If it appears disabled in Task Manager, you'll need to access the BIOS/UEFI. In Windows 10/11, this is easy: Settings > Update & Security > Recovery > Advanced startup > Restart now > Troubleshoot > Advanced options > UEFI firmware settings. You can also access it using the manufacturer's shortcut key at startup (Delete, F2, F10, etc.).
Inside, look for the CPU or Advanced options and enable: Intel VT-x/Intel Virtualization Technology (and, if applicable, VT-d) on Intel; AMD-V on AMD. Save changes and restart for Windows to detect the active virtualization.
Avoid conflicts with Hyper-V, security, and other hypervisors
VirtualBox can work with Hyper-V from Windows 10/11 version 2004 onwards, but there are some caveats: you'll see a turtle icon in the VirtualBox status bar when using Hyper-V support, and performance will be slightly reduced. If you don't need WSL2, Sandbox, or Docker, disabling Hyper-V usually improves VirtualBox significantly.
To disable Hyper-V from an elevated command prompt, run: dism.exe /Online /Disable-Feature:Microsoft-Hyper-V . Restart and try again. You can also go to "Turn Windows features on or off" and uncheck Hyper-V and Windows Hypervisor Platform.
The error "VT-x is not available (VERR_VMX_NO_VMX)" is often involved here. Also check your antivirus software that supports virtualization, such as Avast: in Settings > Troubleshooting, enable "Use nested virtualization where available" and "Enable hardware-assisted virtualization," or adjust its settings so that it doesn't block VT-x.
Regarding Windows kernel isolation (memory integrity): on some systems, enabling it improves overall system compatibility, while on others it prevents VirtualBox from accessing VT-x. If you find VERR_VMX_NO_VMX or the 64-bit option disappears, try temporarily disabling "Memory Integrity"; if you were experiencing stability issues, try enabling it.
Enable nested virtualization in VirtualBox
With host virtualization enabled and no Hyper-V or antivirus blocks, create your VM normally. If you want to install Proxmox within it, for example, configure a Linux VM (Debian/64-bit) with sufficient resources and ample storage . The VT-x/AMD-V checkbox may be grayed out; don't worry, VBoxManage allows you to force it.
With the VM OFF, open a CMD console as Administrator and run the command (adjust the path if you installed VirtualBox elsewhere): this step enables virtualization extensions within the VM.
"C:\Program Files\Oracle\VirtualBox\VBoxManage" modifyvm "NombreDeLaMV" --nested-hw-virt on
Replace "VMName" with the exact name of your VM (for example, "Proxmox1"). After running the command, open the VM settings: you'll see the nested virtualization option selected. Power on the VM and install your guest hypervisor as if it were a physical server.
Other acceleration settings worth checking in the VM: Paravirtualization interface set to “Default” so VirtualBox can choose the appropriate interface based on the guest operating system, or explicitly set to “KVM” for modern Linux systems and “Hyper-V” for Windows. “Minimal” mode advertises a virtualized environment and is required for Mac OS X guests, while “Legacy” mode is only for VMs created before VirtualBox 5.0.
If you don't see any 64-bit systems when creating the VM, something is wrong: either Hyper-V is taking control, or the CPU/BIOS isn't exposing VT-x/AMD-V. Double-check your BIOS/UEFI, Windows features, and the VBoxManage command.
Recommended VM settings for performance and stability
- CPU: Assign cores head-to-head. For modern guests, two vCPUs are typically the starting point, with I/O APIC enabled if you assign more than one. Don't give all the cores to the VM, or the host may run out of headroom and you'll notice stuttering..
- RAM: Try not to exceed half the host memory. With 8 GB on the host, 4 GB on the VM is reasonable; with 16 GB, 6-8 GB is fine. Memory is the foundation for a smooth guest experience, especially if you're running multiple VMs..
- Video: Increase the video memory, avoiding the pink zone, and choose the graphics driver recommended by VirtualBox (you will see warnings if there are inconsistencies). 3D acceleration can help on desktops, but prioritize stability if using a server..
- Storage: For performance, choose Fixed Size if you have space; if you're short, “Dynamically Allocated” saves disk space at the expense of I/O. For labs with multiple VMs in a chain, allowing 40-50 GB per guest saves you time..
- start and firmware: do not enable EFI unless the guest requires it and leave PAE/NX disabled unless explicitly requested. These incorrectly set options are a typical cause of VMs not booting..
- Network: NAT is usually sufficient, but for more realistic scenarios use bridging or internal networks depending on the lab. If you nest hypervisors, remember that traffic will go through two virtual switches and it is key not to block it..
- USB, shared folders and audio: activate them only if you need them (USB 2.0/3.0, Shared Folders, sound). Fewer virtual devices often translate into fewer variables and more stability..
Nested virtualization in Hyper‑V (in case you do cross-testing)
You can also nest with Hyper-V as the host and then VirtualBox/Hyper-V inside a VM. On Intel, you need Windows Server 2016+/Windows 10+ and VM config 8.0+; on AMD EPYC/Ryzen, Windows Server 2022+/Windows 11+ and VM config 9.3+. These requirements are essential to expose virtualization extensions to the VM.
With the VM OFF, on the host run the following command in PowerShell as administrator: this command exposes VT-x/AMD-V to the VM so that the guest hypervisor can function.
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
To disable it, use: if you need to revert the setting in that VM, this command will suffice with the VM stopped.
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $false
Nested networking with Hyper-V: You have two basic options. The first is MAC spoofing on the L1 VM adapter so that traffic from the L2 VMs passes through the switch. Enable this with this cmdlet on the Hyper-V host.
Get-VMNetworkAdapter -VMName <VMName> | Set-VMNetworkAdapter -MacAddressSpoofing On
The second option is NAT on the L1 VM: create an internal switch and a NAT object for a private subnet, assign an IP address to the adapter, and configure gateway/DNS on the L2 VMs. This is ideal when MAC spoofing is not feasible (for example, in a public cloud).
New-VMSwitch -Name VmNAT -SwitchType Internal
New-NetNat -Name LocalNAT -InternalIPInterfaceAddressPrefix "192.168.100.0/24"
Get-NetAdapter "vEthernet (VmNAT)" | New-NetIPAddress -IPAddress 192.168.100.1 -AddressFamily IPv4 -PrefixLength 24
Configure the nested VMs with IPs from that subnet, a gateway of 192.168.100.1, and DNS of your choice. You can set DNS using netsh or the network cmdlets, whichever you prefer.
Resolve common errors
The VT-x/AMD-V checkbox appears grayed out: use VBoxManage with the VM powered off to enable nesting, as we've seen. It may still be grayed out in the GUI, but the flag remains active and functions correctly.
No 64-bit guests appear: check the BIOS (VT-x/AMD-V), disable Hyper-V and the Windows Hypervisor Platform, and check antivirus software with virtualization capabilities. The DISM command for Hyper-V and the Core Isolation Memory Integrity setting are the two key levers.
VERR_VMX_NO_VMX error: The host does not expose virtualization extensions to the VirtualBox process. Disable Hyper-V if you don't need it, adjust security (Memory Integrity), and restart after each change.
Poor performance with Hyper-V enabled: This is normal due to the compatibility layer (turtle icon in VirtualBox). VMware also has Meltdown/Spectre mitigations that penalize performance; you can disable them in Advanced VM Options if you accept the risk.
Instability when allocating resources: avoid giving 100% of CPU and RAM to the L1 VM. Remember that you will be running other VMs inside, and the L0 host needs to be able to breathe; distribute resources with a buffer.
Paravirtualization compatibility: Leave "Default" unless specifically needed. Use KVM on Linux with kernel ≥ 2.6.25, Hyper-V for Windows, and "Minimal" on Mac OS X; "Legacy" only for very old VMs.
CPU too old: If your computer is from before the 2010s, it may be missing VT-x/AMD-V or EPT/NPT. Check the exact model; without these instructions, nesting is not possible.
Finally, install the Guest Additions/Tools when appropriate and properly shut down the VMs. Copying/pasting, dynamic resolution, and I/O performance are greatly improved with the Guest Tools.
With all of the above, you should be able to start a hypervisor within VirtualBox and work stably with multiple virtualization layers. If you plan resources well, validate BIOS/UEFI, manage Hyper-V, and apply the appropriate commands, the nested lab will run like clockwork.
Passionate writer about the world of bytes and technology in general. I love sharing my knowledge through writing, and that's what I'll do on this blog, show you all the most interesting things about gadgets, software, hardware, tech trends, and more. My goal is to help you navigate the digital world in a simple and entertaining way.
