Skip to content

Latest commit

 

History

History
87 lines (61 loc) · 5.4 KB

ArmOnX86_64.md

File metadata and controls

87 lines (61 loc) · 5.4 KB

Emulating Arm64 Windows on your x86_64 Windows PC

If you got here you're most likely interested in giving Arm64 Windows a try as soon as possible.

While possible, emulating a modern day Arm64 SoC on even the most powerful x86_64 hardware puts significant strain on your resources.

Installing Windows may take upwards to 2-3 hours and the experience may be sluggish in general. Although, when has that ever stopped curiosity?

The following guide has been adapted from Linaro's windows-arm64 VM using qemu-system Confluence page

Hardware requirements

  • At least an (8) octa-core CPU
  • At least 8 GB of RAM free
  • ~70 GB of free disk space

File prerequisites

  1. Windows 11 version 24H2 build 26100.712 installation image from here
  2. Latest version of QEMU from here
  3. VirtIO drivers from here
  4. qemu-efi-aarch64 package from the Debian repo (only used as a source of firmware)

Chapter 1: Preparing the emulation setup

Step 1: Creating a folder where you'll store the virtual machine and related assets

For the purposes of this tutorial, the working folder will be D:\w11arm64

Once created, move the VirtIO drivers ISO (prerequisite #3) inside.

Step 2: Downloading Windows setup media

Due to the limited availability of up-to-date arm64 Windows media, we'll have to get it from a place like UUPDump. Simply download the media creation kit linked above (prerequisite #1), extract it, and run the script contained within. The process should be fully automated and once it's done, you'll have a ready-to-use ISO right next to the script you ran.

Move the generated ISO to the D:\w11arm64 directory and give it a less cumbersome filename, say, Windows11_arm64.iso

Step 3: Installing QEMU

To install QEMU simply double-click the setup you've downloaded as prerequisite #2. When asked which components you'd like to install, you can uncheck all System Emulation items except aarch64

image

Step 4: Extracting the firmware image

Using 7z or another archiving tool of your choice, extract data.tar\.\usr\share\qemu-efi-aarch64\QEMU_EFI.fd from the package you've downloaded as prerequisite #4 into D:\w11arm64\QEMU_EFI.fd.

Step 5: Creating a hard disk image for the VM

Open a command prompt and enter the following commands:

  1. cd /d D:\win11arm64 (this navigates to the folder we've been preparing)
  2. set "PATH=%PATH%;C:\Program Files\qemu" (this lets us run QEMU's exes without always specifying the full path)
  3. qemu-img create win11arm64.img 64G (this creates the hard drive image)

Do not close this command prompt window as it will be useful in the coming steps.

Chatper 2: Starting installation

Step 1

Enter this multiline command and hit enter. A virtual machine with 8 cores (-smp 8) and 8 GB of RAM (-m 8G) allocated will be started. Make sure to click into the window and once you see a Press any key to boot from CD or DVD.. prompt hit the Enter key on your keyboard a few times.

qemu-system-aarch64 ^
-M virt,virtualization=true -m 8G -cpu max,pauth-impdef=on -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=./Windows11_arm64.iso ^
-device usb-storage,drive=virtio-drivers ^
-drive if=none,id=virtio-drivers,format=raw,media=cdrom,file=./virtio-win-0.1.248.iso ^
-drive if=virtio,id=system,format=raw,file=./win11arm64.img

image

Step 2: Bypassing TPM and secure boot requirements

Once you're booted into the Windows installer, press Shift-F10 on your keyboard to open command prompt within the installer.

image

Type regedit and hit Enter. Now navigate to HKLM\System\Setup and create a new key called LabConfig. Inside that key, create two DWORD values calles BypassTPMCheck and BypassSecureBootCheck and set them to a value of 1. This is how the registry editor panes should look if you've done everything correctly.

image

Step 3: Adding storage drivers

You can continue through Windows setup as you would normally. Once you reach the disk selection page you'll notice that there are no disks to pick from. To fix this click the 💿 Load driver label, then Browse and finally select the E:\viostor\w11\ARM64 folder. Once installed, the rest of the Windows setup process should be mostly unattended like on a standard x86_64 PC.

Similar steps can be repeated on install the NetKVM driver to establish a network connection once Windows boots into the first-run experience.

image