Hopefully you don't need to run windows ever, but.. in the case you do need it her is a quick guide.
Running Parrallels works fine but it costs and when you meet obstacles or limitations with virtualization it hurts even more knowing you are paying for it.
What is UTM?
UTM (Virtual Machines for macOS and iOS) is a free, open-source application that allows you to run other operating systems on your Mac. It is built on the widely used QEMU emulator.
It functions as both a virtualizer (for operating systems like Windows 11 for ARM running at near-native speed on Apple Silicon Macs) and an emulator (for operating systems with different architectures, like older Windows or macOS).
Setup
First lets define some requirements.
- Apple Silicon Mac: You must have a Mac with an M-series chip (M1, M2, M3, or your M4), as the process relies on the ARM architecture.
- UTM Application: The free UTM application must be installed on your macOS. Link to utm
- Windows 11 ARM64 ISO: You must use the specific ARM version of Windows 11, as the standard Intel (x86/x64) version is extremely slow due to full emulation. You can download this ISO directly from Microsoft (often via the Windows Insider Preview program) or use a helper tool like CrystalFetch.
- Sufficient Storage: Windows 11 and its required tools typically need a minimum of 30 GB of free storage, but 64 GB is recommended for the VM's virtual drive.
- Recommended RAM: While the minimum is 4 GB (4096 MiB) of RAM allocated to the VM, 8 GB or more is highly recommended for running development tools like Visual Studio smoothly.
1. Installation
After installing UTM and downloading the iso file for windows 11 arm64 we can start setting up the VM.
1. Click "Create a new Virtual Machine"
2. Click "Virtualize"
3. Choose "Windows" when selecting OS
4. Select your hardware preferences. I chose 8gb or ram and 6 cpu cores
5. Select the Boot ISO Image you downloaded. Keep install windows 10 or higher selected. And have Install drivers and SPICE tools selected.

6. Select your preferred storage. i chose 128gb but 64 should be fine. It depends on your purpose.
7. I recommend setting a shared directory, but its optional.
8. Give it a good name and Save :)
2. Post-Installation Setup & Troubleshooting
You've installed Windows. Now lets setup windows and work around any issues that you might face.
A. Network stuck on setup
Windows stalls asking for Wi-Fi. Bypass it with the OOBE command:
- At the network screen, press Shift + F10 (CMD prompt).
- Execute:
OOBE\BYPASSNRO - VM reboots. Select "I don't have internet" to continue.
Using Shift+F10 did not work on my keyboard so i went to "Virtual Machine" in toolbar -> Send key -> Add key. And then i added Shift+F10 and it worked
B. Install SPICE/Guest Tools (Drivers)
This step provides network, display, and clipboard drivers. It's mandatory for a functional environment.
1. Log into Windows, open File Explorer.
2. Navigate to the virtual CD Drive (Guest Tools ISO).
3. Run the driver setup executable inside.
4. Restart the VM.
C. Fix: Low Resolution
If display is still incorrect after the restart:
Right-click Windows desktop, select Display settings.
Set the resolution to a standard size (e.g., $1920 \times 1080$).
Note on Retina: If scaling is poor, Shut Down the VM, edit UTM settings, and check Retina Mode under Display.
3. Development Environment Setup
NB! Only needed if you are using UTM to work with legacy .NET Framework projects
Prepare the VM for .NET Framework 4.8 work.
1. System Update: Run all Windows updates first. (or don't, just felt i should say it)
2. Rider: Download and install the Rider Community Edition (or paid if you have it) for Windows. You can use visual studio but since we are already on a mac i assume you are running rider with its cross platform support
3. Workload: When you build the project you will get a build error because you are missing developer tools for 4.8 but it is a link there you can click to find and download them.
Remember to enable .NET Framework 4.8 and other features under Turn Windows features on or off (search for this in the Windows Start Menu)
4. Summary
You have a stable, free, virtualized Windows environment on Mac M4 via UTM. It's ready for your legacy .NET Framework 4.8 projects.
References:
1. Microsoft Windows 11 ARM64 ISO
- Reference:
https://www.microsoft.com/en-us/software-download/windows11arm64 - Purpose: This is the most crucial external dependency. Linking directly to the official download page (or the one that directs users to the Insider Program) is excellent, as it provides credibility and the correct resource for the required ARM version.
2. UTM Software and documentation
- Reference:
https://mac.getutm.app/ - Purpose: This links directly to the source software, which is essential for installation and troubleshooting. It validates UTM as a legitimate tool.