How to install a Windows 10 Virtual Machine on an M1 Mac for free

A step by step guide to running Windows 10 on your M1 Mac without running Parallels

Keith Myers
Mac O’Clock
5 min readJul 22, 2021

--

Virtual Machine on MacOS

I recently invested in an M1 MacBook Air laptop (this is the exact spec I have) and have been seriously impressed with how fast it performs. I moved from Windows as my main operating system almost 10 years ago, but I like to have a Windows Virtual Machine for testing and running some non Mac applications. For the past few years I’ve been using VirtualBox without any problems and I love that it’s free.

Starting out with VirtualBox

VirtualBox installs on my M1 Mac, but only lists 32bit Windows, currently there is no support for ARM Processors (the M1 is an Arm processor but you probably know that already.) I tried to install it anyway to see what happened and got this error message.

VirtualBox Windows 10 install error on M1 Mac

Finding an alternative Virtualization Application

After a lot of google searching, most people recommended using Parallels Desktop. I knew that it was paid software, but I thought why not, it’s a one-off cost and that will be fine. When I checked though, Parallels is subscription-based like a lot of software, so for personal use, that’s $80 per year. Now considering I use my Windows desktop once or twice a month that seemed like an unnecessary expense.

I did some more searching and eventually found a different virtualization platform that is free of charge and can run Windows 10! There is a product named UTM which is essentially QEMU with a GUI, it’s free and open-source! I went ahead, installed it, then installed an ARM version of Windows 10, and once Windows was set up it repeatedly would not reboot. I did however manage to get everything working after spending several hours working on this!

Windows 10 running on M1 Macbook Air

High Level Steps for getting a Windows 10 Virtual Machine running on an M1 Mac

If you’re fairly technical and just want the high level approach this is what you need to do:

  1. Install UTM
  2. Install QEMU
  3. Download the Microsoft Windows 10 ARM Insider Build VHDX file from Microsoft
  4. Convert the VHDX to qcow2 image
  5. Create a Windows 10 VM in UTM and import the qcow2 image as a hdd
  6. Setup Windows 10 and install the Spice Guest Tools

The instructions to do this can be found on the UTM Website, but please make sure you follow this order as it will make the experience a lot faster for you!

Step by Step guide of how I got my Windows 10 Virtual Machine up and running

  1. Download and Install UTM — Get the latest version of UTM from mac.getutm.app. The version from the App Store is the same, but costs $10
  2. Install QEMU using Homebrew — Even though we are using UTM, we need to install QEMU so that we can convert the format of the Windows 10 image. If you have Homebrew installed then skip to the last point, but if not these are the steps you need to follow:

i) In terminal run

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

ii) This will install Homebrew but you need to run two additional commands

echo ‘eval $(/opt/homebrew/bin/brew shellenv)’ >> /Users/$USER/.zprofile

eval $(/opt/homebrew/bin/brew shellenv)

iii) Homebrew will now be installed and you can installed QEMU from terminal

brew install qemu

3. Download Windows 10 ARM insider version from Microsoft — We need to use the ARM version of Windows 10 which is currently only available using the Insider Program. There’s no cost for this or for joining the program but you do need to sign up.

i) Join the Microsoft Insider Program — Visit the site and sign up with an account if you don’t already have one.

ii) Download the Windows 10 ARM Insider Preview— This will download a VHDX image file that we need for the Windows 10 VM

4. Convert the VHDX Windows 10 image file to qcow2 image — In order to make the VHDX image from Microsoft compatible with UTM we need to convert the format. To do this we use qemu that we installed earlier. From Terminal run the following command:

qemu-img convert -p -O qcow2 /Users/keith/Virtual\ Machines/Windows10_InsiderPreview_Client_ARM64_en-us_21354.VHDX /users/keith/Virtual\ Machines/Windows10_21354.qcow2

*Please make sure you change the path in the command to the location of where your VHDX file is and where you want the output to be. You may also need to update the file name as at the time of writing this article the latest insider preview version for ARM is 21354

5. Create your Windows 10 Virtual Machine — there is a guide to do this on the UTM website Just make sure you follow all the steps throughly and Windows 10 should install. I configured mine with 8mb RAM (my Macbook Air has 16) and it works OK.

Tips on using UTM

UTM has taken a while for me to get used to, and here are a few of the features that have made a difference for me:

Escape Keys — Control + Option gets you out of the virtual machine
Display Resolution — Make sure you follow the guide from the UTM site; install the Spice Tools and change the display settings, this made a huge difference for me
Capture Mouse Cursor Button— According to the UI holding down control + Option does the same, but this button is different. When you press it, your cursor in your main OS moves to where the cursor should be in the VM. This is huge and really does make UTM a lot more usable

Conclusion

UTM is not as fast as VirtualBox and doesn’t seem to be as robust, but it does work! I’ve been able to use my Windows 10 Machine in full screen mode and so far haven’t had any problems. If like me you want to have a Windows 10 VM on your M1 Mac without spending money on Parallels, then I believe this is a great solution.

Additional Articles

Since writing this article, Microsoft have now released Windows 11 for ARM on the Insider Preview track. You can read my guide to how to install Windows 11 on your M1 Mac

If you have an iPhone and care about security and privacy, then I strongly encourage you to also read my Top iPhone Security and Privacy Tips

Bonus

If you found this story useful, please leave a comment, I’m trying to grow my writing and I’d like to know if this was useful. If you don’t have time for that, please at least give me a clap,or better still, hold down your mouse button on the clap to give 50! (it’s free!!!)

--

--

Keith Myers
Mac O’Clock

British Tech guy living in LA. Tech, Crypto and security evangelist, occasional nerd and fitness freak. I also sometimes write about tech for parents.