Zelfs na een goed geplande overstap op Linux kun je soms nog dat ene obscure programma tegenkomen dat alleen onder Windows draait. Ook sommige oudere hardware weigert dienst onder Linux. Gelukkig is er voor dit probleem een eenvoudige oplossing: een virtuele machine met Windows. Je kunt hiervoor bekende toepassingen als Oracle VirtualBox of VMware Workstation Pro gebruiken.
Maar de meest logische optie is eigenlijk al ingebakken in de Linux-kernel: KVM ofwel Kernel-based Virtual Machine. Samen met Qemu, libvirt en virt-manager heb je een krachtige basis voor virtuele machines. Het is bovendien volledig gratis en opensource. Qemu is de laag die virtuele hardware nabootst, libvirt zorgt voor het beheer van virtuele machines en virt-manager is de grafische interface bovenop libvirt. Daarmee kun je na een eenvoudige installatie via de opdrachtprompt de volledige configuratie van virtuele machines afhandelen.
We richten ons hier vooral op Windows en enkele optimalisaties voor verbeterde prestaties. Maar je kunt natuurlijk ook gaan experimenteren met andere besturingssystemen. We gebruiken de beginnersvriendelijke Cinnamon-editie van Linux Mint 22.3 als basis.
Voorbereiding
Vrijwel elke niet al te oude processor ondersteunt virtualisatie. Maar je moet het vaak wel inschakelen in het BIOS. Meestal heet de optie bij Intel VT-x en bij AMD AMD-V of SVM Mode. Zet ook VT-d (Intel) of IOMMU (AMD) aan. Daarmee kan een virtuele machine dankzij PCI-passthrough directe toegang tot hardware krijgen, zoals een videokaart of losse usb-controllerkaart. In deze masterclass gebruiken we dat overigens niet.
Installeer recente drivers voor jouw videokaart binnen Linux. Maar let op: in de virtuele machine met Windows gebruik je straks alleen de VirtIO-drivers, in verband met de virtuele videokaart. Voor de installatie richten we ons op Linux Mint, dat gebaseerd is op Ubuntu. De installatiestappen zijn vrijwel identiek in andere Ubuntu-varianten zoals Ubuntu, Pop!_OS en Zorin OS. Bij andere distributies is de software hetzelfde, maar de installatiecommando’s verschillen.
Installatie
Voor een installatie onder Linux Mint of Ubuntu-varianten zorg je om te beginnen dat je systeem up-to-date is. In de opdrachtprompt kan dat met:
sudo apt update && sudo apt upgrade -yInstalleer daarna alle benodigde pakketten:
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager ovmfVoeg jezelf toe aan de juiste groepen:
sudo usermod -aG libvirt,kvm $USERNa die laatste stap moet je uitloggen en opnieuw inloggen. Hierna kun je de toepassing starten met virt-manager. In het menu vind je de toepassing onder de naam Virtuele machine beheerder. In het vervolg noemen we hem kortweg virt-manager. Je bent nu klaar om virtuele machines te maken en beheren. Merk op dat we Linux Mint in het Nederlands gebruiken. De software is helaas niet volledig vertaald.

