Running Windows 11 ARM64 on Apple Silicon

Godson Ukpere
5 min readFeb 26, 2023

--

I stumbled on this article which was a big help in figuring out the procedure of getting this done, but unfortunately, more untold tales will make you a helpless protagonist. The article contains the necessary steps but doesn’t cover some new blockers you will experience. Hence I’d be sharing an up-to-date process—lookout for the Gotchas sections.

TLDR; After rocking the MacBook Pro 13" 2014 for several years, it was time for an upgrade, and I was most drawn to the 14" M2 Pro as my daily driver.

I sold my windows machine a few months ago because I rarely used it; unknown to me, I would stumble on some fun project that requires a Windows machine. Given the latency that plagues RDPs and the OS User interfaces, my only option now was to run a Virtual Machine.

VMware Fusion

If you would rather skip the account creation process and you could get it installed already, I got a guy for you here; else, proceed with the following steps.

TLDR; The first step would be registering for a personal account and downloading VMware Fusion Public Tech Preview 22H2 from here.

You would need to create an account with “Non-commercial” or “Personal” use, generate a Serial Key, and proceed to download the Provided image.

Gotchas: If you download the setup first and try to create a serial key, It won’t work. You need to generate a free serial key before downloading the setup file.

Building a Windows 11 ARM ISO

While the colossal setup file downloads, you can begin creating your image file. Following this link, generate a zip archive with these similar parameters.

The resultant file should look like 22621.891_arm64_en-us_multi_ac87ab3a_convert.zip

After that, you’ll need to install homebrew and install the following packages.

Brew installation

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Dependency installation

brew tap sidneys/homebrew
brew install cabextract aria2 wimlib cdrtools sidneys/homebrew/chntpw

Gotchas: The current version of cabextract@1.11 on brew has a bug whilst building the cabinet files from the UUP dump. You’ll need to use the version cabextract@1.9.1 .

Installing cabextract@1.9.1

First, download the GitHub release and build a local tap with brew.

Download version 1.9.1 here and extract the files from libmspack-1.9.1.tar.gz. You should get a directory like the one below.

The next step is to create a local brew tap. I recommend placing the cabextract directory by itself in your user directory to keep it simple, and then run the following lines:

brew tap-new $USER/cabextract
brew extract --version=1.9.1 cabextract $USER/cabextract
brew install cabextract@1.9.1

At this point, you will have all the necessary dependencies.

Building the ISO

Having extracted 22621.891_arm64_en-us_multi_ac87ab3a_convert.zip, navigate to the directory in your shell, and run the following command.

bash uup_download_macos.sh

This takes a while to download the UUP dump and build the ISO file. If you follow all the steps above, it should complete without a problem.

The output should be a file 22621.1_MULTI_ARM64_EN-US.ISO inside your current working directory.

Installing Windows

Back to VMware Fusion, create a new machine by selecting the image file from above in the screen below.

Select all the default configurations and set a password on the following page.

You can decide to customize your resources, but I recommend going simple and changing things like core count or RAM much later.

Proceed with the installation, which only takes a few minutes to complete.

Be sure to select “I don’t have a product key”. If you got a juicy pocket, just stop here, and get a intel i9 13980HX Windows machine

Gotchas: During the windows setup you get stock on the “Internet Connection” screen and you won’t be able to finish the setup. If you made it to this point, then you’re in luck cos I got you.

Windows 11 Internet Connection ByPass

Again, proceeding with all default settings, you'll get stuck on this page, mainly because the Network Adapter driver is not installed, hence no internet connection.

Now hit Shift + F10 (fn + Shift + F10, to be literal), opening up the terminal. Now run the following command, bypassing this step and letting you run the setup without a connection.

OOBE\BYPASSNRO

The machine will now restart, and you will have the option to skip the internet connection step.

After that is done, you should proceed to Windows, and install Vmware tools to get the Network Adapter drivers.

Hit the top menu Virtual Machine > Install VMware Tools.

This creates mounts an image file in My Computer.

Now proceed to run Power Shell as administrator and run the following command.

Set-ExecutionPolicy RemoteSigned

You’ll get a prompt; type “Y” and proceed.

Now, in the Vmware Tools image in My Computer, run the setup.psi with Powershell is like so:

After it's done, you should have an internet connection.

Gotchas: I still have the problem of Copy/Pasting from my host to guest machine and vice-versa. Let me know if you have a solution.

Much credit to Grant Peach for laying the foundations for this process.

--

--