Why is getting Windows 11 running on Apple Silicon such a shit-show?
Before I travel and don’t have access to my Intel Mac mini that can bootcamp and run Windows 10/11 on Intel Silicon, I’m attempting to get my Windows 11 via VMware Fusion system going again, just in case.
I’ll note that the “CanOpener” Windows XP VM that I use to access insanely old iLOMs has been rebuilt to run under UTM (which does Emulation, not Virtualization — it’s QEMU under the hood with a nice GUI), but it’s fast enough to work reasonably on my MacBook Air. That may be the subject of a whole different article.
At this point, I ask myself: Why do I want Windows support so badly? Skip this section if you don’t want to read a rant.
It’s not for games — not on a platform with no supported 3d acceleration. It’s not because there’s some killer app that I need to use that doesn’t work on MacOS. If there were one of those, I would have found another way a long time ago.
It’s really because, sometimes, when I am hitting a problem on some stupid website — arguably, a government site — I will find that the (outsourced) developer only tested it on IE. Or only on Edge and Windows. Or only on Chrome and Windows. I’ve been told by Paychex, obviously too small to have the staff to do it right, that: “We don’t support Safari” (which is to say, you also don’t support iOS, iPadOS, or any other browser that uses WebKit).
And for literally years, Chrome was known to just be a pig, causing the fans of my small, lightweight mac to spin up as though the machine were taxi’ing to the runway for takeoff.
Ironically, Safari is a bastard child even to VMware, as my VCenter server complains:
Your browser-OS combination is not supported. Some features might not work correctly. A minimum of IE10, Firefox 34 or Chrome 39 are required on Windows. A minimum of Firefox 34 or Chrome 39 are required on Mac OS X. Read the vSphere Web Client help for details.
It’s not just browsers. I occasionally am asked to help edit an Excel document. Not read; not convert; edit: make changes and then mail it back, otherwise unmolested. And I’m sure we all know the saga of Excel and Word files that are somehow irreversably damaged when you open and then save it in a Mac version.
So really, I’m installing a whole ‘nother OS in order to be the world’s most annoying file-editor and web-browser installation tool.
The Windows 11 process has been harder than it needs to be, due to efforts (or lack thereof) on the parts of both Microsoft *and* VMware. AND Apple.
All three of these companies could have realized “holy cow, there’s still a whole subset of industries that rely on Windows-based workflows, we should fix this”. But they didn’t. This is a “hold a developer summit for a few weeks, lock them in a hotel conference room and pipe in nothing but Jolt and adderall, and you’ll have a solution.” type of problem.
For starters, I should say that The best guide on how to use VMware Fusion on Apple Silicon is a third party document, written by not-a-vmware-employee, only linked from VMware’s forums as a PDF download.
Some of my post’s content will come from this document, either as screenshots or copy/pastes.
Boot Camp is no more: there’s still no native way to simply boot your whole macbook into Windows, onto a separate partition. There’s no strong technical reason that it couldn’t work. Windows requires a TPM for technical reasons, but there’s no reason that it couldn’t trust the Mac’s Secure Enclave in lieu of a TPM-2.0-Spec TPM. Officially, your mac will only ever boot into MacOS, if Apple has their way.
There are fouth-party efforts to make Windows on m2 baremetal work, but there never will be the same slickness that my Intel mac has: running a Boot Camp partition either as a native boot, or inside VMware. It will forever be a hack.
Despite my paying for a legitimate Windows 11 license ($20 from TheUnitySoft.com), there’s no straightforward way to get an .iso. No website I can go to where I just right-click → save. Not from either the place I bought it from, nor from anywhere on Microsoft.com.
No — instead, as a macOS user you have to install Homebrew, and install other open-source software, then run a bunch of shell scripts that pull down the updates from an update server at Microsoft, and that then build the ISO for you. And of course, those scripts can’t do some things (like slipstream updates into the ISO) without running on actual windows platforms.
Clearly, your path to getting from one multi-billion-dollar-company’s OS to another, is via the weirdly-painted repurposed 1970’s school bus with chicken cages riding on top.
When VMWare Fusion 13 came out (after nearly a year in beta), they announced that the product lead would do a live stream of the available features.
And they talked at an inactive stream for a half hour. (That link is to the stream when they finally noticed the “go live” button). That should have been an indicator of how it was all going to go. When the stream started, they were really sheepish about it and felt bad (and likely, had muted their phone where their boss was probably texting them like mad). I get it, these things happen. But…oddly prophetic.
When you install the Windows 11 ISO and get it running, as soon as it asks you for a keyboard layout and a location, it demands to connect to the internet. Like, if it doesn’t find a network card, you’re done, dead in the water. There’s no “skip this step” option.
And of course, VMware doesn’t package something Windows will recognize like an Intel e1000 (supported on pretty much all hardware, and has VMWare emulation code present in ESXI), or a Virtual Realtek NIC or something, they only include their VMXNet driver, which of course, no Windows machines come with support for out of the box. (You’ve had a year to ask MS to bundle your driver, why didn’t you?)
Ergo, you need to sidestep the windows installer to launch a DOS windows by hitting Shift-Fn-F10
then launching Powershell
. Once you do that, you have to manually navigate to the “Tools” CD, and install the VMWare tools ASAP, just so you can get through the installer. And then reboot and restart the post-copy installer again.
By the way, the “tools” are not what you’d expect — there’s not even a setup.exe
, if you’re used to previous versions of Windows making Fusion much more featureful. It’s just two drivers — the above network card, and a slightly better VGA driver.
There’s also no “Unity Mode” (run a single windows app, but sweep the windows desktop under the carpet).
Nor is there a “Proper” fullscreen mode: Full-screening it, is like fullscreening a DOS app: You don’t get more pixels, you just get a bigger version of the same thing, with letterboxing.
Okay, then what? Oh, Microsoft being Microsoft. They really want you to have a Microsoft account, really want you to opt in and share your location and other data with Cortana and whatnot, and reallyreally want to sell you an updated Office365 subscription (free trial! 9.95 a month thereafter). You’ll note there’s two options: bother me now, or bother me in 3 days.
…and forget just logging in to Windows with a username and password, you set a PIN.
So, it stands to reason that I’m installing Windows 11, because I want to be able to log in to things.
And because this is 2023, I have a unique, strong, annoying to even-remember-for-a-few seconds-and-retype password for every different website. And all of them are trusted to a password manager.
Which brings me to the greatest frustration:
Fusion doesn’t support file sharing between mac and windows.
Fusion doesn’t support copy and paste between mac and windows.
Apple makes a version of iCloud that lets you use your iCloud Keychain passwords in Edge or Chrome, and the only way to install it is via the Microsoft Store. (It’s free)
The Store app doesn’t get installed with windows 11 (or at least, it didn’t with my version of Windows 11), requiring a command-line fix to reinstall it: wsreset -i
— then you just wait for the store icon to show up.
Even once you get the Store running, if you install iCloud for windows, it doesn’t work.
What this, in turn tells me is that the Microsoft store does an absolute garbage job of dependency-checking and will totally let you download a tool without seeing if the things it needs to run are installed.
Now, there is a fix for this that I haven’t found documented elsewhere, and I plan to suggest it to the author of the guide above. If you manually install the Microsoft Visual C runtimes for ARM64, then iCloud will launch:
Is it going to break the next time they push an update? Did they actually test this? Who knows?! Glad they’ve been spending all that time getting those 14 new emoji working in iOS 16.3!
According to VMWare, VMWare’s virtual CPU is now “officially supported” by Microsoft.
But that said, Windows still doesn’t “officially recognize” the CPU presented by fusion (despite the assertions in the above blog), so you get vague errors in windows update regarding the insider program.
Worse, a previous version of my VM (which was installed *via* the UUPDump method), would constantly complain that it was going to expire:
The only way I was able to fix that was to completely rebuild the VM. Which caused me to blog the process here. You’re welcome.
So there you go. I have a thing that kind of sort of maybe works. It doesn’t warn of pending expiry, it launches a web browser, and presumably can edit word docs. It has my passwords so it’s almost as useful as the iPad in my shower. Other than “a browser I hate that I need” and “Excel” I have no real reason to have it open 99.9 percent of the time. But it’s there.
Microsoft, and VMWare, and Apple all could have made this so much easier, but they didn’t. There’s no real excuse for this.
I really wanted to have a nice conclusion here, but the only thing I can really think of comes from the words of Johnen Vasquez’ Invader Zim and Kevin Hamilton McDonald (of Kids in the Hall fame):
“It’s not stupid, it’s advanced.”