4 Démarrage rapide de QEmu > 4.2 Installation d'un système d'exploitation dans QEmu


4.2 Installation d'un système d'exploitation dans QEmu

Maintenant que nous avons mis en place l'environnement nécessaire, nous allons enfin pouvoir démarrer QEmu, et profiter de notre « PC dans le PC ».

Mais, au point où nous sommes arrivés, nous n'avons encore qu'un PC vierge, sans système d'exploitation (SE). Tout le matériel est installé, mais de logiciel, point encore...

Deux options s'offrent à nous :



4.2.1 Processeur hôte à coeurs multiples

Nous allons bientôt lancer notre première machine virtuelle, mais avant, il faut encore éliminer une dernière source potentielle d'ennuis.

Les processeurs à coeurs multiples (Pentium HT, Pentium D, AMD X2) rendent QEmu instable et provoquent soient le blocage complet du système hôte, soit son redémarrage pur et simple.


La parade consiste à forcer l'exécution de qemu.exe sur un seul coeur. Ceci peut être fait de deux manières.



Remarque : depuis la version 0.8.2 CVS 14-07-2005, l'affinité est définie automatiquement pour un seul processeur lors de la compilation.

4.2.2 Télécharger des images pré-installées

Un site très proche de QEmu propose bon nombre d'images de différents SE libres. Il s'agit du Free OS Zoo (http://www.oszoo.org/wiki/index.php/Main_Page). Pour vous rendre directement à la page de téléchargement des images : http://www.oszoo.org/wiki/index.php/Category:OS_images. Encore une fois, ce site ne propose que des SE libres.

Mais en cherchant sur le Web, vous pourrez probablement trouver d'autres sites proposant des images pour QEmu.

Une fois l'image téléchargée, il suffit de la placer dans le répertoire IMAGES créé précédemment et de taper ensuite la ligne de commande :

C:\QEMU>qemu -hda IMAGES\<NomDeLImage> -m 192 -localtime -L BIOS

Cette ligne de commande (minimaliste, il y a beaucoup d'autres options) va démarrer une machine virtuelle avec comme premier disque dur l'image <NomDeLImage> et pourvue de 192 Mo de RAM. Le paramètre -localtime permet simplement de caler l'horloge de la machine virtuelle sur celle de la machine hôte. Le paramètre -L indique à QEmu dans quel dossier il doit chercher le BIOS.

Voici, par exemple, le démarrage QEmu sous MS-DOS 6.22.


Illustration 3: Démarrage de la machine virtuelle




Pour terminer la machine virtuelle (éteindre le PC virtuel, en quelque sorte) :

4.2.3 Installer soi-même son système

Cette procédure s'apparente en tous points à l'installation d'un SE sur un PC réel. Il vous faut :



Nous allons faire une installation à partir des supports réels, nous évitant ainsi l'étape de création d'images ISO à partir de ces supports (ce qui peut être assez long pour un DVD).

Insérez maintenant les supports nécessaires à l'installation dans les lecteurs appropriés.

La ligne de commande de QEmu va dépendre du support de démarrage. Prenons l'exemple pour un CD bootable :

C:\QEMU>qemu -hda IMAGES\<NomDeLImage> -m 192 -localtime -L BIOS -cdrom \\.\D: -boot d

<NomDeLImage> est une image de disque dur vierge, créée avec qemu-img.

-m 192 permet d'ajuster la quantité de mémoire vive (RAM) installée dans la machine virtuelle. A adapter en fonction des besoins du SE cible.

-cdrom \\.\D: indique à QEmu de prendre le lecteur hôte D: comme lecteur de CD. Si le lecteur de CD hôte porte un autre nom, modifiez en conséquence.

-boot d fait démarrer le PC virtuel sur le lecteur de CD. Pour démarrer sur la disquette, spécifiez -boot a et ajoutez -fda \\.\A:.

Remarque : en général, à la fin de l'installation, le PC doit redémarrer. Ici, QEmu posera un petit problème dans la mesure où il ne permet pas de changer de périphérique de démarrage. Le -boot indiqué lors du lancement pour l'installation ne peut être changé sans arrêter QEmu.

Windows 2000 et XP s'en tireront correctement car ils affichent le message : Appuyez sur n'importe quelle touche pour démarrer à partir du CD. Il suffit d'attendre quelques secondes pour que QEmu continue à partir du disque dur. Pour les autres SE, il faudra tuer QEmu, puis le relancer sans l'option -boot, sinon il vont redémarrer à partir du CD et relancer leur procédure d'installation.

Le plus simple est alors de retirer le CD du lecteur de l'hôte lorsque le message demandant le redémarrage est affiché, puis de laisser redémarrer la machine virtuelle. QEmu se plaindra alors de ne pas pouvoir démarrer à partir du CD. Il suffit de le tuer à ce moment là.

Entrez à nouveau la ligne de commande, sans les options de CD ni de boot :

C:\QEMU>qemu -hda IMAGES\<NomDeLImage> -m 192 -localtime -L BIOS

C'est cette même ligne de commande qui permettra par la suite de démarrer la machine virtuelle lorsque vous voudrez l'utiliser.



Si le SE cible demande une combinaison de touches du style Ctrl-Alt-Suppr pour ouvrir une session, passez en mode moniteur (Ctrl-Alt-2 - voir le chapitre Installer des applications dans le SE – paragraphe 4.3, page 16 - pour une présentation rapide du mode moniteur), puis tapez :

QEMU 0.8.1 monitor – type 'help' for more information
(qemu) sendkey ctrl-alt-delete

Tapez Ctrl-Alt-1 pour revenir à l'écran principal.

Au niveau de sa ligne de commandes, QEmu identifie les périphériques virtuels à la manière de Linux : fda, fdb pour les lecteurs de disquettes (floppy disk) ; hda, hdb, hdc, hdd pour les lecteurs de disques durs (hard disk).

Le lecteur de CD est le périphérique maître sur le second contrôleur IDE. Il prend la place de hdc. Les paramètres -hdc et -cdrom s'excluent donc mutuellement.

Attention : si vous ajoutez l'option -cdrom \\.\X: à la ligne de commande, mais que le lecteur hôte ne contient pas de support, QEmu refusera de démarrer. Même si vous ne précisez pas cette option, le lecteur de CD sera disponible sur la machine virtuelle (sauf si vous avez utilisé -hdc). Voyez plus loin les commandes du moniteur (paragraphe 5.3, page 29) pour savoir comment insérer ou changer un CD dans le lecteur de la machine virtuelle.

Utilisez autant que possible le module accélérateur (Kqemu). Il est toutefois possible que les SE 16 bits (MS-DOS, Windows 9x) soient moins rapides lorsque Kqemu est activé. Dans ce cas, ou si celui-ci provoque des erreurs, ajoutez le paramètre -no-kqemu à la ligne de commande de QEmu avant de le relancer. L'accélérateur sera désactivé, mais l'émulation sera moins rapide.

Remarque : Depuis la version 1.3.0pre9 de Kqemu, l'option -kernel-kqemu est utilisable sur un hôte Windows XP, pour la plupart des systèmes cibles (DOS, Windows 2000, Linux (Ubuntu, Mandriva) démarrent. Windows 9x plante). Utilisez la si possible, car elle améliore encore les performances de l'émulateur.

4.2.4 Remarques

4.2.4.1 Capture de la souris

Pour que les mouvements de la souris soient transmis au SE cible, il faut d'abord cliquer dans la fenêtre de QEmu. A partir de ce moment, la souris reste prisonnière de la fenêtre QEmu. Si le SE cible ne reconnaît pas la souris, vous aurez l'impression que celle-ci a disparu. Pour la libérer, il faut appuyer simultanément sur les touches Ctrl et Alt du clavier (c'est indiqué dans la barre de titre de QEmu).

Une option très intéressante, si le SE cible possède le pilote adéquat (sinon, il faudra en installer un), est -usbdevice tablet. Cette option ajoute une tablette USB à la machine virtuelle QEmu, ce qui, en soi, ne présente pas forcément un intérêt majeur, mais permet surtout à la souris de ne plus être bloquée à la frontière de la fenêtre QEmu. Ctrl-Alt n'est plus nécessaire.

4.2.4.2 Utilisation élevée du processeur

Certains SE un peu anciens (MS-DOS, Windows 9x, etc...) souffrent d'un petit défaut de conception qui se traduit par une utilisation intense du processeur hôte, même lorsque le SE cible ne fait rien. Ce problème n'est pas dû à l'émulateur, mais est inhérent au système d'exploitation cible lui-même (lorsque ce SE tourne sur une machine réelle, il provoque les mêmes effets). Si vous démarrez le Gestionnaire de tâches de Windows (Ctrl-Maj-Echap), vous verrez alors que le processeur est occupé à 100%, la plus grande partie étant consommée par QEmu lui-même.

Windows NT et ses suivants, Linux et la plupart des autres SE récents n'ont pas ce défaut.

4.2.5 Interfaces graphiques

Lorsqu'on expérimente beaucoup avec QEmu, il devient vite pénible de taper et retaper des lignes de commandes. QEmu ne possède pas pour le moment d'interface graphique intégrée, mais il existe plusieurs utilitaires permettant de mémoriser tous les paramètres nécessaires à une machine virtuelle, pour la démarrer ensuite en quelques clics.

Dans l'absolu, ces outils ne font que créer une ligne de commande à partir des informations choisies par l'utilisateur.



JQEMU : http://www.exprofesso.com/jqemu/, une interface en Java.

QGUI : http://perso.wanadoo.es/comike/, ne fonctionne plus avec les dernières versions de QEmu, car la ligne de commande a changé.