How to install Windows 10/11 x86 or ARM Virtual Machines on Apple Silicon M1 Macs

The new Apple Silicon CPU processors have brought a breath of fresh air to the world of computing, but for savvy users, they have also brought with them many limitations. If you used Windows on your Mac, perhaps via BootCamp, upgrading to a Mac equipped with an M1 processor will find you unable to continue doing so. And with this, you will find yourself facing even small daily problems.

If you are the classic Apple user who only uses Apple-specific software, you will have no problem, but if – like us – you are used to going beyond fences and blocks, keep reading and you will discover some interesting things.

ARM virtualization and x86 emulation on the new Apple Silicon M1 CPU chips

Let’s start with some clarifications: Apple and macOS do not have a proprietary virtualization system open to users – unlike Microsoft which has, for example, Hyper-V – but they open the platform to third-party software. The problem is that the situation has become complicated since Apple switched to Intel processors and these software pieces are struggling to arrive or perform.

Apple has developed a software, BootCamp, which allows the installation of Windows or other OS on Mac alongside macOS, but the use of these requires a restart, a really uncomfortable situation and which remains confined to Macs equipped with Intel processors. thus cutting out all the new machines equipped with Apple Silicon chips.

Also, keep in mind – for performance and problems – that virtualization is different from emulation, where the latter reconstructs the hardware elements via software, while virtualization has direct access to some hardware components – such as the processor, the GPU, the memory, ..etc .. – and for this reason, it is faster and more efficient. The architecture to allow virtualization must be the same on both the host machine and the guest, so – in our case – Windows ARM will be virtualized on M1 Mac but Windows x86 will only be emulated on M1 Mac.

Currently, the most practical and efficient solution for running Windows on the Mac M1 is to use a paid software called Parallels. Parallels Desktop for Mac has been rebuilt and optimized to natively run on Apple M1 and Intel-based Mac devices, improving speed and performance. Obviously, there are also many other alternatives – some still not totally reached as VMware – including some very interesting, free, and based on open-source software. And it is precisely the latter that we are going to deal with.

How to install a Windows 11 ARM Virtual Machine on an M1 Mac without running Parallels
How to install a Windows 11 ARM Virtual Machine on an M1 Mac without running Parallels

How to install a Windows 11 ARM Virtual Machine on an M1 Mac without running Parallels

First, if we want to install Windows 11 on our Mac, we must necessarily get a copy of this software. Being still in the beta phase, the software is easily obtainable from Microsoft thanks to the Preview program. Here is the direct link to download the latest Microsoft operating system in the updated ARM version: https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewARM64.

If you don’t have a Microsoft account, sign up quietly to get all the privileges of the Insiders.

Click Sign-In and sign in to download the image. The download in question will be a VHDX file, that is, designed to run on Hyper-V machines, but we can easily convert this image so it can be done for our purposes using some command-line tools.

Download and install UTM from https://mac.getutm.app/. Unlike other free virtualization software, UTM was created for macOS and only for Apple platforms. It is designed completely from the ground up for the new style introduced in Big Sur. UTM looks and feels like a Mac app with all the privacy and security features you expect as well. Under the hood of UTM is QEMU, a decades-old, free, and open-source emulation software that is widely used and actively maintained. While QEMU is powerful, it can be difficult to set up and configure with its plethora of command-line options and flags. UTM is designed to give users the flexibility of QEMU without the steep learning curve that comes with it. Also from https://mac.getutm.app/support/ download the SPICE Guest Tools and QEMU Drivers (Windows) with the download link; they will be useful later.

UTM is basically a GUI interface for QEMU built on top of it, so you don’t need to install QEMU on your macOS system to make it work, but we need to install anyway QEMU on our system to be able to convert the VHDX file in an image edible for UTM. The simpler way to install QEMU on a Mac is to use Homebrew.

Homebrew is The Missing Package Manager for macOS and you can install it following the instructions of the official website: https://brew.sh/. Just open a terminal window and paste this:

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

Now, you can install QEMU with this command:

brew install qemu

And finally, we can convert the VHDX file into an image for UTM:

qemu-img convert -p -O qcow2 /Users/YourName/Downloads/Windows11_InsiderPreview_Client_ARM64_en-us_22483.VHDX /Users/YourName/Downloads/Windows11_ARM.qcow2

*Check PATH and FILENAMES on your system.

Now, we can create a Virtual Machine to install Windows 11 ARM on it. Within UTM, select ‘New Virtual Machine’ e change the settings like these:

Architecture: ARM64 (aarch64)
System: QEMU 6.1 ARM Virtual Machine (virt-6.1) *If you have an issue during the installation process, you can try 5.0/5.1/5.2 and revert to 6.1 once installed
Memory: 8192MB (4096MB if your machine has not enough memory)

Also, in the Advanced Settings:
CPU: Default
CPU Cores: 8
Select Force Mutlicore

Under Drives: select Import Drive with NVMe interface and select the image created so as to import the Windows11_ARM.qcow2 but also create a new Removable Drive with a USB interface to load the Guest Tools later.

Once you’ve made all these settings, click save and you should see your brand new ARM virtual machine on the main UTM screen. Now, remove the Windows installer ISO and add the Guest Tools ISO to the CD Rom Drive in UTM by clicking on the drive and then browsing to the SPICE ISO called spice-guest-tools-0.164.2.iso.

Now you are ready to boot the Windows 11 ARM virtual machine and to complete the Windows 11 installation process. Once done, click on the CD-ROM and run the install file spice-guest-tools-0.164.exe to start the Guest Tools installation and make available drivers for UTM to allow Windows 11 to access the Mac network adapters and have a proper Internet connection. The tools also provide you with a better graphical resolution for the virtual screen and some minor improvements.

How to emulate a Windows 10 (or 11) x86 machine on an M1 Mac with UTM and QEMU
How to emulate a Windows 10 (or 11) x86 machine on an M1 Mac with UTM and QEMU

How to emulate a Windows 10 (or 11) x86 machine on an M1 Mac with UTM and QEMU

Now that you are UTM and QEMU experts, we can indulge and have fun with some more exotic configurations. For example, we could emulate (yes emulate!) an x86 machine on our ARM Mac. We already tell you that the performances will not be very powerful, but for specific tasks, the machine will keep its usefulness in full.

If you need an emulated Windows x86 machine with acceptable performance, the advice is to turn to older and less demanding versions, such as Windows 7 or – even – XP. You can easily download some ready-go UTM template images from https://mac.getutm.app/gallery/ or get images from the Microsoft website.

Now, we can create a Virtual Machine to install Windows x86 on it. Within UTM, select ‘New Virtual Machine’ e change the settings like these:

Architecture: x86_64
System: Standard PC (Q35 + ICH9, 2009) pc-q35-6.1
Memory: 8192MB (4096MB if your machine has not enough memory)

Also, in the Advanced Settings:
CPU: Intel Core i7 9xx (Nehalem Class Core i7) (Nehalem-v1)
CPU Cores: 4
Select Force Mutlicore

Under Drives: select Import Drive with IDE interface and select the image created so as to import the Windows_x86.ISO (or the Windows.utm template) but also create a new Removable Drive with an IDE interface to load the Guest Tools later. Start the VM and install Windows normally as we did before, also if the VM hangs after installation, turn the VM off and on again.

In the end, replace the Windows installer ISO (or the UTM Windows template) with the SPICE ISO – former spice-guest-tools-0.164.iso – and run spice-guest-tools-0.164.exe.

And we are done.

Leave a Reply

Your email address will not be published. Required fields are marked *