ADSSPEED

Guides

How to Check If Virtualization Is Enabled on Windows 10 and 11 (and Why PowerShell Can Say False When It's On)

By ADSSPEED Team · Published · Updated · 5 min read

The 10-second check: Task Manager

  1. Press Ctrl+Shift+Esc to open Task Manager (click More details if you only see a short list).
  2. Open the Performance tab and select CPU.
  3. Look at the lower-right block of the CPU panel for Virtualization.
You seeIt means
Virtualization: EnabledFirmware virtualization is on. You can use WSL 2, Docker Desktop, Android emulators and virtual machines.
Virtualization: DisabledIt is off. Turn on Intel VT-x or AMD-V in the BIOS: How to enable virtualization in BIOS.
No Virtualization line, but Virtual machine: YesYou are inside a virtual machine. The host must pass virtualization through (see the FAQ below).

If you run Windows in another language, the labels are translated, but the layout is the same.

Method 2: systeminfo

Open PowerShell or Command Prompt and run:

systeminfo | findstr /i "hyper-v virtualization hypervisor"

On a PC where no hypervisor is running yet, the Hyper-V Requirements section lists four lines, all of which should say Yes: VM Monitor Mode Extensions, Virtualization Enabled In Firmware, Second Level Address Translation and Data Execution Prevention Available.

On a PC where a hypervisor is already running, you get this instead (copied from a real Windows 10 PC with WSL 2 running):

Hyper-V Requirements:      A hypervisor has been detected. Features required for Hyper-V will not be displayed.

That is not an error. Microsoft documents it: on an existing Hyper-V host the requirements section is replaced by this message. A hypervisor can only run when firmware virtualization is on, so the message itself is your answer: virtualization is enabled.

Method 3: PowerShell, and the trap

These two properties are the ones people usually copy from forums. Run them without administrator rights:

(Get-CimInstance Win32_ComputerSystem).HypervisorPresent
(Get-CimInstance Win32_Processor).VirtualizationFirmwareEnabled

Here is real output from a Windows 10 Pro PC (build 19045, Intel 11th-generation Core) on which WSL 2 was running normally:

HypervisorPresent             : True
VirtualizationFirmwareEnabled : False

Read literally, the second line says virtualization is off. It isn't: WSL 2 was running, which is impossible without it. Once Windows runs on top of its hypervisor, the firmware-level flag is no longer reported to the operating system the way it is on a PC with no hypervisor, so the value can read False on a machine where everything works. SecondLevelAddressTranslationExtensions and VMMonitorModeExtensions can also be reported as False on such a PC.

Why PowerShell can report False while virtualization is on Two cases. With no hypervisor running, Windows reads the firmware flag directly, so True or False is reliable. With a hypervisor running, Windows is itself a guest on top of it, the firmware flag may read False, and you should check HypervisorPresent or Task Manager instead. No hypervisor running yet Windows (reads the firmware directly) Firmware flag: True = on · False = off Hypervisor running (WSL 2, Hyper-V, Docker) Windows is now a guest on top of the hypervisor Firmware flag can read False even though it works Trust HypervisorPresent = True and Task Manager
Why a "False" from PowerShell can't be trusted once a hypervisor is running.

How to read the two values together

HypervisorPresentVirtualizationFirmwareEnabledMeaningWhat to do
Trueanything (often False)A hypervisor is running, so virtualization is onNothing: you are fine
FalseTrueFirmware virtualization is on, but no hypervisor has started yetEnable the Windows features and restart: WSL 2 error guide
FalseFalseFirmware virtualization is off (or the CPU lacks it)Turn it on in the BIOS: step-by-step guide

Method 4: System Information (msinfo32)

  1. Press Win+R, type msinfo32 and press Enter.
  2. Stay on System Summary and scroll to the bottom of the right-hand list.
  3. Look for the Hyper-V lines, or for A hypervisor has been detected. Features required for Hyper-V will not be displayed.

The same page also shows Virtualization-based security (Running or Not enabled) and BIOS Mode (UEFI or Legacy). The latter tells you whether the "UEFI Firmware Settings" route in our BIOS guide is available to you. Like systeminfo, this view hides the requirement lines once a hypervisor is running.

Bonus: just try WSL 2

If you have WSL installed, the practical test is whether a WSL 2 distribution starts. In PowerShell:

wsl --status
wsl --list --verbose

wsl --status prints the default distribution and default version. In wsl --list --verbose, a distribution with VERSION 2 that reaches the Running state proves virtualization works end to end. If it fails with an error code such as 0x80370102, see Fix common WSL 2 errors.

Which answer should you trust?

SituationMost reliable signal
Nothing virtual has ever run on this PCTask Manager, then systeminfo
WSL 2, Hyper-V or Docker already run hereTask Manager or HypervisorPresent; ignore a False VirtualizationFirmwareEnabled
You are about to install something that needs virtualizationTask Manager, then try it
You are inside a virtual machineThe host's settings (nested virtualization), not the guest's

Common traps

  • "Shut down" is not "Restart." With Fast Startup, shutting down and powering on again does not fully restart Windows, so some changes (such as newly enabled Windows features) may not apply. Use Start → Power → Restart, or run shutdown /r /t 0.
  • Other hypervisors. Microsoft's minimum versions for coexisting with Hyper-V are VirtualBox 6 and VMware Workstation 15.5.5.
  • Windows edition. Microsoft states that WSL 2 is available on all desktop editions, including Windows 10 Home and Windows 11 Home. The full Hyper-V role (Hyper-V Manager) needs Windows 10 or 11 Pro or Enterprise.
  • Checks need no administrator rights, changes do. Everything on this page runs as a normal user. Commands such as bcdedit and Get-WindowsOptionalFeature ask for an elevated PowerShell and fail with "The requested operation requires elevation" otherwise.

Frequently asked questions

Why does PowerShell say VirtualizationFirmwareEnabled is False when WSL 2 works?

Once Windows runs on top of its hypervisor, the firmware flag is not reported to the operating system the way it is on a PC without a hypervisor. A machine where WSL 2 works can still report False. If WSL 2, Hyper-V or Docker run correctly, virtualization is on regardless of that value. Check HypervisorPresent or Task Manager instead.

What does "A hypervisor has been detected" in systeminfo mean?

It means Windows is already running a hypervisor, so virtualization is enabled in the firmware. Microsoft documents that systeminfo prints this message in the Hyper-V Requirements section on an existing Hyper-V host and does not display the individual requirements.

Task Manager says Virtualization: Disabled. What now?

Enable Intel VT-x or AMD-V (SVM Mode) in the BIOS/UEFI. Our step-by-step guide shows the key to press for each brand and where the option is.

Task Manager shows Virtualization: Enabled but WSL 2 still fails. Is that possible?

Yes. Firmware virtualization is only the first requirement. Windows also needs the Virtual Machine Platform and Windows Subsystem for Linux features enabled, a hypervisor that launches at boot, and a proper restart after changing features. See our WSL 2 error guide.

How do I check from inside a virtual machine?

The host must expose virtualization to the guest (nested virtualization). On a Hyper-V host, run Set-VMProcessor -VMName <name> -ExposeVirtualizationExtensions $true as administrator, then restart the guest.

Sources

  1. Microsoft Learn: System requirements for Hyper-V on Windows and Windows Server (systeminfo check and the hypervisor-detected message)
  2. Microsoft Learn: Troubleshooting Windows Subsystem for Linux (virtualization, hypervisor launch type, nested virtualization)
  3. Microsoft Learn: Basic commands for WSL (wsl --status, wsl --list --verbose)
  4. Microsoft Learn: WSL FAQ (WSL 2 on Home editions, nested virtualization)
  5. Microsoft Learn: Win32_Processor class (VirtualizationFirmwareEnabled)

Related guides

Run Android devices and browser profiles on your own PC

ADSSPEED manages many browser profiles and Android phone profiles from one app, each with its own device configuration, proxy and automation.