Émulation de Windows 1 et Windows 2: Qemu peut tout faire !

Avertissement

Ceci est un billet à destination pédagogique et informative, la virtualisation de systèmes d’exploitation peut être interdite ou nécessiter la détention d’une licence officielle. Windows, même la version 1.03 (cliquez pour les infos sur la Wikipedia) et 2.03 restent la propriété légale de Microsoft, mais je me suis dit que l’on peut considérer ces deux versions de l’OS comme des abandonwares. Lisez la définition sur la wikipedia, mais bon ;). Même remarque pour la version 5.0 du DOS fournit avec. En cas de remarque des éditeurs respectifs, du PUF, ou de mon hébergeur , je supprimerais évidemment immédiatement ce billet.

Pourquoi ce billet ?

Il peut paraître légèrement déplacé de poster un billet de ce type sur un blog dédié à ubuntu et aux logiciel libres, mais le but principal est de vous montrer la puissance de QEMU par rapport à d’autres solutions, dans certaines situations. (Évidemment vous pourriez aussi en profitez pour découvrir l’ancêtre d’un os, soyez ouverts !)

Une capture du résultat final pour ceux qui ne voudraient pas essayer : Windows 1.03 et 2.03 sous linux ! Nous avons bien Windows 1.03 et 2.03 sur un bureau Xgl, (donc linuxien) !

Qemu c’est quoi ?

Qemu est un émulateur de pc. Définition sur la wikipedia : QEMU est un « émulateur de système » : c’est un logiciel qui permet de faire tourner un ou plusieurs systèmes d’exploitation (ou seulement des processus) sur un système d’exploitation déjà installé sur la machine. Concrètement, QEMU va vous permettre de simuler un pc, avec des disques, virtuels ou pas, il s’occupe de simuler aussi une souris, retransmet les message de votre clavier vers l’os, simule un processeur, de la mémoire, etc… Il existe évidemment d’autres solutions de ce type: par exemple VMware player, un logiciel non libre, mais gratuit, qui est plus avancé que QEMU (plus professionnel aussi). Néanmoins, quelque chose que cet émulateur peut faire de plus par rapport au autres, c’est simuler de (très) vieux PC. Personnellement, j’aime bien les vieux jeux : les premiers lemmings, etc. J’utilisais pour cela un DOS 4.0/Win3.1, sur une veille machine (c’est un IMB de 1991, avec un 386, Co-processeur, 16mo de ram, 2mo ram sur le GPU, et 50mo d’espace disque :)), et je me suis demandé un jour si j’arrivais à mettre Windows 1 et 2 dessus juste-pour-voir. Après avoir attendu 3 mois pour trouver des disquettes Windows de l’époque en fouillant les forums, je me suis bien vite rendu que l’os ne comprenait pas comment fonctionnait mon matériel : déjà trop récent !

C’est alors que j’ai eu l’idée d’essayer avec un émulateur : VMware ? Marchait pas. Bosh ? Marchait pas, et trop compliqué. Qemu ? Marchait pas au premier abord. Mais en regardant les options, j’ai découvert que qemu pouvait simuler deux type de pc.qemu -M ? : Supported machines are: pc Standard PC (default), isapc ISA-only PC. Après avoir lancé une machine avec l’option isapc, réinstallé un dos sur mon disque dans la ram, copié les fichiers de windows (je n’ai pas réussi une installation propre), ça à marché. J’étais abasourdi. Dire que seul un logiciel libre m’a permis ça !

Comment utiliser Qemu ?

Installation de QEMU

C’est très simple: taper sudo apt-get install qemu dans une ligne de commande. Vous devriez avoir la dernière version (testé avec la 0.8.2)

Syntaxe d’appel dans une ligne de commande

La syntaxe est relativement simple : il suffit d’abord de créer les disques, en indiquant la taille : qemu-img create mondisque 10M va vous créer le disque mondisque, avec une taille de 10M. Puis, vous pouvez invoquer QEMU avec les paramètres désirés pour les disques : qemu -fda ladisqette -hda ledisquea -cdrom lecd. Vous pouvez bien sur indiquer des disques sur le système : /dev/fda0, ou /dev/cdrom. Mais n’essayez pas avec vos disques /dev/hd* et /dev/sd*, sauf si vous savez ce que vous faites. Le paramètre -boot indique le disque sur le quel booter. -boot a c’est sur la disquette, -boot c c’est sur le disque dur, -boot d c’est sur le cdrom.

