QEMU

QEMU is an open-source emulator and virtualization tool. https://www.qemu.org/

QEMU can be used as a system emulator and supports multiple CPU architectures and devices. A full guest operating system can be run on the system emulator. Qemu also provides hypervisor acceleration where it can use hypervisor frameworks like KVM, Hyper-v etc. to provide a near native speed for guest operating systems.

QEMU also supports a user mode emulator, but it is limited to Linux. User mode emulators let you run user mode binaries for a different architecture to be executed on a linux host running another CPU architecture. In this case, QEMU implements syscall translation between architecture. On Windows, this approach is not possible, because the syscall ABI is not stable nor documented.

Status

  • QEMU system emulator has been ported to run on a Windows Arm64 host. It will be available from QEMU v8.0

  • QEMU system emulator with hyper-v acceleration is not yet available for Windows Arm64.

  • QEMU user mode emulator is not yet available for Windows host, there is no plan to add such a feature.

  • QEMU on a Linux/Mac host can run Windows Arm64 images with Hypervisor acceleration (kvm/hvf).

CI

QEMU uses gitlab-ci: https://gitlab.com/qemu-project/qemu

Dependencies

On Windows11, you may need to install before installing QEMU

pacman -S mingw-w64-clang-aarch64-glib2

Installer

Install QEMU on a windows machine using MSYS2 package

pacman -S mingw-w64-clang-aarch64-qemu