Newer Mac + Windows 10 on Boot Camp + Hyper-V enabled = Infinite Spinning Circle. Here is how I recovered it.

Short Summary

  • Hyper-V on Boot Camp would not be supported for newer Mac models.
  • If Hyper-V turns on for Windows 10 which is installed on Boot Camp it gets stuck on boot and be unusable.
  • Once it gets unusable, disabling Hyper-V from the Safe Mode, or reinstall Windows 10 from Boot Camp, would be needed for recovery.

Long Background

I recently bought a Windows 10 Pro license to install into my MacBook (Early 2016) by Boot Camp and try Visual Studio and Xamarin on it.

The Boot Camp Assistant utility was quite simple and straightforward, and all I needed to ready Windows 10 was to select the size for Windows 10’s partition (although I needed to run First Aid from the Mac’s recovery mode once to repair the filesystem before I started). The newly installed Windows 10 looked well and worked nicely, until I installed Visual Studio Community Edition and Xamarin.

I started install them, and Windows 10 was going to be rebooted when it finished. Proceeded it, and Windows 10 shutdown. Unfortunately something messy was happening then. The Windows 10 got stuck in a boot step, at the spinning white dotted circle with the Windows logo screen, and the screen continued forever. Cycling Mac’s power had not been the help and no ways to enter the Safe Mode. All I could do was to go back to Boot Camp Assistant and destroy the Windows 10 partition once and then recreate it.

I then tried to install the components of Visual Studio and Xamarin separately, to find what caused the issue. Visual Studio components seemed to be OK. When I tried Xamarin, it seemed some OS feature had been modified, and the OS reboot had been requested. Once it’s rebooted, the issue started occurring.

Seeing this behavior I googled about it, and found some threads in Apple’s community discussion forum that described the similar symptom of mine. Though they did not mention about Visual Studio nor Xamarin, but do about Hyper-V. According to them Hyper-V feature on Windows installed with Boot Camp is not supported for newer (2016 model) Macs, and that seems to cause the issue. Turning the feature on intentionally to test on my MacBook (early 2016), and found the same issue was reproduced.

I then concluded the issue I saw was because of the Hyper-V feature enabled, and guessed the feature had been turned on during Xamarin installed.

But, one concern came in my mind. OK, I’m not going to turn on the feature, but what if it’s accidentally turned on, by software installation like this case or any other reason? Destroy and recreate Windows 10 partition from Boot Camp utility should be possible but really nonsense, of course, so I wanted to know the way to recover it.

Googled again, and luckily I could find an experiencer’s post in the forum. The steps described in that post are almost useful but seemed slightly incorrect, and an extra step may be needed, so I want to summarize what I did actually here.

Steps to recover the stuck-on-boot Windows 10

Step 0. Before you go, you should modify an Windows 10’s setting and enable the Legacy Safe Mode, to let Windows 10 to accept F8 key on boot process to turn in the boot menu. This has been disabled for Windows 10 by default, and I could not find any other ways to boot Windows 10 in Safe Mode when the issue occurs.

To enable the Legacy Safe Mode, on the running Windows 10 environment, open Command Prompt with the administrator rights and type the following command.

bcdedit /set {default} bootmenupolicy legacy

When you face the issue, you should boot Windows in Safe Mode with Command Prompt, and disable Hyper-V feature.

  1. Force power off if you see the spinning circle boot screen. Power the Mac on again, and instantly press F8 key repeatedly, to load the boot menu.
  2. Select Safe Mode with Command Prompt in the boot menu. Please note that I had seen some cases the Safe Mode did not started correctly or it rebooted instantly. Try some times from step 1 if you also see it.

Once the Command Prompt loaded, type the following 2 commands in the Command Prompt to turn off the Hyper-V feature.

dism /Online /Disable-Feature:Microsoft-Hyper-V-All
bcdedit /set {current} hypervisorlaunchtype off

Then type exit to reboot Windows 10. Please note again that I had seen a case the Safe Mode did not terminate. You may need to force power off, and boot Windows 10 some times.

Launch Windows 10 in normal mode (not Safe Mode) and check if it starts. At least these steps worked for my case and I did not need to reinstall Windows 10.