Qemu inclut aussi une console : appuyez sur <crtl>+<alt>+1 ou +2, pour switcher. La console inclut des commandes pratiques, pour changer un disque par exemple, ou redémarrer et arrêter le système. Taper help dans cette console pour plus d’informations.

KQEMU

Kqemu est un module du noyau, qui permet de travailler plus vite. Personnellement, je ne l’utilise pas, je ne peut pas vous en parler, mais sachez que ça existe.

Comment essayer Windows1.03 et 2.03 ?

Remarque

Je vous ai créé des disques tout prêts, il n’y aura rien à installer (à part qemu) !

Installation de QEMU

C’est très simple: taper sudo apt-get install qemu dans une ligne de commande. Vous devriez avoir la dernière version (testé avec la 0.8.2)

Téléchargement des images disques

Vous trouverez à la fin de ce billet une annexe, téléchargez la, ou cliquez ici. Sauvez la dans un dossier quelconque, et décompressez les fichiers contenu dans l’archive dans ce dossier (avec Nautilus par exemple). Vous y trouverez trois fichiers : Disque1.03Final et Disque2.03Final, qui sont les images disques, et fd.img qui est une image vide de 1ko pour simuler le lecteur de disquette.

Exécution !

Ouvrez une ligne de commande, et entrez dans le dossier ou se trouvent les images. Tapez les commandes suivantes :
qemu -fda fd.img -hda Disque1.03Final -boot c -M isapc pour Windows 1.03
qemu -fda fd.img -hda Disque2.03Final -boot c -M isapc pour Windows 2.03

Marrant non ? (h)

Remarques :

  • Utilisateurs d’Xgl, il se peut que votre QEMU soit transparent, et que ça ne ressorte vraiment pas bien. Tapez la ligne export XLIB_SKIP_ARGB_VISUALS=1 avant d’exécuter QEMU et tout ira bien !
  • Tout se fait au clavier, la touche <ALT> vous sera d’un grand secours pour les menus ;).
  • Windows 1.03 ne comprend pas les touches directionnelles, utilisez les lettres de votre clavier pour vous diriger.
  • Windows 1.03 à un problème au démarrage: il ne trouve pas un fichier. En appuyant sur les touches <TAB> et <ESPACE>, on passe le message sans problèmes.
  • L’installation d’MS-DOS s’est faite avec un clavier Américain, les touches ne sont peut être pas au bon endroit !
  • Il n’y a aucun support de la souris.

Comments

Hummm, fait attention aux droits sur les images windows :/ la Licence est toujours d’actualité - le support ne s’est arreté qu’en 2001, ce n’est pas si vieux.



NaWer, 2006-12-13 13:34:06

Superbe billet. Et qui ne risque pas de me rendre nostalgique de windows ;)



LR, 2006-12-13 14:56:23

super post je trouve ^^ j’aime aussi faire tourner de vieux os en émulation sur ma machine. Pour la windows 1, j’ai deux trois soucis (impossible d’accéder aux menus avec alt)… Pour la windows 2, je n’ai aucun souci elle fonctionne bien… J’ai encore mes disquettes de win3.1, je vais voir à les installer ^^, par contre j’ai une question > je suis sous un iBookG4 et je n’ai donc pas de lecteur de disquette, est-ce qu’il est possible d’utiliser des images de mes disquettes ? Merci d’avance :)



illovae, 2006-12-14 13:11:09

illovae -> Y’a pas de touches ALT ! Utilise les lettres de ton clavier ! Et oui, tu peut utiliser des images de tes disquettes. Crée ton image sur un pc/mac qui à un lecteur avec @@

dd if=/dev/fda of=fichier.img@@, et utilise le paramètre -fda fichier.img.



The_Glu, 2006-12-14 13:30:31

Merci pour les isos préparées et le petit tuto, j’étais justement curieux de pouvoir émuler les premiers Windows pour voir un peu ce que ça donnais (Windows 3.0 j’ai récupéré un IBM PS2 qui l’avais ^ ^)

