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

qemu : virtualisation

`qemu-system-x86_64 -m 2048 -hda disk.img` — cette commande fonctionne déjà de la même manière depuis 2003, et c'est toujours le chemin le plus court vers un système fonctionnel.

`qemu-system-x86_64 -m 2048 -hda disk.img` — cette commande fonctionne de la même manière depuis 2003, et c'est toujours le chemin le plus court vers une machine virtuelle qui fonctionne. QEMU, abréviation de Quick Emulator, est le logiciel open source qui rend possible la quasi-totalité de la virtualisation dans le monde Linux.

Le cœur de QEMU a deux volets. Comme émulateur, il reproduit des systèmes complets — CPU, mémoire, disques, réseau — pour des architectures que vous ne possédez pas physiquement. Faire tourner un système ARM sur une machine x86_64 est possible, tout comme un routeur MIPS ou un serveur SPARC. Cela coûte de la puissance de calcul, car chaque instruction est traduite, mais cela fonctionne. Pour les développeurs embarqués, c'est de l'or en barre : tester un firmware sans que le matériel existe.

Ensuite, QEMU connaît l'émulation en mode utilisateur. Il n'émule alors pas un système complet, mais seulement un seul processus d'une autre architecture. C'est ainsi que Docker et Podman construisent des images de conteneurs ARM sur des machines x86 : via binfmt_misc et buildx, QEMU s'intercale entre l'hôte et le processus à construire.

Mais la vraie force réside dans la combinaison avec KVM, la Kernel-based Virtual Machine. KVM utilise les extensions de virtualisation du CPU — Intel VT-x ou AMD-V — pour faire tourner un invité presque à vitesse native. QEMU fournit alors le composant d'espace utilisateur : les cartes réseau virtuelles, les contrôleurs de disque et les interfaces graphiques que KVM ne gère pas lui-même.

Cette combinaison QEMU + KVM se trouve sous le capot de Proxmox VE, OpenStack et d'une grande partie de l'infrastructure cloud. Des centaines de machines virtuelles sur un seul serveur physique, chacune isolée des autres, sont ainsi une pratique quotidienne.

Le prix de cette flexibilité, c'est la complexité. QEMU se configure en ligne de commande, avec des dizaines de paramètres pour la mémoire, les disques, le réseau et les périphériques. Appeler `qemu-system-x86_64` avec les bons drapeaux exige de savoir ce que vous faites tourner et pourquoi. Qui ne le veut pas utilise une interface frontale : virt-manager, virsh ou Snowglobe, un visualiseur de machines virtuelles qui communique via DBus avec les instances QEMU en cours d'exécution.

Fabrice Bellard a écrit la première version, et l'aperçu est sorti en 2003. Le projet est depuis lors continuellement actif. En août 2026, la version 11.1.1 figurait sur le site officiel ; le cycle de publication est assez régulier pour que les entreprises puissent y planifier leurs mises à jour.

Le code source est écrit en C et librement disponible sous une licence open source. Cela signifie non seulement que vous pouvez voir ce que fait le logiciel, mais aussi que vous pouvez l'adapter à votre propre infrastructure. La communauté est active, avec des contributions de développeurs individuels et d'entreprises qui intègrent QEMU dans leurs produits.

QEMU parle à un large éventail d'architectures : x86, x86_64, ARM, ARM64, MIPS, PowerPC, RISC-V et SPARC. Cette largeur le rend indispensable dans le développement embarqué, où le processeur cible ne se trouve souvent pas sur le poste de travail de développement.

Auto-héberger semble magnifique, jusqu'à ce que quelque chose tombe en panne le dimanche soir à vingt-trois heures trente. Vous n'êtes alors pas un client qui attend au service d'assistance. Vous êtes le service d'assistance — et QEMU est l'outil avec lequel vous résolvez le problème ou pas.

Pour ceux qui font tourner des conteneurs, QEMU semble parfois superflu. Les conteneurs partagent le noyau de l'hôte et n'ont pas besoin de virtualisation complète. Mais dès que vous voulez construire des images multi-architectures, ou faire tourner un invité avec un noyau différent de celui de l'hôte, vous revenez à QEMU.

La frontière entre émulation et virtualisation est en pratique plus mince que la théorie ne le laisse supposer. QEMU fait les deux, et le choix est fait par le drapeau que vous ajoutez à la même commande.

Qui commence avec QEMU a intérêt à commencer petit : une seule VM, une image disque simple, pas de réseau. Les messages d'erreur sont cryptiques, et la documentation suppose que vous savez ce qu'est un pilote virtio. Vous le saurez après une semaine, pas après une heure.

Les interfaces frontales masquent une partie de cette complexité, mais pas tout. Au final, vous devez comprendre ce dont une VM a besoin : mémoire, stockage, un moyen d'atteindre le monde extérieur. QEMU vous oblige à répondre à ces questions, même si vous y mettez une coquille graphique autour.

L'histoire du développement de QEMU est une série de compromis entre vitesse et précision. L'émulation est lente, la virtualisation avec KVM est rapide, et l'art consiste à savoir quand vous avez besoin de laquelle. Un ancien système d'exploitation qui ne connaît pas les pilotes virtio tourne mieux en émulation pure ; un invité Linux moderne tourne le mieux avec KVM et virtio.

L'historique des versions montre un développement régulier : 0.12.2 en janvier 2010, 1.2.0 en septembre 2012, 2.0.0-rc0 en mars 2014, 7.2.0 en décembre 2022, 9.0.0-rc0 en octobre 2024, 10.0.0-rc0 en mars 2025. Pas de grands bonds, mais un flux constant d'améliorations.

Ce qui distingue QEMU des alternatives propriétaires, ce n'est pas seulement le prix, mais le contrôle. Vous pouvez voir ce qui se passe, vous pouvez l'adapter, et vous ne dépendez pas de la feuille de route d'un fournisseur. Pour de nombreuses organisations, cela pèse plus lourd que la courbe d'apprentissage initiale.

Le rôle de QEMU dans l'infrastructure moderne est plus grand que la plupart des utilisateurs ne le réalisent. Lorsqu'un fournisseur de cloud démarre une VM pour vous, il y a de fortes chances que QEMU soit impliqué quelque part. Lorsqu'un développeur construit une image de conteneur pour une autre plateforme, QEMU est l'intermédiaire silencieux.

Pour qui doit choisir entre QEMU et une alternative fermée : les options fermées sont souvent plus conviviales et offrent un meilleur support. Mais elles demandent un prix en flexibilité et en transparence que vous ne voyez pas toujours sur la facture.

La vraie question n'est pas de savoir si QEMU est meilleur que le reste, mais si vous voulez gérer la complexité qui accompagne la flexibilité. Pour ceux qui le veulent, QEMU est l'une des solutions de virtualisation les plus complètes qui existent. Pour ceux qui ne le veulent pas, il y a assez d'autres voies.

Chaque machine virtuelle que vous démarrez avec QEMU est un petit miracle d'instructions traduites et de matériel émulé. Cela fonctionne parce que des milliers de développeurs y ont travaillé pendant deux décennies, et cela continue de fonctionner parce que la base — une simple commande avec une image disque — n'a jamais changé.

← Retour à la base de connaissances
← Terug naar kennisbank