Applies to: Intel VT-x and AMD-V processors; Linux checks tested on Ubuntu 24.04 (cpu-checker 0.7, util-linux 2.39.3, libvirt 10.0) (lscpu labels also checked on AlmaLinux 9); Windows steps from Microsoft’s documentation
Hardware virtualization is a CPU feature (Intel VT-x or AMD-V) that lets KVM, Proxmox, Hyper-V, VirtualBox and similar software run virtual machines at near-native speed. It is often switched off in the BIOS or UEFI even when the CPU supports it. You turn it on there, then check it from the operating system.
1. Check whether it is already on
On Linux:
lscpu | grep -i virtualization # "Virtualization: VT-x" or "Virtualization: AMD-V" grep -Ec '(vmx|svm)' /proc/cpuinfo # 0 means the CPU flags are not visible ls -l /dev/kvm # exists when KVM can be used
On Ubuntu and Debian, kvm-ok (package cpu-checker) gives a plain answer:
sudo apt install cpu-checker sudo kvm-ok
On a machine where it is on, it prints INFO: /dev/kvm exists and KVM acceleration can be used. Where the flags are missing, our test printed:
INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used
If the CPU supports it but the BIOS has it switched off, kvm-ok says INFO: KVM (vmx) is disabled by your BIOS with the hint to enable Virtualization Technology and then fully power the system off and on.
With libvirt installed, virt-host-validate qemu checks more at once; the first line in our test was QEMU: Checking for hardware virtualization : FAIL (Host not compatible with KVM; HW virtualization CPU features not found...).
On Windows (according to Microsoft): run systeminfo in Command Prompt or PowerShell and look at the Hyper-V Requirements section. Every line should say Yes. If Hyper-V is already running, you see A hypervisor has been detected. Features required for Hyper-V will not be displayed., which means virtualization is on.
2. Turn it on in the BIOS or UEFI
- Open the firmware setup:
- Windows (Microsoft’s steps): Settings > System > Recovery, next to Advanced startup select Restart now, then Troubleshoot > Advanced options > UEFI Settings > Restart.
- Linux on a UEFI machine:
sudo systemctl reboot --firmware-setup(“Tell the firmware to show the setup menu on next boot”). - Otherwise press the setup key during start-up; it depends on the manufacturer, often Del or F2.
- Find the CPU option. It is usually under Advanced, CPU Configuration or Chipset, and called:
- Intel: Intel Virtualization Technology, Intel VT-x or Intel (VMX) Virtualization Technology.
- AMD: SVM Mode or AMD-V (SVM is AMD’s name for it, and the CPU flag is
svm).
- Set it to Enabled. For PCI or GPU passthrough to a virtual machine, also enable VT-d (Intel) or IOMMU (AMD).
- Save and exit, then do a full power off and on if the option doesn’t take effect after a normal restart.
- Run the checks from step 1 again.
Microsoft’s advice is good on any machine: only change the setting you need, because adjusting other firmware settings can stop the system from starting.
On Windows: enable the feature too
For the Windows Subsystem for Linux and similar tools, Microsoft also asks you to open Turn Windows features on or off and select Virtual Machine Platform. Hyper-V itself needs a 64-bit CPU with SLAT and hardware-enforced DEP (the XD or NX bit) turned on as well.
On a VPS or dedicated server
- VPS: your VPS is itself a virtual machine. The VT-x or AMD-V flags only appear inside it if the host passes them through (nested virtualization); you can’t turn this on from inside the VPS. If
kvm-oksays the CPU doesn’t support KVM extensions, ask support, or run your hypervisor on a dedicated server. - Dedicated server: open the BIOS through the IPMI console, which also works for reinstalling (install an OS using IPMI). Ucartz unmanaged dedicated servers include free IPMI KVM access.
Next steps: install Proxmox VE or first steps on a new dedicated server.
Official documentation: Microsoft: system requirements for Hyper-V.
