It’s much, much easier to run Windows on a Mac than macOS on a Windows machine, but that doesn’t mean that this crazy hybrid environment is always going to be perfect. Microsoft recently released a bulletin that explains why you might be encountering some issues if you’re trying to update to the latest version of Windows 10 (1903) on a Boot Camp version of the operating system.
The short answer? Your Mac is really old. As Microsoft describes:
“Mac devices prior to 2012 or newer Mac devices with the older Apple Boot Camp or Windows Support Software drivers have a compatibilty [sic] hold in place and are unable to update to Windows 10, version 1903. Specifically, devices with MacHALDriver.sys dated September 24, 2011 01:57:09 or older in Windows\system32\drivers are affected.”
You’ll know you’re experiencing this issue when you go to update Windows 10 and you see a notification that looks like this:
To fix this, you have a handful of options. First, you’ll want to make sure that you’re running the latest version of macOS, which includes updates to Boot Camp. (If you’re not on macOS Mojave, it might be time to try giving that a shot. Or, if you’re daring, you can even try jumping up to macOS Catalina.)
After that, consider reinstalling the Windows support software that comes with Boot Camp.
If that doesn’t fix the issue - and I suspect it won’t, given all the chatter I’ve seen about this problem so far - you might be able to get away with a clean installation of Windows 10 version 1903.
Use Microsoft’s Media Creation Tool to build a new .ISO, and see if you can reinstall a new Boot Camp version of Windows that way. (You will, of course, want to back up all of your files before going down this route, as you’ll want to install a clean version of Windows 10.)
Even then, this step might cause more issues than anything else.
Instead, what I recommend trying is grabbing an updated Mac HAL Driver—machaldriver.sys—from an unofficial source (mirror), booting Windows 10 into safe mode, and overwriting the old file with this new one.
You’ll find the old machaldriver.sys in
c:\Windows\System32\, and replacing it might require you to rename the original file to something like machaldriver.bak. You’ll then need to restart your system, wait for Windows 10 to boot up, and then copy the new file into your \System32\ directory.
Otherwise, you can wait until late July for Microsoft to fix this issue, but that’s no fun. Replacing the .SYS file in question should get you going and allow you to use Windows 10 version 1903 without issue.