68 Windows 11 – Enabling Nested Virtualization (KVM support)
Jacob Christensen
This is an alternate lab for running GNS3 on Windows
Exposing hardware virtualization technologies (VT-x / AMD-V) to a VirtualBox virtual machine running on modern Windows is a difficult task. Variations in hardware, BIOS, EUFI, Windows versions, etc., all contribute to this difficult task. However, nested virtualization is necessary for the GNS3 VM to use KVM acceleration and run QEMU VMs effectively. Without KVM, many QEMU appliances from the Marketplace will either run sluggishly or not at all. Fixing this issue will reduce your dependency on an external hypervisor to run endpoints (VirtualBox, VMware) and keep everything in the GNS3 ecosystem. This will make your appliances faster and your projects exportable (and therefore shareable!) across multiple GNS3 environments and operating systems.
The authors have been dealing with this issue for years, but expert troubleshooter Jake Christensen has a solution that works on the following platforms:
- Windows 11 Pro (25H2)
- Windows 11 Home (25H2)
- Windows 11 Pro (24H2)
- Windows 11 Pro (23H2)
- Windows 11 Education (25H2)
Restatement of the problem
On the GNS3 VM running in VirtualBox, you enable Nested Virtualization

But when you start the GNS3 VM, it states KVM support is unavailable

This mismatch between the VM settings and running the VM creates problems and forces us to specifically disable KVM in the GNS3 VM control panel

The core issue here is that Hyper-V features and Microsoft’s Virtualization-Based Security (VBS) prevent the OS from utilizing hardware virtualization. We can easily check if these systems are running via the following: Press CTRL+R, then launch msinfo32.exe At the bottom of System Summary, you will see the following

The following sections outline several checks you can run through that Jake has gathered from experimentation and scouring Internet forums. After each check, REBOOT the computer and recheck msinfo32. If you still see “A hypervisor has been detected” and/or “Virtualization-based security Running”, continue to the next step and repeat. You will know it’s fixed when msinfo32 shows VBS is not enabled and it lists Hyper-V requirements

This should lead to KVM support reporting as true in GNS3VM

NOTE: If you are modifying an existing install of GNS3, then make sure to delete the [Qemu] setting in the configuration. Otherwise it will never trigger to TRUE!
Check 1 – Ensure that Virtualization in Enabled in the BIOS/EUFI
This might appear obvious, but most people set up their BIOS/EUFI once and never revisit. Cold boot your computer and enter the BIOS/EUFI settings. The process for this differs on models, but generally when you initially boot your PC or laptop, there are instructions on how to enter the BIOS/EUFI. Common instructions are pressing F2, F8, ESC, or DEL at boot. It might only flash for a second, so watch carefully!
Once you verify/change your BIOS/EUFI settings to enable virtualization is enabled, reboot your machine and check msinfo32 by typing “msinfo32” in the searchbox

If you DON’T see Hyper-V requirements, move onto the next check

check 2 – ensure that nested vt-x/amd-V is checked in the VirtualBox GNS3 VM settings
- Start VirtualBox
- Select the GNS3 VM –> Settings –> Expert –> General –> Processor
- See if the Nested VT-x/AMD-V is selected. If it is already selected, move onto Check 3

Figure 8 check GNS3 VM settings - Occasionally the option is greyed out or not visible meaning the setting is not available for change
- Ensure you are in “Expert” mode – being in Basic mode is usually the reason for this.
- If you are certain you are in Expert mode and the option is still greyed out, do the following
- Open a command line terminal and type
C:\Program Files\Oracle\VirtualBox
- Then type
VBoxManage.exe modifyvm “GNS3 VM” –nested-hw-virt on

Figure 9 enable virtualization in GNS3 VM
- Open a command line terminal and type
- Repeat steps 2 and 3 to ensure Nested VT-x/AMD-V is selected
- Reboot your machine
- Check msinfo32 by typing “msinfo32” in the searchbox

Figure 7 msinfo32 If you DON’T see Hyper-V requirements, move onto the next check