Allez, maintenant tu nous fais la même chose pour les macs avec Basilisk2 ? :-)



Teddy, 2006-12-14 22:07:26

Pour ma part, comme j’avais des problèmes à l’install de kqemu, j’ai essayé d’installer qemu+kqemu sur mon Edgy en utilisant la méthode prévue pour Edgy mais sous AMD64, et ça marche avec le même code (sauf l’appel de qemu bien sur)
voilà l’adresse
http://www.ubuntuforums.org/showthr...



brazz, 2007-01-14 01:57:05

J’ai les 7 disquettes de windows 3.0, et je cherche à faire comme tu as fait pour les windows 1 et 2, mais je n’y arrive pas, si tu pouvait me dire comment faire le fichier image….

Merci d’avance.

bw_syl



bw_syl, 2007-01-28 21:19:19

Tu doit d’abord installer un dos, puis Windows. Sert toi de la console de QEMU (ctrl-alt-2) pour monter et démonter les disques ! Regarde dans la doc de qemu les commandes exactes.



The_Glu, 2007-01-28 21:55:10

Avertissement ???
Des versions qui n’ont plus de valeur en chiffre d’affaire, ou est le dommage ?

Je ne vois rien à m’inquiéter:
- J’ai une licence XP.
- 2 OS en KVM = 2 resource peut utilisé + gaspi énèrgie.
- 2 OS en 2 partitions = mq d’ergonomie.
- (Machine viertuel ou machine phisique) = aucune différence à l’usage.
- MS a une VM pour faire tourner d’autres OS et pas l’inverse ?

Conclusion: J’exigerais de M$ de faire tourner mon XP sur quelque MV que ce soit !



Raclette, 2007-01-29 14:16:39

Ah quand l’émulation de la première version du noyau de Linux ? :p (Avec une distrib type slackware)



Greg, 2007-04-28 10:56:19

Bonjour,
cela m’a beaucoup intéressé. J’ai essayé sous Linux, mais cela plantait sans commentaires.. Alors j’ai essayé qemu sous Windows XP, même chose.. Finalement, j’ai dû passer les options suivantes :
qemu -L . -m 128 -soundhw all -localtime -fda fd.img -hda Disque2.03Final -boot c -M isapc
Je ne sais pas celles qui sont vraiment utiles…

Windows 2 fonctionne, par contre je crois qu’on ne peut pas installer Word 1.1 car il faut au minimum Windows 2.11.

Windows 1 se lance, mais on ne peut guère jouer avec, sans la souris et avec un clavier défecueux.

J’avais essayé dans le passé Windows 2 sur mon portable XT, mais avec un écran CGA c’est beaucoup moins joli. J’avais créé aussi des disquettes pour utiliser Windows 3.0 sur ce XT sans disque dur; ainsi qu’une disquette 1.44 Mo contenant les fichiers minimums pour lancer Windows 3.1 (en CGA mode Standard).
A bientôt, Patrice



Kbio, 2007-06-01 13:17:36
Super, mais par contre j’ai pas souris…

Sans doute parcequ’elle est USB, j’essayerais avec un adaptateur PS2

evax, 2008-09-15 20:06:32


Génial. Serait-il possible d’obtenir les images des disquettes? J’aimerais faire la même chose avec VirtualBox que je viens d’installer sur Ubuntu 8.10 (vraiment facile mais souci pour le réseau). J’ai fait un peu le même exercice en installant (en plus de XP) un Windows 98 qui était sur un CD non amorçable. C’est l”occasion de faire un essai facile d’un Win 98 exotique en russe, mais j’ai de suite pensé ÉGALEMENT à Windows 1 et 2 et me voilà. Merci

Papou, 2009-01-22 00:22:21
Je suis parvenu à faire des images VirtualBox comme ceci :

qemu-img convert Disque2.03Final t vditool DD Windows_2.03.vdi t vditool SHRINK Windows_2.03.vdi

Rappelons qu’avant 95, Windows utilise au maximum les fonction DOS et BIOS, et donc que les problèmes de compatibilité sont à solutionner là. En particulier :

Pour utiliser un clavier AZERTY, il faut utiliser KEYB.COM. Pour le support de la souris, il faut un driver DOS de souris.

Papou, 2009-01-22 21:30:31