QEMU 0.6.2 (bêta) sous Windows  
 Comme 
l'indique le logo, QEMU est un émulateur de processeur (cpu). Il permet donc 
d'émuler un pc (x86) ou mac (ppc) et ainsi d'installer le système d'exploitation 
que l'on veut. Vous trouverez la liste des processeurs 
émulés, et ceux sur lesquels fonctionne QEMU, sur le site de Fabrice Bellard 
qui est le développeur principal de ce puissant logiciel libre. 
La version présentée dans cet article est une version en développement (0.6.2) 
en janvier 2005. La version stable étant la 0.6.1. Je n'ai pas constaté de bug 
avec cette version bêta mais si c'était votre cas, essayez la version 
stable. 
 
Le projet FreeOSZoo propose les versions 
Windows de QEMU. Les versions en développement sont créées presque tous les 
jours. Celle que j'ai prise s'appelle 
QemuInstall-20050119-ppcfix.exe. 
Si vous prenez des versions plus récentes, vous rencontrerez peut être des 
problèmes que je n'ai pas détecté... Si vous optez pour la version stable, allez 
sur la page Download de 
FreeOSZoo et téléchargez la version dans la colonne "Official build". 
Pour l'installation, il suffit de lancer le .exe et de faire 
Suivant tout le temps. La dernière étape vous propose de télécharger des images 
iso sur FreeOSZoo : répondez Non et c'est terminé. 
La théorie : 
 
Avant de passer à l'utilisation, nous allons voir les principes de 
fonctionnement. 
Pour commencer il y a deux termes importants : 
  - hôte (host): le système sur lequel fonctionne votre ordinateur. Dans notre cas c'est Windows.
 
  - invité (guest) : le système émulé par QEMU. Dans cette 
  documentation je prendrais l'exemple de Linux (Mandrakelinux) mais vous pouvez émuler d'autres 
  systèmes, par exemple : Windows, MacOS, Darwin, Freedos, BSD, ReactOS, ...
 
 
Comme QEMU émule un pc, il doit émuler les composants de celui-ci. 
Malheureusement il n'émule pas le matériel qui est dans votre pc mais un 
matériel bien spécifique. Ce qui fait que votre matériel dernier cri sera 
remplacé par : 
  - Carte mère : munie d'un chipset Intel i440FX avec des ports PCI et 
  ISA (pas d'AGP). Deux contrôleurs IDE donc 4 périphériques peuvent être 
  émulés (hda, hdb, hdc et hdd) dont un qui est le lecteur de CDROM (hdc). Un 
  contrôleur disquette qui permet d'avoir 2 lecteurs (fda et fdb). Et pour 
  finir jusqu'à 4 ports série émulés.
 
- Carte vidéo : Cirrus CLGD 5446 PCI VGA. Elle supporte jusqu'à une 
résolution de 1280x1024 en 16 millions de couleurs (24 bits). La norme VESA est 
supportée qui permet d'aller jusqu'en 1024x768 en 65000 couleurs (16 bits).
 
  - Souris et clavier PS/2
 
- Carte son : Soundblaster 16bit. Elle est désactivée par défaut car 
elle pose des problèmes sous Windows.
 
  - Carte réseau : NE2000 PCI. Elle permet de transférer des données du 
  système hôte vers le système émulé par le protocole TFTP. Vous pouvez 
  également configurer un serveur samba si le système émulé est Linux. Ainsi vos 
  postes Windows peuvent accéder au système émulé.
 
  - RAM : par défaut QEMU utilise 128Mo de votre mémoire vive, mais 
  vous pouvez en mettre plus ou moins.
 
 
Les supports de stockage (disquette, cdrom, disque dur) sont émulés, c'est à 
dire qu'ils correspondent à des fichiers (.iso généralement) présents sur votre 
disque dur réel. La version Linux de QEMU permet également d'accéder aux 
supports physique (disquette et cdrom) mais la version Windows (0.6.2 beta) 
accepte uniquement le lecteur de disquette mais dans une future version, il 
devrait accéder au lecteur cdrom. 
 
Un émulateur est toujours plus lent que le système qu'il émule à moins 
d'avoir un matériel très puissant comparé au système à émuler (Atari, Amstrad, 
Playstation, ...). Dans mon cas, j'ai un Pentium III 700Mhz avec 256Mo de RAM. 
Ce qui peut être correct pour émuler DOS ou Linux en mode console mais quand on 
passe à KDE ou un autre système graphique (Gnome, Windows, ...) c'est en dessous 
de la limite de l'utilisable. En arrondissant, QEMU divise la puissance de votre 
ordinateur par 7, la RAM n'étant pas l'élément crucial du moment que vous pouvez 
attribuer 128Mo pour QEMU. Donc je me retrouve avec un Pentium 100Mhz avec 
128Mo, ce qui est trop peu pour MDK 10.1 avec KDE 3.2. 
La pratique : 
 
