Installer Windows 98 sur OSX 10.3 avec qemu

Qu'est-ce que QEMU?

QEMU est un émulateur open-source qui a été récemment porté sur Mac OSX. Il permet d'émuler les processeurs x86 (PC) sur des Macs rapides avec un résultat décent. Bien sûr, QEMU est plus lent que Virtual PC de Connetix, repris récemment par Microsoft®, mais pour ceux d'entre vous qui possèdent un Mac G5, il permet de faire tourner Windows sans bourse délier (hormis Windows lui-même). A terme, QEMU sera intégré au projet Darwine.

Je tiens toutefois à préciser que l'émulateur QEMU est un projet en cours de développement. Il n'est pas encore très rapide mais fonctionne honorablement pour les tâches basiques telles que la vérification de pages Web en environnement Internet Explorer PC.

Tant que vous n'envisagerez pas d'utiliser des jeux avec cet émulateur, vous serez sans aucun doute satisfait de ses performances.

Les installations décrites sur cette page et les tests réalisés ont été effectués sur un modeste iMac G3 à 500 Mhz. C'est dire que des machines plus récentes et plus rapides produiront des résultats bien plus satisfaisants.

Où se procurer QEMU?

Vous trouverez un package d'installation de QEMU pour Mac OSX sur le site Free OS Zoo ou sur la page de Pierre d'Herbemont.

La documentation est disponible sur le site de Fabrice Bellard.

Pour ceux d'entre vous qui ne posséderaient pas de PC ni de Windows, vous pourrez toujours télécharger des OS libres de type DOS sur le site Free OS Zoo.

Installer QEMU

Une fois que vous aurez téléchargé Qemu, lancez l'installateur. C'est tout. Maintenant QEMU est prêt à fonctionner mais vous ne disposez pas encore de tout l'environnement nécessaire: les disques durs qui accueilleront votre système. C'est ce que nous allons voir.

Il est toutefois possible que vous ayez à changer les permissions des programmes installés pour qu'ils fonctionnent correctement. Pour cela, tapez dans le terminal:

cd /opt/local

sudo chmod 755 *

Pour éviter que QEMU ne vous renvoie une erreur de DNS, vérifiez que vous avez bien rempli le champ Serveurs DNS de l'onglet TCP/IP du panneau Réseau dans Préférences système. Lorsque ce champ n'est pas rempli avec les adresses de votre serveur DNS, QEMU a besoin d'être connecté à internet et refuse autrement de se lancer.

Certains d'entre vous n'ont pu éviter ce message d'erreur bien que les adresses DNS soient remplies correctement. J'ai pu trouver sur internet une réponse à ce problème.

Il semblerait que QEMU, encore en version béta actuellement, soit configuré au démarrage avec une configuration réseau en tun/tap. Ce mode ne fonctionne pas par défaut sur Mac OS X. Il existe toutefois des drivers tun/tap pour Mac OS X. Mais ceci dépasse le sujet de cet article.

L'option -nics 0 désactive toutes les cartes réseau dans l'émulateur. Vous pouvez donc l'utiliser si vous n'avez pas de réseau éthernet.

L'option -dummy-net évite aussi l'apparition du message d'erreur DNS. (Voir qemu -h)

Je n'ai pas personnellement testé ces options mais les utilisateurs de QEMU semblent dire que cela fonctionne correctement.

Vous pourrez d'ailleurs consulter une discussion sur ce problème à l'adresse suivante:

http://lists.gnu.org/archive/html/qemu-devel/2004-08/msg00092.html

Bon, voilà les préliminaires d'installation de QEMU sont terminés, nous allons maintenant nous attacher à créer les disquettes virtuels dont il a besoin pour fonctionner.

Construire les disques durs virtuels

Si vous projetez d'installer Windows 95 ou 98, vous aurez besoin d'une image d'une disquette d'installation et d'une image du CD d'installation de Windows.

Si vous voulez vous lancer dans l'installation de Windows 2000 alors vous n'aurez besoin que de l'image du CD Windows 200.

Réaliser une image de la disquette d'installation.

Il existe de nombreux moyens d'obtenir une image de la disquette d'installation de Windows.

