Here's what worked for me.
You need to check to make sure that Hyper-V is not running.
The telltale test is running "systeminfo" from the command prompt and if you see ‘A hypervisor has been detected. Features required for Hyper-V will not be displayed’ - then it's still not disabled.
Steps to disable
- Get into your machine's BIOS, typically UEFI today, and disable TPM ! Otherwise none of the steps below will work!!
Boot computer using F2 into the BIOS setup mode ( alternate keys include 'Enter' or 'Delete'). Alternately use the Windows method to get there using the Settings app ( reference : https://www.maketecheasier.com/boot-uefi-from-windows10/ )
Once inside the UEFI BIOS :
Locate the “Security” option and expand
Locate the “TPM” option nested under the “Security” setting
To clear the TPM you must check the box saying: “Clear” to clear the TPM , or "Disable" depending on your hardware manufacturer
Save these settings in the UEFI interface, the BIOS will likely ask you to reboot ( follow these steps )
Boot normally ... you probably won't see any difference.
Check : systeminfo
It should still complain about Hyper-V
- Open Powershell in administrator mode, enter:
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Hypervisor -All
wait until it completes ...
this will tell you the action is complete, not that the action was successful.
- In powershell also enter:
DISM /Online /Disable-Feature:Microsoft-Hyper-V
wait until it completes ...
this will tell you the action is complete, not that the action was successful.
check systeminfo again -- Hyper-V is proably still in the way .. keep going.
- Disable Windows Credential Guard
This appears to start Hyper-V regardless of settings.
The steps to do this are in the link provided, but I'll pull the salient ones:
https://docs.microsoft.com/en-us/windows/security/identity-protection/credential-guard/credential-guard-manage
Open the app "Local Group Policy Editor" from Microsoft, it's already part of the OS.
From the Group Policy Management Console, go to Computer Configuration -> Administrative Templates -> System -> Device Guard.
Change "Turn On Virtualization Based Security" and set this to "Disabled".
Now, restart by going through the typical windows shutdown process.
Once logged in again, run systeminfo , it SHOULD show you
Something like this now :
Hyper-V Requirements: VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: Yes
Second Level Address Translation: Yes
Data Execution Prevention Available: Yes
This means that the VT-x CPU extensions are not stolen by Hyper-V, and Type-2 Virtualization engines like VirtualBox can use VT-x directly to dramatically speed things up.
I anticipate that other VM technologies will benefit from this as well, Hyper-V stealing the VT-x interface from other VM technologies almost guarantees that Windows platforms will NOT be used as a host OS as time progresses.
This is incredibly difficult for the average user to disable and unfortunately really discourages anyone using VM technology on windows because any virtualization runs quite slowly.
Good luck. Add instructions if you find this needs some more detail.