Après l'installation du logiciel, la seconde étape est de créer un disque dur 
virtuel qui sera un fichier .img présent sur votre disque dur réel. Il faut 
savoir qu'en fonction de votre système de fichier vous serez limité pour la taille 
maximum. Si vous utilisez FAT32 vous ne pourrez pas faire d'image supérieure à 
4Go, si vous utilisez NTFS il n'y a pas de limite (en théorie). 
 
Avec QEMU 
est fournit le programme QEMU Menu (raccourci dans le menu Démarrer > Qemu) permettant de créer cette image de façon simple. Avec la version 0.6.1 ce menu est différent 
et ne permet pas faire d'image supérieure à 2Go. Pour ne pas faire de jaloux, 
nous allons faire tout en ligne de commande et ainsi pouvoir dépasser la limite 
de 2Go. Le logiciel pour créer l'image s'appelle
qemu-img.exe. Il peut faire différents types d'image : raw, qcow, cow, vmdk et cloop. Le type raw crée un fichier sur votre disque de la 
taille demandée mais ne peut pas dépasser les 2Go et la création 
est "longue" vu la taille du fichier. Le format qcow ne fait que 
réserver un espace sur le disque mais ne crée pas directement un fichier de 
cette taille. C'est en fonction de l'utilisation que le fichier augmentera, donc 
sa création est très rapide puisqu'il fait quelques Ko. Les formats cow et cloop 
fonctionnent uniquement sous Linux, et le type vmdk permet d'être compatible 
avec VMware mais ne fonctionne actuellement qu'en lecture seule. 
 
Nous allons donc prendre le format qcow. Soit vous lancez le mode console pour 
taper la commande, soit vous modifiez le fichier
qemu_hdd_virtuel.bat que j'ai 
fait afin qu'il corresponde à votre configuration et la taille désirée puis vous 
l'exécuter en double cliquant dessus. Si vous 
prenez la première option, il faut vous placer dans le répertoire de Qemu et taper la commande 
"qemu-img.exe create -f qcow d:\test.img 3G", où "d:\test.img" 
indique le chemin et nom du disque virtuel et "3G" la taille en Go (M 
pour donner la taille en Mo). 
 
Une fois le fichier créé, nous pouvons passer à l'installation du système à 
émuler. Les instructions qui suivent sont pour MDK 10.1 mais vous pouvez les 
adapter. Il faut déjà avoir les images .iso des cd ou dvd de la distribution sur 
votre disque dur. Si ce n'est pas le cas, soit vous les téléchargez soit vous 
les créez à partir des cd/dvd originaux avec un logiciel de gravure. Dans mon 
cas, j'ai les 3 cd dans le dossier D:\mandrake\. Avant de lancer Qemu, je vous 
conseille de fermer le maximum de programmes (antivirus, ...) pour soulager 
votre processeur, surtout s'il est aussi puissant que le mien. 
 
Pour commencer, il faut indiquer à Qemu le disque dur virtuel à utiliser et le 
cd sur lequel booter. Vous avez encore la possibilité de le faire en ligne de 
commande ou modifier le fichier 
qemu_bootcd.bat. La commande est "qemu.exe -L .\bios -m 128 -hda d:\test.img 
-cdrom D:\mandrake\Mandrakelinux-10.1-Official-Download-CD1.i586.iso -boot d". 
Nous allons la décortiquer pour mieux comprendre : 
  - -L .\bios : indique le répertoire où se trouver le bios à émuler.
 
  - -m 128 : indique la RAM à réserver pour QEMU.
 
  - -hda d:\test.img : indique l'emplacement du disque 
  virtuel. Ce sera le premier disque puisqu'il est nommé hda (comme sous Linux).
 
  - -cdrom D:\mandrake\Mandrakelinux-10.1-Official-Download-CD1.i586.iso : indique 
  l'emplacement de l'image iso du premier cd MDK 10.1.
 
  - -boot d : indique sur quel périphérique booter. Ici Qemu va démarrer sur le cdrom 
  (a = disquette et c = hda).
 
 
  
      
    Le cd se lance et on voit l'écran de démarrage de l'installation. Il faut 
    cliquer dans la fenêtre de Qemu pour pouvoir faire Entrée ou F1. N'attendez 
    pas trop longtemps sinon vous aurez une erreur kernel. | 
      
    Le chargement se poursuit, plus ou moins vite en fonction de votre pc. | 
      
    On peut commencer l'installation. Pour sortir de la fenêtre Qemu, appuyez 
    sur les touches Ctrl+Alt. | 
   
 
 Quand il vous 