Bien évidemment, la solution la plus simple consiste à posséder une disquette fabriquée par Windows ainsi qu'un lecteur de disquette. Vous pourrez alors utiliser Utilitaire de disques (OSX) ou Disk Copy (OS 9) pour réaliser l'image de cette disquette.

Lorsque vous ne possédez pas de lecteur de disquettes, il vous faudra ruser en récupérant le contenu de cette disquette de démarrage à partir d'un PC.

Vous pouvez même utiliser un Virtual PC ancien tournant sur OS9 pour la créer. Pour cela, lancez le bon vieux Disk Copy du système OS9 et créez une image de disquette en lecture écriture (à partir du menu Images, choisissez Créer une nouvelle image).

Le format sera Lecture/Ecriture et la taille 1,4 Mo. Vous pourrez ainsi, grâce à Windows 98 créer une disquette de démarrage qui viendra écrire ses données dans cette disquette virtuelle.

Une fois cette disquette de démarrage créée, sauvegardez la dans un répertoire que vous aurez créé à cet effet. Par exemple: ~/qemudir

NB: n'oubliez pas que le symbole ~ remplace le répertoire de l'utilisateur. C'est à dire la petite maison !

Créer une image du CD de démarrage.

Vous pourrez utiliser Disk Copy pour réaliser cette image. L'avantage de cette méthode c'est que vous récupérez un fichier .img directement utilisable.

Vous pouvez aussi utiliser Utilitaire de disque de Mac OS X pour réaliser cette image.

Choisissez dans ce cas, le format Maître DVD/CD pour enregistrer votre image. Au passage nommez la "hd98" pour la suite de notre démonstration. Vous obtiendrez ainsi une image dont il vous faudra changer l'extension de .cdr en .img mais le résultat est identique à la procédure décrite plus haut.

Bien tout cela est bel et bon. Il faut maintenant construire une image de disque dur pour d'accueillir votre installation de Windows.

Pour ce faire, nous allons faire un petit détour dans le terminal qui nous permettra d'utiliser la commande Unix dd.

Changez de répertoire pour vous retrouver dans ~/qemudir que vous avez créé tout à l'heure.

cd ~/qemudir

