Skip to content

Instantly share code, notes, and snippets.

Last active February 21, 2024 23:38
Show Gist options
  • Save mislav/bc3edabc2dbb861fd32e2e05eb2780dd to your computer and use it in GitHub Desktop.
Save mislav/bc3edabc2dbb861fd32e2e05eb2780dd to your computer and use it in GitHub Desktop.
Install Windows 11 in a virtual machine on macOS with an M1 CPU

Based on

  1. You will need:

    • A Windows 10 or Windows 11 license key;
    • UTM for Mac - the App Store version is offered as a way to support the developers, since it's paid, but has the same features as the free build.
  2. Obtain scripts that bootstrap an arm64 Windows 11 22H2 (I've chosen Windows Home edition and not Pro);

  3. brew install aria2 cabextract wimlib cdrtools minacle/chntpw/chntpw;

  4. cd into the directory extracted in step 1 and bash - this will produce an ISO;

  5. In the UTM app, create a new “Virtualize” machine and mount the ISO file from the previous step;

  6. Check “Install drivers and SPICE tools”;

  7. Boot the VM and go through the Windows installer;

  8. Boot the installed OS and finish the SPICE tools installer that should pop up by itself, then reboot the OS;

  9. Windows should now be ready to use, but there might not be network connection. DNS resolution seems busted. Two different workarounds that I've successfully tried were:

    • Shut down the VM and change its network settings from “Shared” to “Bridged”; or
    • Open “Network & internet” settings in the guest OS and set static IPv4 addresses for Google DNS: and
  10. Follow these instructions on how to enable the Microsoft Store app if it's missing (note: you might need to first mkdir C:\Temp);

  11. (Optional) Windows will look pixellated on a Retina display, but you can fix that by shutting down the VM, changing the display settings for the VM to enable “retina” mode, then booting Windows back up, resizing the VM window, and adjusting “Scale” the setting in Windows display settings.

  12. (Optional) The scroll direction in Windows might be opposite to what you are used to in macOS. You should be able to adjust touchpad scroll direction easily in Windows settings, but changing the mouse wheel scroll requires manual tampering with the Windows Registry. (Unfortunately, changing the FlipFlopWheel registry parameter for my mouse did not have any effect even after OS restart.)

Copy link

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment