myspaghetti / macos-virtualbox

Push-button installer of macOS Catalina, Mojave, and High Sierra guests in Virtualbox on x86 CPUs for Windows, Linux, and macOS
GNU General Public License v2.0
13.5k stars 1.12k forks source link

Script fails on check_default_virtual_machine - What are the next steps? #494

Closed MattNewbill closed 3 years ago

MattNewbill commented 3 years ago

Hi, I ran the script and am getting stuck on the check_default_virtual_machine step.

Running the script using cygwin on windows 10

The console says.. Checking that VirtualBox uses hardware-supported virtualization.

Virtualbox is not using hardware-supported virtualization features. Check that software such as Hyper-V, Windows Sandbox, WSL2, memory integrity protection, and other Windows features that lock virtualization are turned off. Exiting.

When I manually start the VM I get the error "Could not read from boot medium"

What are the actionable next steps? I've tried the following...

  1. Turn off windows credential guard (turn off in registry editor)
  2. Turn off virtualization guard (turn off in registry editor)
  3. Quit docker desktop
  4. Turn off Hyper-v in windows features

I have docker desktop installed, WSL2 installed, and hyper-v windows feature turned off, is one of those causing a conflict? Where do I check?

Troubleshoot: macOS_troubleshoot.txt

After more research, it looks like this is where to look to resolve the problem... https://forums.virtualbox.org/viewtopic.php?f=1&t=62339 However... I've disabled everything and still getting that error.

myspaghetti commented 3 years ago

Where do I check?

Microsoft gives a partial answer on their docs.microsoft.com website. Microsoft explains how to find out if Hyper-V is enabled but not what feature is enabling Hyper-V, so it's a bit of a wild goose chase.

In your case it's probably WSL2.

The good news is that WSL2 nested virtualization is already in the Windows 10 builds on Windows Insider so it's a matter of a few months before it hits release and the script will be changed so it uses a WSL2 virtual machine as a host, and nobody will have to hunt down what's enabling Hyper-V on their Windows installation.