Windows on ArchLinux
This is not a full installation tutorial, rather a memo to remind me how I managed to get a decent running Windows 11 on my ArchLinux installation.
Check virtualization is enabled in BIOS
lscpu | grep -i virtualization
Hypervisor: Qemu/KVM with libvirt
I used to use VirtualBox and I liked it a lot, because it’s super easy. However the performance is not optimal, I don’t like that it’s not Linux Kernel native, and the command line is barely usable. I am already using Qemu/KVM with incus at a basic level, so I decided to do the jump to libvirt. It’s a little bit complicated than VirtualBox, but it’s manageable if you have the time to understand the bits and pieces.
Overview
In libvirt a domain is a virtual machine. Domains are Qemu machines emulated by KVM (when/if possible, which is all the time on a modern AMD64 architecture).
libvirt is a daemon that “connects” to qemu. There are two modes: system and session. Forget session, use system.
All the configuration is done by XML.
ArchLinux Packages
- qemu-full
- libvirt
- virt-install
- virt-manager
- virt-viewer
- qemu-audio-spice
Configuration
I added myself to the libvirt
and wheel
group
$ sudo usermod -aG libvirt,wheel lyderic
I changed a config file
In /etc/libvirtd/qemu.conf
, I added:
user = "lyderic"
group = "lyderic"
I created a btrfs subvolume for libvirt
$ sudo btrfs subvolume create /libvirt
$ sudo chown -v lyderic: /libvirt
$ ln -s /libvirt /home/lyderic/libvirt
Systemd
I didn’t enable or start nothing. When I want to use the hypervisor, I do:
$ sudo systemctl start libvirtd.service
Windows 11 Installation
I found this video very helpful.
It explains how to get virtio installed on Windows. Get as much virtio devices as possible (disk, network, video…). Once the drivers are installed in Windows, you get stellar performance.
The web site where virtio ISOs can be found here.