can't run virtualbox 6.1.4 with hyper-v

I have virtualbox 6.1.26 installed and it runs perfectly with Hyper-V enabled, which I require because I also run Docker.

I made the mistake by upgrading my virtualbox version (to 6.1.28) and next thing you know is I cannot run with Hyper-V enabled. Had to downgrade again to get it working.

The takeaway is perhaps, don't rush to update your virtualbox if it is already working.

--

I remember now why years ago I started using VMWare, because updating virtualbox usually breaks my VMs. This is sad given they advertise a new version always on startup.


The issue is due to the enablement of Core Isolation features within Windows that automatically get enabled with several versions of Windows feature pack updates, including Windows Update Pack 20H2 and others.

If you do not have the hardware to support Core Isolation, Virtualbox will function with the Hyper-V role enabled on any system with VT-x enabled as normal, which explains why many users do not encounter the issue you have. However, if your system supports even some of many hardware security features (like any Windows 11-capable systems with TPM 2.0 hardware security), you can encounter this problem because when the Core isolation feature is enabled, Windows will obfuscate the existence of the VT-x hardware virtualization support from the primary running windows environment (known as "dom0" in the old Xen parlance, which Hyper-V was originally based on).

The easiest method is to disable the necessary hardware security features is by using the Device Guard and Credential Guard hardware readiness tool available from Microsoft here: https://www.microsoft.com/en-us/download/details.aspx?id=53337

Then disabling with:

DG_Readiness_Tool_v3.5.ps1 -Disable -AutoReboot

You can find additional information on the feature here: https://support.microsoft.com/en-us/windows/device-protection-in-windows-security-afa11526-de57-b1c5-599f-3a4c6a61c5e2#hardwarescore

Note this will however disable these security features, which come with the expected risks that you will have to evaluate for yourself (but place your system in the identical state it was in prior to the enablement of these features).