Accueil - Fonctionnement - Mandrake/Mandriva : 9.210.1 -
Logiciels - Réseau - Développement - Liens - Forum

Présentation - Internet - Bureautique - Utilitaire - Multimédia
Qemu Windows
Rechercher sur Linux Transition :

Contact
Les news de Linux TransitionLes News

   
   

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

Toutes les marques et logos présents sur cette page sont la propriété de leurs propriétaires respectifs
Les informations fournis sur cette page ne sont pas garanties
Vous pouvez utiliser les informations de cette page de façon non commerciale et à condition de faire un lien vers Linux Transition : linuxtransition.free.fr
Statistiques du site par - visiteurs depuis Juin 2004