sera demandé le cd2, faites Ctrl+Alt+2. Ce qui vous amènera dans la console de Qemu (monitor). Tapez la 
commande "eject cdrom" pour simuler l'éjection du cd. Si vous avez un message "device 
is locked", tapez "eject -f cdrom" pour forcer l'éjection. Ensuite tapez la 
commande "change cdrom D:\mandrake\Mandrakelinux-10.1-Official-Download-CD2.i586.iso" 
en indiquant le bon chemin vers le .iso. Le pavé numérique (0 à 9, /, . et Enter) ne 
fonctionne pas dans ce mode. La dernière commande est un peu longue mais lorsque 
l'on vous demandera le cd3, il suffira d'appuyer sur les flèches Haut et Bas 
pour faire défiler l'historique des commandes entrées. Cela vous évitera de tout 
taper, il faudra juste modifier un chiffre dans la commande. Pour revenir dans 
le mode normal, faites Ctrl+Alt+1 et vous pourrez poursuivre l'installation. 
Une fois l'installation terminée (environ 2h dans mon cas), le programme 
d'installation vous demande de redémarrer. N'ayez pas peur, cela ne va pas 
redémarrer votre système hôte (Windows) mais seulement le système invité (MDK). 
Qemu n'est pas capable de simuler un Reset, donc quand vous voyez à l'écran un 
message du type "Power down/off", faîtes Ctrl+Alt+2 (monitor) et tapez "q" puis 
Entrée ce qui va fermer Qemu. Si vous arrêtez Qemu trop tôt, le système de 
fichiers ne sera pas terminé correctement et lors de votre prochain démarrage 
vous aurez une vérification du disque. 
 
 
Notre système est maintenant installé, il ne reste plus qu'à le lancer. La 
commande est proche de celle de l'installation, sauf qu'au lieu de booter sur le 
cd, nous allons démarrer sur le disque principal (hda). Soit vous tapez la 
commande, soit vous modifiez le fichier
qemu_boothda.bat. Vous verrez le 
système se charger (image à gauche). Puis vous aurez votre bureau (image à 
droite) 
Il est possible de mettre Qemu en plein écran. Il faut appuyer sur les 
touches Ctrl+Alt+f. Par contre ne modifier pas la résolution du système émulé 
quand vous êtes en plein écran sinon votre pc va rebooter (j'en ai fait 
l'expérience...). Et quand on attend 15min pour voir le bureau, on est vraiment 
dégoûté de devoir tout recommencer. Pour accélérer le chargement, vous pouvez 
désactiver des daemons inutiles (son, bluetooth par exemple) et mettre la carte 
réseau (eth0) en statique ou désactivée. Vous gagnerez des minutes non 
négligeables (dans mon cas). 
Si vous avez des questions, il existe un forum dédié (en anglais). 
Il existe également des programmes permettant de gérer la configuration et les systèmes émulés, de façon graphique. 
Les plus connus sont qGui et 
QEMU manager.
Sur le site FreeOSZoo vous pouvez télécharger des images disque déjà créées.
Cela vous évite de faire l'installation. Ils recherchent des personnes pour faire d'autres images. 
Mise à jour : Avec la version 0.7, et peut 
être antérieure, il est possible d'accéder aux lecteurs de CDROM depuis un 
système hôte sous Windows 
2000/XP. Pour cela, il faut utiliser l'argument "\\.\d:" ou "//./d:" (sans 
espace ni guillemet) si votre lecteur est en D:. La ligne à taper pour démarrer 
depuis le cd donnerait donc ceci : 
qemu.exe -L .\bios -m 128 -hda d:\test.img -cdrom //./d: -boot d
  
Bien sûr il faut que ce soit un cdrom bootable tout comme c'était le cas pour 
l'image iso. Depuis la version 0.7, Fabrice Bellard a développé un module 
(kqemu) pour 
accélérer QEMU qui permet de faire tourner le système invité seulement 2 fois 
plus lentement contrairement au 5-10 fois sans cet accélérateur. Malheureusement 
ce module n'existe que sous Linux pour l'instant... Vous trouverez d'autres trucs et astuces, notamment pour le réseau, sur le site de ce japonais parlant 
l'anglais (heureusement pour nous). 
 Dernière modification de la page : 19/11/2005 
 
 |