Windows downloaden
Voor de installatie van Windows heb je een iso-bestand nodig. Hier kiezen we Windows 11, omdat de ondersteuning voor Windows 10 officieel is beëindigd in oktober 2025. De extra hardware-eisen zijn geen bezwaar. Je kunt net als de rest van de hardware ook de vereiste TPM 2.0 eenvoudig emuleren. Download het iso-bestand altijd rechtstreeks bij Microsoft.
Onder het kopje Download Windows 11-schijfkopiebestand (ISO) voor x64-apparaten vind je de downloadoptie. Dit gaat in stappen, waarbij je ook de taal kunt kiezen (zoals Nederlands). Je hebt straks geen productcode nodig om de installatie te voltooien. Je kunt Windows eventueel later activeren of met een watermerk gebruiken.
VirtIO-drivers
We gaan voor de beste prestaties volop gebruikmaken van de zogeheten VirtIO-drivers. Die zijn specifiek ontwikkeld voor virtualisatie. Zonder die drivers zal je Windows-installatie onder KVM relatief traag zijn. Om te zorgen dat Windows je harde schijf kan zien, moet je tijdens de installatie wel extra drivers aanwijzen op een aparte cd-rom die we straks gaan koppelen. De drivers kun je hier downloaden.
Blader naar de map stable-virtio en haal het bestand virtio-win.iso op. Zet ook alvast de zogeheten Guest Tools klaar door het bestand virtio-win-guest-tools.exe te downloaden. Die bundel met drivers gaan we na de installatie gebruiken in Windows voor een soepele ervaring en de beste prestaties.
Harde schijven voor virtuele machines bewaart libvirt standaard in de map /var/lib/libvirt/images. Hoewel je hier je iso-bestanden kunt zetten, is het handig om daarvoor een aparte map te gebruiken die je daarna als zogenoemde storage pool kunt toevoegen in virt-manager. Open hiervoor eerst de bestandsbeheerder. Maak onder Persoonlijk een map Virtualisatie en maak daarin vervolgens een map ISOs. Plaats hier je iso-bestanden. Ga nu naar virt-manager en kies Bewerken / Verbinding details. Op het tabblad Storage kies je linksonder het plusteken. Vul bij Naam een naam in, bijvoorbeeld ISO-bestanden. Accepteer bij Type de standaardoptie Bestandssysteem map. Klik op Bladeren en blader naar de zojuist gemaakte map. Klik dan op Voltooien.

Virtuele machine maken
Je bent nu klaar om de virtuele machine te maken. Ga hiervoor in Virtuele machine beheerder naar Bestand en kies New Virtual Machine. Je kunt kiezen hoe je het besturingssysteem wilt installeren. Kies de optie Lokale installatie media (ISO image of CDROM). Klik op Forward. Kies nu Bladeren.
Als je de storage pool hebt gemaakt, kun je direct het iso-bestand voor Windows kiezen. Klik erop en kies Choose Volume. Het besturingssysteem (Windows 11) wordt automatisch herkend. Klik op Forward om verder te gaan. Krijg je een melding dat de emulator niet de juiste rechten heeft voor jouw map met iso-bestanden? Corrigeer dit dan direct door in het venster voor Ja te kiezen.
Vervolgens kun je geheugen toewijzen aan Windows (standaard 8 GB) en het aantal processorkernen (standaard 4) kiezen. Daarna kun je een schijfimage voor de virtuele machine maken (standaard 128 GB). Klik op Forward om verder te gaan. Je bent nu in principe klaar om de installatie te starten, maar er zijn nog een paar aanpassingen nodig. Zet daarom een vinkje bij Pas configuratie aan voor installatie en klik dan pas op Voltooien.