Puis utilisez la commande dd (consultez man dd pour plus d'informations sur le sujet) pour construire, par exemple, un disque de 512 Mo.

tapez:

dd of=hd.img bs=1024 seek=512000 count=0

Attention, le résultat n'est pas immédiat bien que la commande vous donne presque immédiatement un message vous informant que 0 octets ont été transférés. Un peu de patience et votre disque sera créé.

Installation de Windows

Nous allons maintenant nous lancer dans l'installation de Windows grâce à QEMU.

Il vous faudra informer QEMU des différents disques dont il dispose ainsi que de son mode démarrage.

Lorsqu'on consulte la documentation de QEMU, on peut constater que la forme générale de la commande QEMU est la suivante: qemu [options] [disk_image]

Suivent une série d'options que ne sont pas très claires pour l'utilisateur moyen. Aussi, je vais essayer d'en donner ici une traduction simple et compréhensible pour vous permettre de mieux suivre les étapes d'installation.

Comme vous n'êtes pas sans l'ignorer les PC sont construits un peu différemment des Macs et utilisent une convention pour nommer les périphériques. Ainsi A: et B: correspondent aux lecteurs de disquettes. C: et D: sont en général des disques durs et E: correspond au lecteur de CD-ROM.

Nous retrouvons des équivalents à ces dénominations dans les options de QEMU.

Ainsi, l'option "-fda file" correspond au lecteur de disquette virtuel nommé A: Par conséquent, -fdb désigne le lecteur de disquette B:

Les disques durs C: et D: seront respectivement désignés par les options -hda et -hdb. Quand au CDROM, il sera désigné par l'option -cdrom.

L'option -boot x permet de désigner sur quel lecteur se trouve le système de démarrage.

J'espère que les choses sont maintenant plus claires pour vous!

Nous avons nommé:

  • floppy.img le fichier image d'une disquette;
  • hd98.img le fichier image du CD-ROM de Windows
  • et hd.img le fichier image du disque dur accueillant votre future installation

Par conséquent, nous lancerons une première fois QEMU avec les options suivantes:

/opt/local/bin/qemu -fda floppy.img -boot a - hda hd.img -cdrom hd98.img

Ce qui permettra à QEMU de démarrer sur la disquette de démarrage que vous avez préalablement préparée et de connaître les différents disques utilisés dans cette session.

NB: pour les utilisateurs de Windows 95, il sera bon d'ajouter l'option -std-vga car cette version de Windows a quelques difficultés d'affichage et on a l'impression de lire du martien lorsque les choses se compliquent!

Si tout se passe comme convenu, vous devriez voir apparaître une nouvelle fenêtre sur fond noir vous présentant un menu de choix.

Choisissez l'option "Démarrer avec prise en charge du CD-ROM" avec les flêches de direction et la touche retour chariot.

Dans la suite de ce texte nous nommerons cette fenêtre: Fenêtre DOS

Préparer le disque C:

Vous pensiez pouvoir lancer directement l'installation de Windows. C'est une erreur !

Si la commande dd vous a permis de créer un disque virtuel nommé hd.img celui-ci n'est ni partitionné ni formaté. Il vous faudra en passer par ces étapes afin de créer un système de fichiers pouvant accueillir votre installation de Windows.

Lancer maintenant la commande FDISK dans la fenêtre DOS. Vous devriez trouver cette commande dans le lecteur A:

A:>FDISK

NB: Le clavier est QWERTY! J'ai trouvé une astuce permettant d'utiliser le clavier AZERTY de mon iMac en tapant la commande keyb us dans la fenêtre DOS. Ce qui est contraire à toute logique mais fonctionne pour moi quoique toutes les touches ne soient pas accessibles. Ne cherchez pas la touche ":" elle est située sur le caractère "."

FDISK va vous permettre de partitionner votre disque C:

Grâce à l'option 1, vous pourrez créer votre partition DOS initiale.

Une fois votre partition créee, il vous faudra l'activer avec l'option 2.

Maintenant formatez votre disque C: afin d'obtenir le système de fichiers DOS:

A:>FORMAT C:

Le disque C: est maintenant prêt à accueillir votre installation de Windows.

Lancement de l'installation de Windows

Dans votre fenêtre DOS, tapez:

A:>E:

E:>INSTALL

Oh, joie, Windows devrait maintenant s'installer !

Sur mon iMac G3 à 500 Mhz, l'installation complète de Windows 98 a pris plus de 3 heures! En revanche, l'installation de Windows 95 s'est déroulée en un temps raisonnable d'un peu moins d'une heure.

Lancement de Windows et utilisation

Maintenant que votre Windows est bien au chaud sur son disque dur virtuel, vous pouvez l'arrêter. Quitter aussi QEMU en cliquant sur le bouton de fermeture de fenêtre.

Plus besoin de disquette pour lancer Windows ni de CD-ROM, la commande de lancement de Windows devient maintenant dans le terminal:

/opt/local/bin/qemu -hda hd.img -boot c -user-net

Vous pourrez par la suite télécharger QemuX qui vous permettra de lancer QEMU sans utiliser les commandes du terminal. Cette application est une interface graphique sous OSX vous invitant à préciser les divers paramêtres de lancement de l'émulateur.

Windows 98 est tout juste utilisable avec mon iMac G3. En revanche Windows 95 se montre étonnamment réactif et permet de s'en donner à coeur joie avec l'environnement de Microsoft.

Je ne regrette qu'une seule chose: le clavier AZERTY n'est pas correctement émulé. Peut-être que dans un proche avenir, les auteurs de QEMU tiendront compte qu'il existe des non anglophones et prendront en charge les autres types de clavier. En fait les auteurs reconnaissent qu'à ce stade de développement (béta), la gestion du clavier Azerty reste problématique. Il existe actuellement un patch pour la version CVS Qemu 0.6.0 permettant de régler le problème. Cependant, cette solution n'est que temporaire car la prochaine version 0.6.1 ne fonctionne pas comme la précédente. Il vous faudra donc être un peu patient et attendre une prochaine version stable de l'émulateur.

La version 98 de Windows ne permet un affichage qu'en 256 couleurs et Windows 95 seulement 16 couleurs avec les drivers standard VGA.

Quelques remarques d'internautes:

Dans un mail récent, Laurent Amon me précise qu'il arrive à atteindre une résolution de 1024x768 avec Windows 98 en choisissant le driver Cyrrusvga en lieu et place du driver VGA standard.

Voici aussi les commentaires très pertinents de Vincent Macinet qui utilise QEMU pour sa bonne gestion du port parallèle en entrée-sortie (ce que ne réalise pas des produits comme Virtualbox).

"... Pour répondre à votre petit souci de clavier AZERTY dans qemu, il existe un argument -k qui permet de gérer les divers claviers, autrement dit, de manière générique, à votre ligne de lancement :

"/opt/local/bin/qemu -fda floppy.img -boot a - hda hd.img -cdrom hd98.img"

Il suffit d'ajouter l'argument proposé précédemment de cette façon :

"/opt/local/bin/qemu -fda floppy.img -boot a - hda hd.img -cdrom hd98.img -k fr"

Vous pouvez même passer votre horloge locale afin de ne pas avoir à retaper l'heure lors de l'installation de Windows 98

"/opt/local/bin/qemu -fda floppy.img -boot a - hda hd.img -cdrom hd98.img -k fr -localtime"


Et si en plus de tout cela, vous voulez avoir un accès à votre réseau local et pourquoi pas internet en prime, qemu sait émuler la carte Realtek RTL8029(AS) à base du chipset NE2000 (vous rappelez-vous cette carte 10 Mbps avec deux sorties : RJ45 et BNC) et qui plus est, sans avoir besoin de configurer le moindre tunnel ou pont réseau (tun/tap...) :

"/opt/local/bin/qemu -fda floppy.img -boot a - hda hd.img -cdrom hd98.img -k fr -localtime -net nic,vlan=0,model=ne2k -net user"

Si vous désirez avoir l'image CDROM de Windows 98 Seconde Edition avec l'incluse de l'émulation de disquette au démarrage (séquence "boot" incluse), ou d'autres images CDROM veuillez me contacter (vincent.machinet@gmail.com), je l'ai peut-être.

De même, si vous voulez inclure vous-même la séquence de démarrage à votre CDROM Windows 98 ou 95 de départ (si si, c'est possible !), il suffit :

  1. de copier tous les fichiers et répertoires du CDROM vers un répertoire temporaire créé sur votre dossier personnel (Exemple : ~/constructionWin98"),
  2. d'ouvrir votre logiciel de gravure favori,
  3. d'ouvrir un projet de gravure de CD de données,
  4. d'éditer les options de démarrage (boot) du projet,
  5. de demander une émulation de disquette 1,44 Mo,
  6. de proposer votre fichier floppy.img (qu'il va normalement reconnaitre comme disquette 1,44 Mo)
  7. de fermer cette fenêtre d'édition,
  8. d'ajouter tous les fichiers et répertoire de ~/constructionWin98,
  9. de lancer la gravure (ou la fabrication de l'image CDROM en *.ISO de préférence, par exemple : "nouveau_W98.iso")
    Et le tour est joué, vous n'aurez plus besoin de l'argument "-fda floppy.img"


Il suffira, pour l'installation, d'écrire :

"/opt/local/bin/qemu -boot d - hda hd.img -cdrom nouveau_W98.iso -k fr -localtime"
et les arguments réseau si vous le souhaitez.

Rappel sur l'argument -boot :

a : lancement depuis la disquette
c : lancement depuis le disque dur -hda
d : lancement depuis le disque CDROM ou DVDROM -cdrom
n : lancement depuis le réseau (exemple : PXE)

Pour ma part, je suis sur Ubuntu et qemu est relativement similaire, sa configuration également.

Bon courage et bonne continuation de site ! That's All Folks !
Cordialement, MACHINET Vincent."

J'espère vous avoir été utile et amusez-vous bien avec Windows sur Mac OS X.

Longue vie à QEMU et félicitations aux auteurs de ce superbe logiciel Open Source.

Patrick