Windows 11 Insider on ARM QEMU

Environment

Raspberry Pi 4
Arch Linux ARM
QEMU KVM Accelerated

Install

  1. Run qemu-system-aarch64 with windows 11 iso and drivers

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    qemu-system-aarch64 \
    -cpu host \
    -enable-kvm \
    -M virt-2.12 \
    -smp 3 \
    -m 3G \
    -bios QEMU_EFI.img \
    -device ramfb \
    -device ich9-usb-ehci1 \
    -device usb-kbd \
    -device usb-mouse \
    -device usb-storage,drive=windows \
    -drive if=none,id=windows,media=cdrom,file=win11_arm64.iso \
    -device usb-storage,drive=drivers \
    -drive if=none,id=drivers,media=cdrom,file=virtio-win-0.1.173.iso \
    -device virtio-blk,drive=system -vnc :1 \
    -drive if=none,id=system,format=qcow2,file=disk.img

    (This command listens VNC on :1 port)

  2. Load drivers and Requirements check

    Okay… This device can’t install windows 11 normally()

  3. Install with command line
    create partition with diskpart

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    diskpart
    select disk 0
    clean
    convert gpt
    :: (clean disk 0 and set as gpt partition style)
    create partition efi size=100
    assign letter=S
    :: (Create efi partition)
    create partition primary
    assign letter=W
    :: (Create Windows primary partition)

    I don’t create an RE env here because it’s annoying. lol

  4. Install bootloader
    Install bootloader with bcdboot

    1
    W:\Windows\System32\bcdboot.exe W:\Windows /l ja-JP

    and set TESTSIGNING mode for load unsigned unofficial drivers

    1
    W:\Windows\System32\bcdedit.exe -set TESTSIGNING ON
  5. Deploy Windows Image with DISM

    1
    dism /Apply-Image /ImageFile:E:\sources\install.wim /Index:1 /ApplyDir:W:\ /Compact /EA
  6. Install disk driver
    Since it is set to use virtio SCSI of KVM, a black screen (blue screen) will occur if there is no driver.

    Apply driver with dism

    1
    2
    dism /image:w:\ /add-driver /driver:E:\ARM64\w10\vioscsi.inf
    dism /image:w:\ /add-driver /driver:E:\ARM64\w10\viostor.inf
  7. Done!