Figure 5 Hyper-V requirements appear in msinfo32
Check 3 – Disable Hyper-V
Although Microsoft’s T1 hypervisor “Hyper-V” is only available in Windows Pro/Education/Enterprise, it is built into Windows and still has features enabled even in Home edition. When Hyper-V is active, hardware acceleration will not be available for VirtualBox, and it will fall back to emulation mode (preventing true virtualization and degrading VM performance). Disable Hyper-V and its related features via GUI, PowerShell, or Command Prompt. These all do the same thing, just choose the option that best suits your skills.
(Option) GUI
Press win+R and type optionalfeatures.exe

Uncheck the following features:
- Hyper-V Hypervisor
- Virtual Machine Platform
- Windows Hypervisor Platform
- Windows Sandbox
- Windows Subsystem for Linux

Reboot your machine
Check msinfo32 by typing “msinfo32” in the searchbox
If you DON’T see Hyper-V requirements, move onto the next check
(option) Powershell (elevated)
Open PowerShell with elevated privileges and type the following:

Reboot your machine
Check msinfo32 by typing “msinfo32” in the searchbox
If you DON’T see Hyper-V requirements, move onto the next check
(Option) Command Prompt (elevated)
Open a command prompt with elevated privileges and type the following

Reboot your machine
Check msinfo32 by typing “msinfo32” in the searchbox
If you DON’T see Hyper-V requirements, move onto the next check
Check 4 – Disable Memory Integrity
Memory Integrity is a Windows feature that creates a virtual environment for the kernel as an extra layer of security. It is enabled by default in 22H2 and beyond. Unfortunately, it uses VBS, so we need to disable it:
Press WIN+R and run windowsdefender://coreisolation/

Ref: Microsoft’s Support Page on Virtualization
Reboot your machine
Check msinfo32 by typing “msinfo32” in the searchbox
If you DON’T see Hyper-V requirements, move onto the next check
Check 5 – Disable Credential guard and VBS
Credential Guard uses VBS to protect NTLM hashes and mitigate credential theft. It is also enabled by default in Windows 11 22H2 and above.
- Check to see if it is running by pressing WIN+R and msinfo32
- Look under System Summary

Figure 15 Checking for Credential Guard - If it says “Credential Guard” then we need to disable it
- Press WIN+R and type gpedit.msc
- Navigate to Computer Configuration -> Administrative Templates -> System -> Device Guard
- Set Turn On Virtualization Based Security to Disabled

Figure 16 Disabling Credential Guard
- Ref: Microsoft Credential Guard
- Reboot your machine
- Check msinfo32 by typing “msinfo32” in the searchbox
- If you DON’T see Hyper-V requirements, move onto the next check
check 6 – disable credential guard with uefi lock
Many of these settings can be enabled with “UEFI lock”, which means they are stored in firmware variables that are prioritized over the Registry and GPO. Essentially, this means that these security configurations cannot be disabled over a network, so you need local admin access to the computer.
Open an elevated command prompt shell and type the following commands

Ref: Microsoft Credential Guard
Reboot your machine
Check msinfo32 by typing “msinfo32” in the searchbox
If you DON’T see Hyper-V requirements, read on…
Final thoughts
Device Guard Readiness script
Many of these checks can be automated using Microsoft’s “Device Guard and Credential Guard hardware readiness tool” by downloading the PowerShell script.
In PowerShell (Elevated) run

After the script runs, reboot. VBS and Hyper-V should be disabled. However, if you reboot a second time and VBS revives itself, read on.
Current roadblock
It may not be possible to fully disable VBS in some 25H2 builds. I believe the code integrity policy, “Microsoft Virtualization-Based Security Policy”, if enforced, always re-enables VBS, superseding any registry values above or even EFI flags. This is a core policy that cannot be easily removed. Check if this policy is active using WIN+R cmd
citool.exe –list-policies
Look for

Possible Workarounds – but more testing is required
- You could try manually deleting the policy file, but it would probably brick your OS
- Re-run the “DG_Readiness_Tool” before launching GNS3
- Install a prior version of Windows before 25H2 until a permanent solution is found
- Try using VMware Workstation/Fusion/Player instead of VirtualBox
- Abandon Windows entirely; use GNS3 on Linux
Note: I have looked at several installations of 25H2, and this issue occurred only a few times, and only on Windows 11 Pro. More research is needed before I can confidently say this app control policy is causing VBS to re-enable itself, or that it is isolated to 25H2 entirely.
To check VBS status run the following in PowerShell (Elevated)

Useful discussions
