This page describes the process to run a windows-arm64 VM using qemu-system-aarch64.
Prerequisites
Windows ISO
Microsoft does not distribute official ISO for windows-arm64.
UUPDump website allows you to build an iso from windows update servers. Pick most recent version of windows 11 (avoid “Cumulative update”). Select professional version. https://uupdump.net/known.php?q=22h2+arm64
Then you can download the iso using a script shell. Some dependencies are needed, and the tool will guide you to report those that are missing.
You should obtain a file named like “XXXXX.X_PROFESSIONAL_ARM64_EN-US.ISO”.
In our example, latest version is 22621.1.
Virtio drivers
Virtio windows drivers (https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md) are needed to make your disk recognized by windows. Pick latest iso from link above.
In our example, latest version is 0.1.229.
EFI
Download latest EFI from https://packages.debian.org/sid/qemu-efi-aarch64 . This will be used to boot windows image. Download package from “all” link, and extract it using:
ar x qemu-efi-aarch64*.deb tar xvf data.tar.xz mv ./usr/share/qemu-efi-aarch64/QEMU_EFI.fd .
Create disk
qemu-img create win11-arm64.img 100G
Check
You should now have those files available in current folder:
22621.1_PROFESSIONAL_ARM64_EN-US.ISO
virtio-win-0.1.229.iso
QEMU_EFI.fd
win11-arm64.img
Run QEMU
qemu-system-aarch64 \ -M virt,virtualization=true -m 8G -cpu max -smp 8 \ -bios ./QEMU_EFI.fd\ --accel tcg,thread=multi\ -device ramfb \ -device qemu-xhci -device usb-kbd -device usb-tablet \ -nic user,model=virtio-net-pci \ -device usb-storage,drive=install \ -drive if=none,id=install,format=raw,media=cdrom,file=./22621.1_PROFESSIONAL_ARM64_EN-US.ISO \ -device usb-storage,drive=virtio-drivers \ -drive if=none,id=virtio-drivers,format=raw,media=cdrom,file=./virtio-win-0.1.229.iso \ -drive if=virtio,id=system,format=raw,file=./win11-arm64.img
Setup Windows
Setup will take between 1 and 2 hours on a high end x64 processor. It requires several manual steps.
Enter setup
Click on QEMU window and press enter when this appears
Click on next and install now.
Bypass checks
Click next until you reach this screen
Add Comment