Skip to end of banner
Go to start of banner

windows-arm64 VM using qemu-system

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Next »

This page describes the process to run a windows-arm64 VM using qemu-system-aarch64.

Prerequisites

Windows ISO

Microsoft distribute official ISO for windows-arm64
https://www.microsoft.com/en-us/software-download/windows11arm64

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.266.

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:

  • Win11_24H2_EnglishInternational_Arm64.iso

  • virtio-win-0.1.266.iso

  • QEMU_EFI.fd

  • win11-arm64.img

Run QEMU

qemu-system-aarch64 \
  -M virt -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=./Win11_24H2_EnglishInternational_Arm64.iso \
  -device usb-storage,drive=virtio-drivers \
  -drive if=none,id=virtio-drivers,format=raw,media=cdrom,file=./virtio-win-0.1.266.iso \
  -drive if=virtio,id=system,format=raw,file=./win11-arm64.img  

Notes:

Run QEMU on aarch64 hardware

In case you have access to a linux-aarch64 machine:

  • replace --accel tcg with --accel kvm (or --accel hvf on MacOS)

  • remove virtualization=true (won't be available for your cpu/kvm)

  • replace cpu with -cpu=host

Note: It has been successfully booted on a 80-core aarch64 server, running Linux 6.0 and qemu-system 6.2.

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

Installer is now loading…

Click on next, and Install now. Then select, “I don’t have a product key”.

The setup will now complain that your pc can’t run Windows 11.

Yes, this vm CAN run windows 11

It’s possible to force windows 11 installation by using those instructions (https://www.alitajran.com/this-pc-cant-run-windows-11/ ). We details them here:

  • Open a cmd prompt by using Shift + F10, and type regedit.

  • Navigate to HKEY_LOCAL_MACHINE\SYSTEM\Setup.

  • Right click on “Setup” folder, and select New → Key, named LabConfig

  • Right click on LabConfig, and select New → Dword (32-bit) Value. Create those 5 new values:

    • BypassCPUCheck

    • BypassRAMCheck

    • BypassSecureBootCheck

    • BypassStorageCheck

    • BypassTPMCheck

  • Set all their values to 1.

You should have something like this:

Now, close regedit, command prompt, go back to previous page (using top left arrow), and click again on “i don’t have a product key”. Windows is now happy to be installed on your VM (smile)

Find your disk

Keep on advancing, select a “Custom install”, and you should now hit this screen:

Select load driver, then browse, drive “virtio-win-…”, and viostor/w11/ARM64. Install driver found and your disk will appear.

Click next, take a coffee, and come back later.

Yes, you can install without any internet connection

After several screen/reboot, the installer will complain that no internet connection can be found.

By following this (https://www.makeuseof.com/windows-11-set-up-without-internet-connection/ ), we can skip this and continue installation.

In short: Open a command prompt (using Shift + F10), and type OOBE\BYPASSNRO

VM will reboot, and you can now continue installation without a network connection.

Now, continue with “limited setup”, add a user, and you should finally reach Windows Desktop.

Let’s get a network connection

The last bit is to connect the VM to Internet. For this open “Device manager” and update driver for Ethernet controller. Select folder E:\NetKVM.

Complete!

Setup is now complete, and your machine can access internet.

  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.