Running Windows/ARM on Apple Silicon Macs via UTM

[2022-06-04] dev, javascript, nodejs
(Ad, please don’t block)

UTM is a free virtualization software that runs Windows/ARM on Apple Silicon Macs. This blog post explains how to use it.

UTM’s instructions  

UTM’s “Gallery” lists recipes for running various operating systems. The Windows 11 (ARM) recipe mostly worked for me. In this blog post I give a few tips that complement those instructions.

I’m impressed by how well UTM runs Windows/ARM on my MacBook Pro 14-inch with an M1 Pro.

Installing Windows/ARM  

As the recipe mentions, there are three downloads (for the links, see the recipe):

  • UTM for Mac
  • Windows for ARM (Windows Insider Preview): This is a free download for now. You only need to be a member of the Windows Insider program. It’s free and easy to join – you only need a Microsoft Account (which is also free and easy to create).
  • SPICE Guest Tools: Need to be installed on Windows for UTM to fully work (dynamic resizing of the window with the Windows screen, support for networking, sharing files, shared clipboard, etc.).

The “Create a New Virtual Machine” wizard works really well – I didn’t need to change any of the defaults. Steps:

  • Start: We need “Virtualize” (not ”Emulate”), as we are running Windows/ARM natively.
  • Operating System: Windows
  • Windows: Check “Import VHDX Image” and use the “Browse...” button to point UTM to the downloaded Windows disk image.
  • Hardware: I didn’t change the defaults.
  • Shared Directory: I created a directory “SharedWithWindows” in my macOS home directory and told UTM about it via the “Browse...” button.
  • Summary: I changed the name of the newly created virtual machine from “Windows” to “Windows/ARM”.

We can now start the virtual machine:

  • Follow the Windows installation process until the keyboard is fully configured.
  • Afterwards, my installation got stuck because the Windows installer couldn’t access the internet.
  • Even if that doesn’t happen, now is the best time to install the SPICE Guest Tools (because afterwards, we can resize the window etc.):
    • Press Shift-F10 – the Windows command prompt opens (you might have to configure your keyboard so that F10 isn’t a media key, but fn+F10 worked in my case).
    • Click the “Drive image options” icon in the top right corner of the UTM window and change it to the SPICE Guest Tools .iso disk image. This disk image is now “in” Windows drive D:.
    • Run the SPICE Guest Tools installer by entering “D:\spice-guest-tools-VERSION.iso” and hitting return.
      • After “spice”, you can hit the Tab key and Windows completes the filename for you.
      • If you are having trouble entering the backslash, you can first enter “D:” and then the filename (without a preceding backslash).
  • When the SPICE Guest Tools Installer is done, we let it reboot the virtual Windows machine for us.
  • We have to configure region and keyboard again, but the virtual machine works much better now. The installation should go through smoothly from now on.
  • Windows terminology I wasn’t familiar with: A “Windows Hello PIN” is a password.

A few tips for using the virtual Windows machine  

  • The Windows Menu is loosely similar to Spotlight and activated by clicking on it (in the Taskbar at the bottom) or by pressing the Command Key.
  • Inverted scrolling: Windows only supports Mac-style inverted scrolling for mice, not for trackpads. Solution: Click the “Edit selected VM” icon in the top right corner of the UTM window and check “Input > Invert Mouse Scroll”.
  • The shared folder is available in Windows via “Network Drive (Z:)”.
  • You can display the keyboard layout by running “On-Screen Keyboard” via the Windows menu.
  • By default, the “Microsoft Store” application (Microsoft’s app store) is not installed. I haven’t found a simple way to fix this but I didn’t need the Microsoft Store yet, either.
  • I disabled the macOS shortcuts that use the control key plus an arrow key: “System preferences > Keyboard > Shortcuts > Mission Control”. That way I can use these shortcuts when editing text in Windows.

Useful software