Kennisbank › Virtualisatie › qemu: virtualisatie
virtualisatie starter 08 September 2026

qemu: virtualisatie

qemu-system-x86_64 -m 2048 -hda disk.img — dat commando werkt al sinds 2003 op dezelfde manier, en het blijft de kortste weg naar een werkende

`qemu-system-x86_64 -m 2048 -hda disk.img` — dat commando draait al sinds 2003 op dezelfde manier, en het is nog steeds de kortste weg naar een werkende virtuele machine. QEMU, afkorting van Quick Emulator, is de open-source software die vrijwel alle virtualisatie in de Linuxwereld mogelijk maakt.

De kern van QEMU is tweeledig. Als emulator bootst het complete systemen na — CPU, geheugen, schijven, netwerk — voor architecturen die u fysiek niet hebt. Een ARM-systeem op een x86_64-machine draaien is ermee mogelijk, net als een MIPS-router of een SPARC-server. Dat kost rekenkracht, want elke instructie wordt vertaald, maar het werkt. Voor embedded-ontwikkelaars is dat goud waard: firmware testen zonder dat de hardware bestaat.

Daarnaast kent QEMU user-mode emulation. Daarbij emuleert het geen volledig systeem, maar slechts één proces van een andere architectuur. Dat is hoe Docker en Podman ARM-containerimages bouwen op x86-machines: via binfmt_misc en buildx schakelt QEMU zich tussen de host en het te bouwen proces.

Maar de echte kracht zit in de combinatie met KVM, de Kernel-based Virtual Machine. KVM gebruikt de virtualisatie-extensies van de CPU — Intel VT-x of AMD-V — om een gast bijna op native snelheid te draaien. QEMU levert dan de gebruikersruimte-component: de virtuele netwerkkaarten, schijfcontrollers en grafische interfaces die KVM niet zelf regelt.

Die combinatie QEMU + KVM ligt onder de motorkap van Proxmox VE, OpenStack en een groot deel van de cloudinfrastructuur. Honderden virtuele machines op één fysieke server, elk geïsoleerd van de ander, is daarmee dagelijkse praktijk.

De prijs van die flexibiliteit is complexiteit. QEMU configureert u via de commandoregel, met tientallen parameters voor geheugen, schijven, netwerk en devices. `qemu-system-x86_64` aanroepen met de juiste vlaggen vereist kennis van wat u draait en waarom. Wie dat niet wil, gebruikt een front-end: virt-manager, virsh of Snowglobe, een virtuele-machine-viewer die via DBus met draaiende QEMU-instanties praat.

Fabrice Bellard schreef de eerste versie, en de preview-release verscheen in 2003. Het project is sindsdien onafgebroken actief. In augustus 2026 stond versie 11.1.1 op de officiële site; de releasecyclus is regelmatig genoeg dat bedrijven er hun updates op kunnen plannen.

De broncode is geschreven in C en vrij beschikbaar onder een open-source licentie. Dat betekent niet alleen dat u kunt zien wat de software doet, maar ook dat u hem kunt aanpassen aan uw eigen infrastructuur. De gemeenschap is actief, met bijdragen van individuele ontwikkelaars en bedrijven die QEMU in hun producten verwerken.

QEMU spreekt met een breed scala aan architecturen: x86, x86_64, ARM, ARM64, MIPS, PowerPC, RISC-V en SPARC. Die breedte maakt het onmisbaar in embedded ontwikkeling, waar de doelprocessor vaak niet op het ontwikkelworkstation zit.

Zelf hosten klinkt prachtig, tot er iets omvalt op zondagavond half twaalf. Dan bent u geen klant die op de helpdesk wacht. Dan bént u de helpdesk — en QEMU is het gereedschap waarmee u het probleem oplost of niet.

Voor wie containers draait, lijkt QEMU soms overbodig. Containers delen de kernel van de host en hebben geen volledige virtualisatie nodig. Maar zodra u multi-arch images wilt bouwen, of een gast wilt draaien met een andere kernel dan de host, komt u weer bij QEMU uit.

De grens tussen emulatie en virtualisatie is in de praktijk dunner dan de theorie doet vermoeden. QEMU doet beide, en de keuze wordt gemaakt door welke vlag u meegeeft aan hetzelfde commando.

Wie begint met QEMU, doet er goed aan klein te beginnen: een enkele VM, een simpele schijfimage, geen netwerk. De foutmeldingen zijn cryptisch, en de documentatie gaat ervan uit dat u weet wat een virtio-driver is. Dat weet u na een week, niet na een uur.

Front-ends verbergen een deel van die complexiteit, maar niet alles. Uiteindelijk moet u begrijpen wat een VM nodig heeft: geheugen, opslag, een manier om de buitenwereld te bereiken. QEMU dwingt u die vragen te beantwoorden, ook als u er een grafische schil omheen zet.

De ontwikkelgeschiedenis van QEMU is een reeks compromissen tussen snelheid en nauwkeurigheid. Emulatie is langzaam, virtualisatie met KVM is snel, en de kunst is weten wanneer u welke nodig hebt. Een oud besturingssysteem dat geen virtio-drivers kent, draait beter in pure emulatie; een moderne Linux-gast draait het best met KVM en virtio.

De releasegeschiedenis laat een gestage ontwikkeling zien: 0.12.2 in januari 2010, 1.2.0 in september 2012, 2.0.0-rc0 in maart 2014, 7.2.0 in december 2022, 9.0.0-rc0 in oktober 2024, 10.0.0-rc0 in maart 2025. Geen grote sprongen, maar een constante stroom verbeteringen.

Wat QEMU onderscheidt van propriëtaire alternatieven is niet alleen de prijs, maar de controle. U kunt zien wat er gebeurt, u kunt het aanpassen, en u bent niet afhankelijk van de roadmap van een leverancier. Dat weegt voor veel organisaties zwaarder dan de initiële leercurve.

De rol van QEMU in moderne infrastructuur is groter dan de meeste gebruikers beseffen. Wanneer een cloudprovider een VM voor u opstart, is de kans groot dat QEMU daar ergens bij betrokken is. Wanneer een ontwikkelaar een containerimage voor een ander platform bouwt, is QEMU de stille tussenpersoon.

Voor wie de keuze moet maken tussen QEMU en een gesloten alternatief: de gesloten opties zijn vaak gebruiksvriendelijker en hebben betere ondersteuning. Maar ze vragen een prijs in flexibiliteit en transparantie die u niet altijd op de factuur ziet staan.

De echte vraag is niet of QEMU beter is dan de rest, maar of u de complexiteit wilt beheren die bij de flexibiliteit hoort. Voor wie dat wil, is QEMU een van de meest complete virtualisatie-oplossingen die bestaan. Voor wie dat niet wil, zijn er genoeg andere wegen.

Elke virtuele machine die u met QEMU opstart, is een klein wonder van vertaalde instructies en geëmuleerde hardware. Het werkt omdat duizenden ontwikkelaars er twee decennia aan hebben gesleuteld, en het blijft werken omdat de basis — een simpel commando met een schijfimage — nooit is veranderd.

← Terug naar kennisbank
← Terug naar kennisbank