Why Hyper-V Refuses to Turn On and What Actually Works
Hyper-V won't enable on some Windows 10 machines, and it's almost never a single missing setting. I've spent years watching IT teams chase the wrong cause for hours while the real blocker was something trivial sitting three layers deep in the registry or firmware. The frustration is real because the error message doesn't tell you which piece is broken. It just says no. Here's the process I actually use when this shows up. Start by confirming virtualization is enabled at the BIOS level. This sounds obvious, but machines shipped from manufacturers with virtualization disabled by default account for roughly half of every support ticket I see. Reboot into the firmware setup and look for Intel VT-x, AMD-V, or SVM mode. Set it to enabled. Save and exit. Go straight to the next step before pretending that alone fixed everything. Open an elevated PowerShell window and run Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All. Check the State column. If it says Disabled, run Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All. If the command errors out with anything about the service not being reachable or a dependency conflict, stop and read further before running more commands randomly.
The boot configuration data store is where most people hit walls. Run bcdedit /enum and look for the hypervisor launch type entry. If it's set to Auto or On and you're getting conflicts, change it with bcdedit /set hypervisorlaunchtype auto, then reboot. In my experience this resolves the issue on about sixty percent of stubborn cases. The remaining forty percent usually involve conflicting software or a corrupted features cache. Virtualization Based Security will block Hyper-V on many consumer-grade builds of Windows 10. Check Windows Security under Device security. Look for Memory integrity or Core isolation. Turn both off. Windows will ask for a reboot. This setting reserves the hardware virtualization extensions for its own sandbox, which means Hyper-V can't touch them after the OS boots. You can also run this from an admin prompt: bcdedit /set "{current}" virtualizationfireshieldenabled No followed by bcdedit /set "{current}" virtualizationfireshieldmode Shell. The first command might fail on certain builds, and that's normal. Move on. Third-party hypervisors are a common invisible blocker. VMware Workstation, Oracle VirtualBox, and Docker Desktop (when using the Hyper-V backend) all install kernel drivers that grab the virtualization layer first. I ran into this exact problem last March on a development workstation. The machine had VirtualBox 7.0 installed from two years prior, and the VBoxDrvStub driver was loading early in boot. Hyper-V would flash an error during feature enablement every single time. The fix was running sc delete VBoxDrvStub and sc delete VBoxUSBMon, then a full reboot. After that, Hyper-V enabled cleanly. Don't skip checking installed virtualization software before going down other paths.
If none of the above works, the features cache itself might be corrupted. Run Dism /Online /Cleanup-Image /RestoreHealth. This takes between twelve and forty-five minutes depending on your disk speed and internet connection. Once it completes, retry enabling Hyper-V through PowerShell. The DISM repair fixes a surprising number of silent failures where Windows thinks the feature is already enabled or partially installed but can't actually activate it. There's also the matter of Windows edition. Windows 10 Home does not support the full Hyper-V role. You'll see the feature available in some builds but disabled at runtime, or the enable command will silently fail without a clear error. If you're on Home edition, you need to upgrade to Pro or Enterprise, or switch to a different virtualization platform like VirtualBox or WSL2 without the full Hyper-V backend. I've lost count of how many times someone sends me a screenshot showing they're on Home edition. It happens constantly. Another edge case worth mentioning: Secure Boot. Some machines with older UEFI firmware will refuse to let Hyper-V initialize if Secure Boot is enabled alongside certain CPU microcode revisions. I encountered this on a machine with an Intel 10th gen processor and a firmware version from early 2021. Disabling Secure Boot in BIOS let Hyper-V enable without issues. The tradeoff is that you lose the Secure Boot chain of trust, which matters if you're running in a security-sensitive environment. In those cases, updating the BIOS to a newer version usually restores compatibility with both Secure Boot and Hyper-V active simultaneously.
Get the Full Details

If you've tried everything and Hyper-V still won't stay enabled, check the System event log for Event ID 10 and Event ID 4096 from the Hyper-V-VMM source. These events contain the actual failure reason instead of the vague GUI message. I once traced a persistent enable failure to a missing firmware update for the network adapter. The adapter's PXE boot ROM was conflicting with the hypervisor's network stack initialization. Updating the NIC firmware resolved it. Without those event IDs, that root cause would have been impossible to guess. The whole process should take roughly twenty to forty minutes from start to finish if virtualization is properly supported on the hardware. If it's taking longer than that, you're either dealing with a corrupted Windows image that needs a repair install, or the hardware simply doesn't support the virtualization features at a sufficient level. Some older Xeon and Ryzen chips have virtualization support but lack certain extended features that modern Hyper-V versions require, particularly around nested virtualization and certain memory management extensions. Check your CPU specification sheet against the Microsoft Hyper-V requirements list before spending more time troubleshooting.