PowerShell: Check if Virtualization Is Enabled in BIOS

Need to check whether hardware virtualization (Intel VT-x / AMD-V) is enabled in the BIOS/UEFI - before running Hyper-V, WSL2, VMware, or any other virtualization software? This one-liner reads it straight from the processor info.

Prerequisites:

  • Privileges: None
  • Module: Built-in, no import needed

Quick Command:

Get-CimInstance -ClassName Win32_Processor | Select-Object VirtualizationFirmwareEnabled

Example Output:

VirtualizationFirmwareEnabled
------------------------------
                         False
                         False
                         False
                         False
📦
Want all of them at once?
Get every free one-liner from this blog in a single downloadable bundle organized by category, each with full comment-based help. No more copy-pasting one at a time.

How It Works:

  • Get-CimInstance -ClassName Win32_Processor queries the processor class, which reports one entry per logical core rather than a single entry for the whole CPU - that's why you'll typically see multiple identical rows instead of just one.
  • VirtualizationFirmwareEnabled returns True or False, showing whether hardware virtualization support is currently turned on in the BIOS/UEFI - not whether the CPU is capable of it, but whether it's actually enabled right now.
  • If this shows False even on a CPU that supports virtualization, it usually means the setting needs to be manually enabled in the BIOS/UEFI settings (often labeled "Intel VT-x", "AMD-V", or just "Virtualization Technology").

Pro Tip:

If you're running inside a virtual machine (Parallels, VMware, Hyper-V), this often shows False even if the physical host CPU supports virtualization - the VM doesn't pass that capability through to the guest OS unless "nested virtualization" is specifically enabled in the hypervisor's settings.