The command will look something like this (broken down across lines for readability, but should be a single line or script):
Windows 10 ARM features the WOW64 (Windows 32-bit on Windows 64-bit) emulation layer. This allows the OS to run legacy x86 (32-bit) applications seamlessly. By running Windows 10 ARM inside a QCOW2 image on an ARM Linux host (like Ubuntu on a Raspberry Pi or Asahi Linux on a Mac), you gain:
Guides on setting up for maximum performance. Let me know what stage of the setup you're at! Share public link
: It can sometimes feel snappier on lower-resource virtual machines.
Once Windows boots, you must complete the Out-of-Box Experience (OOBE). If you used VirtIO devices, the installer may claim it cannot find a disk or a network connection. Loading Drivers During Setup When prompted for a disk selection, click . Browse the attached virtio-win.iso CD-ROM drive.
Check actual disk usage:
Running Windows 10 ARM on QEMU: A Comprehensive QCOW2 Guide Running allows users to experience Microsoft's ARM-based operating system on non-native hardware, such as x86 Linux servers or Apple Silicon Macs, using virtualization. The QCOW2 (QEMU Copy-On-Write) format is the preferred virtual disk type for this setup due to its support for snapshots, compression, and dynamic thin-provisioning. Core Requirements for Windows 10 ARM Virtualization
If you choose to run Windows 11 ARM instead, be aware that Microsoft imposes TPM 2.0 and SecureBoot requirements. These can be bypassed using registry modifications during installation, but this adds an extra layer of complexity.
When Windows asks where to install, the drive will be invisible. Click "Load Driver," browse to the virtio-win ISO, and select viostor for your Windows version. Install: Proceed with the installation normally.
The qemu-img tool is used to create the virtual hard drive. For a smooth Windows installation, a minimum size of 40GB to 64GB is recommended.
-cpu host -accel kvm : Leverages the physical ARM CPU capabilities directly for near-native virtualization performance. (Use -accel hvf if running on macOS).
Keep this .iso file handy; you will attach it as a secondary virtual CD-ROM drive during the initial boot sequence. Step 4: Booting and Installing the VM
Enable the discard=on option on the drive device. This allows Windows to pass TRIM commands down to the QCOW2 file, shrinking the file automatically when files are deleted inside the guest OS. Troubleshooting Common Issues 1. VM Boots to a Black Screen or UEFI Shell Cause: Incorrect or missing ARM64 UEFI firmware.
This is a full version of Windows 10 compiled specifically for ARM64 processors. It includes a built-in emulation layer that allows it to run traditional 32-bit (x86) and, in later builds, 64-bit (x64) desktop applications.
Using the QCOW2 format specifically for Windows 10 on ARM offers several advantages over raw or vmdk formats:
The hypervisor cannot locate the boot sector or the UEFI firmware configuration is incorrect.
If you are installing from an ISO and the setup wizard says "No drives found": Click in the Windows Setup window. Browse the attached virtio-win CD-ROM drive. Navigate to the viostor\w10\ARM64 folder.
Do you need assistance setting up for the VM? Share public link