Skip to main content

VirtualBox: Getting Rid of the Turtle

Problem

Microsoft has continued to push many aspects of Windows security under the Hyper-V to create a secure isolation layer. Because of the widespread and continually changing nature Hyper-V usage in Windows updates, this creates performance issues with type-2 hypervisors such as VMware Workstation and VirtualBox, which need to compete with Hyper-V.

Solution

VirtualBox Official Documentation

Poor performance when using Oracle VM VirtualBox and Hyper-V on the same host. To fix this, certain Windows features like "Hyper-V Platform", "Virtual Machine Platform" and "Windows Hypervisor Platform" must be turned off, followed by a host reboot.

Additionally, the Microsoft Device Guard and Credential Guard hardware readiness tool might have to be used in order to turn off more features.

Ultimately, what ended up fixing it for me was to use the Windows Device Guard Readiness Tool mentioned in the second paragraph. Perhaps at some point in the future, the VirtualBox developers will find a way for VirtualBox to exist harmoniously with these features.

To be clear... I started with this suggestion as the bare minimum -- disabling Hyper-V, Virtual Machine Platform, and Windows Hypervisor Platform. However, this had no effect on resolving the green turtle.

The downside to using the Readiness Tool to disable Device Guard and Credential Guard is that this is disabling a core security feature of Windows. And, I'm not one to recommend foregoing computer security in the name of a performance upgrade.

Careful consideration should be given before disabling this. In my case, the performance impact of these security features was simply unbearable. 

  1. Download the Device Guard and Credential Guard hardware readiness tool
  2. Unzip the archive
  3. Hold the SHIFT key and right-click the .ps1 file, then choose Copy as path image.png

  4. Launch PowerShell as Administrator
  5. Run the tool -- ignoring any errors -- and let the computer reboot after the script runs
& "$env:USERPROFILE\Downloads\dgreadiness_v3.6\dgreadiness_v3.6\DG_Readiness_Tool_v3.6.ps1" -Disable -AutoReboot