Basisconfiguratie
Je komt in een detailoverzicht met een uitgebreidere configuratie voor de virtuele machine. Per onderdeel kun je aanpassingen maken. Klik bij elke wijziging op Apply om die actief te maken. Ga eerst naar CPUs. Zorg dat er een vinkje bij Copy host CPU configuration (host-passthrough) staat. Hiermee zorg je ervoor dat de virtuele processor toegang tot alle moderne features van jouw fysieke processor heeft.
Vouw Topology uit en zet een vinkje bij Manually set CPU topology. Geef de virtuele machine bijvoorbeeld 1 socket, 4 cores en 1 thread. Ga naar Disk 1 en kies bij Schijf bus voor VirtIO in plaats van SATA. Vouw Geavanceerde opties uit. Bij Cache mode kun je kiezen hoe schijfschrijfoperaties worden afgehandeld. De optie writeback geeft nog wat betere prestaties omdat het werkgeheugen als buffer wordt gebruikt. Dit verhoogt wel het risico op dataverlies bij een crash.
Als je daar bang voor bent, is writethrough een veiliger alternatief. Ga dan naar NIC en kies bij Apparaatmodel voor virtio. Dit is sneller en verlaagt het processorgebruik bij netwerkverkeer. Blader tot slot naar TPM. Kies bij Type voor Emulated, bij Model voor CRB en bij Versie voor 2.0. Dit geeft de gewenste TPM 2.0 voor compatibiliteit met Windows 11.
Weergave instellen
De virtuele machine is straks geen snelheidsmonster, maar je kunt er wel soepel op werken door VirtIO als videokaart te kiezen. Ga naar Video en kies bij Model voor Virtio. Laat de optie 3D acceleration uit tijdens de installatie om stabiliteit te garanderen. Ga dan naar Display en kies bij Type voor Spice server en bij Listen type voor Geen. Zet nu nog geen vinkje bij OpenGL; dit is nog experimenteel. We gaan 3D acceleration en OpenGL pas na de installatie proberen om de prestaties te verbeteren.
Hardware toevoegen
Tijdens de installatie moet je de VirtIO-drivers aanwijzen, zodat Windows de harde schijf herkent. Er is al een eerste cd-rom met de installatiebestanden van Windows. Je moet een tweede cd-rom toevoegen met het iso-bestand voor de VirtIO-drivers.
Open hiervoor de configuratie van de virtuele machine en klik linksonder op Hardware toevoegen. Zorg dat je in dit venster in het onderdeel Storage zit. Zet een vinkje bij Selecteer of maak een aangepaste opslag. Klik op Beheren en kies het iso-bestand voor VirtIO. Selecteer vervolgens bij Apparaat type de optie CDROM-apparaat. Klik op Voltooien.
Voeg daarna ook RNG als extra hardware toe. Dit staat voor Random Number Generator. Het zorgt ervoor dat Windows altijd toegang tot willekeurige getallen heeft. Die zijn constant nodig, bijvoorbeeld voor versleuteling en beveiligde verbindingen, maar soms spaarzaam aanwezig op virtuele hardware.

Installatie uitvoeren
Je bent nu klaar om de installatie te starten. Dit gaat grotendeels zoals elke Windows-installatie. Als er om een productcode wordt gevraagd, kies je Ik heb geen productcode. Windows zal daarna klagen dat het geen schijf ziet. Kies in dat geval de optie Stuurprogramma laden. Klik op Bladeren. Kies het cd-romstation met de VirtIO-drivers en blader daarin naar de map amd64/w11. Klik op OK. Windows zal nu de Red Hat VirtIO SCSI controller als stuurprogramma tonen. Selecteer dit stuurprogramma en kies Installeren. Je kunt nu de schijf kiezen en de installatie verder doorlopen.
Extra drivers installeren
Als alles goed is gegaan, zal Windows correct opstarten. Vervolgens kun je je laatste voorkeuren opgeven voor Windows zelf. Hierbij krijg je ook de bekende promoties van Microsoft voorgeschoteld en worden de laatste updates geïnstalleerd. Daarna kom je op het bureaublad terecht. Dit is een goed moment om de eerder genoemde VirtIO Guest Tools te installeren. De cd-rom met alle VirtIO-drivers is nog gekoppeld. Start via de bestandsbeheerder virtio-win-guest-tools.exe op die cd-rom en installeer het pakket met drivers. Hierna moet je Windows opnieuw starten.
QEMU Guest Agent
Het is raadzaam om de zogeheten QEMU Guest Agent te benutten. Dit zorgt in feite voor een communicatiekanaal tussen je virtuele machine met Windows en de host (het systeem waarop de virtuele machine draait). In Windows wordt hiervoor een kleine service toegevoegd die op de achtergrond draait.
Deze service is al geïnstalleerd via de Guest Tools. Dit geeft onder meer een betere status en helpt bij het snel en correct afsluiten van Windows via de host. Verder biedt het een betere synchronisatie van de systeemklok en verbetert het de betrouwbaarheid van snapshots. De host kan het besturingssysteem namelijk tijdelijk ‘bevriezen’ voorafgaand aan een snapshot en daarna weer ‘ontdooien’. Dit heet ook wel freeze/thaw.
Om de QEMU Guest Agent te gebruiken, moet je dit als kanaal toevoegen. Klik daarvoor op Hardware toevoegen, kies Kanaal en selecteer achter Naam de optie org.qemu.guest_agent.0. Na het (her)starten van Windows is QEMU Guest Agent actief.

