raspiduino / waq

Run Windows 10 for ARM64 on QEMU
MIT License
77 stars 8 forks source link

WAQ - Windows 10 for ARM on QEMU

Update

For anyone who wants newer Windows version, please refer to this tutorial by Vogtinator

Quick note

It has been a long time since the last time I touched this Readme file. Now's 2022 already and you can build yourself a newer EDKII image instead of using this (if you have problem with using this). And also, if you really want a usable Windows on ARM (not too slow), get a Raspberry Pi and install directly on it (check out WoA project) or run on KVM on it.

Why do this?

To run Windows on ARM on an emulator without finding a real hardware :)


There are some pages show how to do this on the Internet. But the problem is, you will have to download the iso and install yourself and this takes really long time to install on QEMU (about 3 -> 4 days on my machine with Pentium Dualcore T4300). Another way is to apply the install.wim to a vhd file and put it to QEMU, but this might not work due to missing EFI loader (I have tried this too).


So in this repo I will give you my modified version of preinstalled img file originally from this post and the download link is here.

What have been modified?

Download link

If there is a password prompt, type in win10arm64

How to use

Step 1: Install QEMU: Goto qemu.org and install QEMU if you haven't installed it yet. On Linux just run sudo apt install qemu-system-aarch64

Step 2: Download the script: Goto Release and download it. Or you can copy the script here:

Step 3: (Optional) Install Virtio driver: Download the driver iso here and put it to the vm directory.
IMPORTANT: If you don't want to install Virtio driver or you finished install it, you can delete it (if you have downloaded it) and comment out the 2 last line in the script. For Linux/MacOS script, just remove -device usb-storage,drive=drivercdrom -drive file="virtio-win-0.1.185.iso",media=cdrom,if=none,id=drivercdrom from arm.sh

Step 4: Start the script
Just like normal script, ./arm.sh for Linux/MacOS and arm.sh for Windows

On boot

When it boot to EFI shell, enter exit. Then it will come to a list of options, select 'Boot Manager', then select 'UEFI QEMU QEMU HARDDRIVE ...3' or 'UEFI QEMU QEMU HARDDRIVE ...4.1'. If this does not work and you return to that menu, please try another boot device in that list. That should work.

Notes:

Todo