Prestaties verbeteren
Als de virtuele machine stabiel draait, kun je deze verder proberen te optimaliseren. Of dat werkt, hangt deels af van je videokaart en drivers. Het werkt meestal goed met Intel en AMD, maar niet met Nvidia-drivers.
Sluit eerst Windows af in de virtuele machine. Via het menu onder Weergave kies je Details in plaats van Console, zodat je alle eigenschappen weer kunt aanpassen. Ga naar Display, zet een vinkje bij OpenGL en kies je videokaart. Klik op Apply. Ga dan naar Video en zet een vinkje bij 3D acceleration. Ga onder Weergave terug naar Console en start de virtuele machine.
Stuit je op problemen? Zet dan beide opties weer uit. Je kunt ook eerst alleen 3D acceleration inschakelen en OpenGL uit laten. Dit is stabieler, maar geeft minder prestatiewinst.
Snapshots
Als je een goed werkende Windows-installatie hebt, is het slim om alvast een snapshot te maken. Zo heb je een werkende staat waar je altijd naar terug kunt keren. Sluit eerst de virtuele machine af. Ga dan in Weergave naar Snapshots. Klik linksonder op het plusteken om een snapshot te maken. Geef je snapshot een naam en omschrijving en klik op Voltooien. De snapshot komt er dan bij te staan in de lijst.
Wil je terug naar die staat? Klik dan rechts op de snapshot en kies Start snapshot. Wijzigingen die je in Windows ná die snapshot hebt gemaakt, ben je in dat geval kwijt.

Je kunt Windows zelf ook optimaliseren, net als bij elke Windows-installatie. Bij een virtuele machine kun je vaak meer uitzetten omdat het systeem meestal niet je hoofdsysteem is. Zo is het verstandig om SysMain, voorheen bekend onder de naam SuperFetch, uit te schakelen. Het is bedoeld om trage harde schijven sneller te laten aanvoelen door apps alvast in het werkgeheugen te laden.
In een virtuele machine zorgt dit voor onnodige schijfactiviteit en extra geheugengebruik. Druk in Windows op de toetscombinatie Windows+R en start services.msc. Dubbelklik op SysMain. Kies bij Opstarttype voor Uitgeschakeld. Klik op Stoppen om de service te stoppen. Via Instellingen / Persoonlijke instellingen kun je ook veel aanpassingen maken. Al zijn niet alle opties beschikbaar als je Windows (nog) niet hebt geactiveerd.
Onder Vergrendelingsscherm kun je bijvoorbeeld een standaardafbeelding kiezen en met een vinkje de leuke weetjes, tips en dergelijke uitschakelen. Onder Taakbalk kun je Widgets uitzetten om het zijpaneel met nieuws en weer te verwijderen.
Windows 11 kan binnen Linux draaien via KVM, Qemu, libvirt en virt-manager, zonder VirtualBox of VMware te gebruiken. De gids gebruikt Linux Mint 22.3 als basis en wijst standaard 8 GB geheugen, 4 processorkernen en 128 GB opslag toe aan de virtuele machine. VirtIO-drivers zijn nodig voor betere prestaties en om de virtuele schijf tijdens de Windows-installatie te herkennen. Met TPM 2.0-emulatie, QEMU Guest Agent, snapshots en optionele 3D-versnelling maak je de Windows-installatie stabieler en beter beheerbaar.

















