Windows 2000 dans Linux grâce à qemu
Geek
Par djib le samedi 26 novembre 2005, 00:24 - Lien permanent
Introduction
Pour lancer certaines applications Windows sous Linux il est possible d'installer Windows dans qemu, un logiciel qui vous permettra de lancer Windows dans votre système Linux. À l'heure où j'écris ces lignes il n'est pas possible d'installer Windows XP dans qemu. Je vous déconseille d'installer Windows 98 car ce système est hautement instable, mais d'un autre côté, il est vrai qu'au final le système sera sûrement beaucoup plus rapide que Windows 2000.
Ne vous attendez pas à des performances extraordinaires, mais avec mon Pentium Centrino 1.3GHz, c'est très raisonnable. (Notez qu'il existe KQemu - le K venant de Kernel et pas KDE - aussi connu sous le nom de Qemu-accelerator qui permet d'augmenter très nettement les performances, mais cela est hors du cadre de cet article. Notez aussi que si vous voulez jouer sous Linux je vous conseille de vous tourner vers Cedega).
Installation de qemu
Pour installer qemu dans votre Ubuntu favori, il suffit de taper (dans un terminal) sudo apt-get install qemu, ou bien d'utiliser Synaptics, méthode un peu plus lente mais plus accessible.
Préparation
Une fois qemu installé vous allez devoir dénicher un peu de place sur votre disque dur, et surtout décider de la taille que vous voulez allouer au système que vous allez installer. Pour ma part j'ai choisi 3Go, ce qui me semble très raisonnable. (Je ne sais pas si il est possible de changer cette taille par la suite).
Ouvrez une console et tapez : qemu-img create win2000.img 3G (en adaptant éventuellement à la taille que vous avez choisie) dans le répertoire où vous voulez créer le gros fichier de 3Go qui va jouer le rôle de disque dûr. Qemu devrait vous annoncer fièrement : Formating 'win2000.img', fmt=raw, size=3145728 kB. (Notez qu'il semblerait que pour l'installation cette image doivent être sur un disque Linux (ext3 par exemple) et non un disque Windows (FAT par exemple))
A partir de là il vous faut bien sûr le CD d'installation de Windows 2000 (cas n°1) ou bien simplement une image de ce CD (cas n°2). Dans les deux cas le disque doit être bootable.
- Avec le CD tapez :
qemu -k fr -hda win2000.img -cdrom /dev/cdrom -boot d - Avec l'image tapez :
qemu -k fr -hda win2000.img -cdrom windows2000.iso -boot d
Installation de Windows
Suivez ensuite les instructions à l'écran pour le processus d'installation. Rassurez-vous, vous êtes dans un système virtuel, vous ne pouvez pas (a priori) corrompre votre système. L'installation m'a pris une bonne heure (le temps de regarder quelques épisodes de Friends
). Elle a même planté en plein milieu, mais elle s'est relancée toute seule pour finalement marcher...
Après l'installation
Une fois l'installation terminée, vous pouvez lancer votre système avec la commande qemu -k fr -hda win2000.img -boot c. Vous pouvez ajouter les options -enable-audio pour avoir le son et -user-net pour avoir le réseau.
Pourquoi même ne pas vous faire une belle icône qui vous sert à lancer Windows 2000 ? Cliquez avec le bouton droit sur le tableau de bord de Gnome. Cliquez sur Ajouter au tableau de bord puis Lanceur d'application personnalisé. Mettez le nom que vous voulez, et dans le champ commande entrez la commande ci-dessus (pensez à mettre le chemin complet vers votre image disque, comme par exemple /home/djib/qemu/win2000.img). Choisissez une belle icône et c'est bon !
Pour aller plus loin
Je vous conseille de faire un petit tour du côté du manuel de qemu (en tapant man qemu dans une console). Vous découvrirez un peu mieux les possibilités de ce logiciel... Vous pouvez par exemple préciser la quantité de mémoire que vous voulez allouer à qemu (128Mo par défaut) ou bien changer la résolution de qemu (640x480 par défaut).
Une petite capture d'écran :
Mise-à-jour le 27 Novembre 2005
Pour avoir le son sous 'qemu' j'ai dû installer la carte son ('Sound Blaster') sous 'Windows 2000' et ensuite, il m'a fallu arrêter 'esd' ('arts' pour KDE). En effet ces serveurs de son ne peuvent pas fonctionner en parallèle avec 'qemu'.
J'ai donc modifié mon raccourci vers 'qemu' qui a maintenant la forme suivante : killall esd; qemu -k fr -hda /home/djib/qemu/win2000.img -boot c -enable-audio -user-net; esd




Commentaires
Excellent ! pile ce que je recherchais ...
Petite question :
pour moi, ca marche pas ...
CDROM BOOT FAILURE CODE : 0004
Boot from cdrom failed ...
Fatal : could not read the boot disk
Bon la y'a pas photo : ou mon dsque de win2k est naze ou il est pas bootbale
QUESTION : win2k est-il bootbale par défaut ?
Comment ça "il n'est pas possible d'installer Windows XP dans qemu" ?
Je n'avais eu aucun problème à le faire en suivant la procédure de lea-linux.
...Jusqu'à ce que je me rende compte que ca me servait vraiment à rien
Salut plagiats. Windows XP marche pas officiellement sur qemu : fabrice.bellard.free.fr/q... Visiblement certaines personnes arrivent cependant à le faire fonctionner. Le seul avantage à installer Windows XP est sûrement de faire tourner les applications qui résistent à wine et qui nécessitent Windows XP, mais d'un autre côté j'ai peur de la lenteur du Windows XP émulé !
mumbly, merci. Les CDs de windows ne sont pas tous bootable mais tu peux facilement trouver sur internet des images de disquettes te permettant de booter sur la disquette et la disquette te lancera le CD. (tu vas devoir taper une ligne du style : qemu -k fr -hda win2000.img /dev/fd0 -cdrom /dev/cdrom -boot d)
La méthode la plus simple (enfin j'en connais pas d'autre) pour savoir si ton CD est bootable c'est de le mettre dans ton PC lorsqu'il démarre et de lui demander de booter dessus.
ok. A part ça, une petite typo : "installer qemu dans votre Ubutnu favori". (2nd paragraphe).
Merci plagiats, et bravo parce que ces petites erreurs de typo c'est vraiment pas facile à dénicher !!!
J'aurais une question: est-il possible de monter l'image disk pour faire des tranferts de fichiers? Est-ce que mon système de fichier est visible depuis win2000? si oui ca me fout un peu la trouille de faire l'installation.
Salut lolow,
En particulier, c'est à mon avis une très mauvaise idée de lancer qemu avec en option un système de fichiers monté sous ton Linux. En effet, la gestion des accès concurrents à des fichiers est gérée par le système d'exploitation, donc que se passe-t-il quand deux systèmes d'exploitation demandent l'accès en même temps ???
Pour faire des transferts je te conseille de le faire par le réseau (ssh par exemple). Est-il possible de graver des CDs ? Je ne sais pas, mais ce serait pas mal aussi...
Tu peux aussi monter un système de fichiers en l'ajoutant après l'option -hda. C'est à dire par exemple 'qemu -hda win2000.img /dev/hdb3 -boot c'. Je te déconseille de faire ça si tu ne sais pas ce que tu fais.
Si tu as un disque externe (ou bien deux disques durs sur ton pc), tu le rendre visible dans qemu, mais assure toi qu'il n'est pas monté simultanément sous Linux. Quoi qu'il en soit, je te déconseille de jouer avec ça pendant le processus d'installation. C'est seulement une fois windows 2000 installé que tu pourras t'amuser avec tes disques...
Après t'avoir bien mis en garde, rassure toi, si après -hda tu mets que le nom de ton image disque (comme c'est le cas dans cet article), qemu ne pourra pas accéder à autre chose que cette image. En particulier, si tu choisis de formater le disque en entier dans qemu, c'est l'image qui est formatée, pas ton vrai disque. Aucun danger de ce côté la.
Très utile ! Hop, bookmarqué ^^
Donc je confirme : ca fonctionne très bien (rien à envier à VMWare), ... meme avec Windows XP : www.s2ii.com/images/winxp...
J'ai aussi fait un test avec NetBSD : au poil ! (www.s2ii.com/images/qemu-...
Mais par contre : qu'est-ce que "ca rame" !!!
Merci pour ta contribution mumbly.
Sinon pour ma part, Windows 2000 tourne très raisonnablement. J'ai un Centrino 1.3GHz et Windows ne trourne pas plus vite que ce qu'il le ferait sur un PII 400Hz par exemple.
Si tu veux vraiment que ça tourne vite, renseigne toi sur qemu accelerator comme j'en parle dans l'article. Cela permet d'interpréter les instructions directement plutôt que de les émuler. Tu peux aussi allouer plus de mémoire à qemu (surtout pour un windows XP) avec l'option -m 256 par exemple.
Sinon l'image de NetBSD pour qemu marche pas...
Ok !
J'avais pas retenu l'exemple avec qemu accelerator ... et l'histoire de la mémoire ...
Pour l'image de Netbsd, voici la bonne URL :
www.s2ii.com/images/qemu-...
Tu pourrais nous faire un petit tuto ou une petite note sur qemu-accelerator ... parce que je suis un peu paumé la ... ca fonctionne comment ?
Merci beaucoup d'avance !
mumbly, pour être honnête je n'ai jamais essayé.
Si tu parles l'anglais tu peux aller ici fabrice.bellard.free.fr/q...
Si jamais un jour j'essaie je te promets de faire un tutoriel, mais ce n'est pas ma priorité pour l'instant parce que j'utilise très peu qemu... désolé.
J'ai installé qemu 6.1.1 sous mandrake 10.1, avec win98 (soyons modestes
...) en émulation : Tout fonctionne bien, mais en fait je suis en "live CD" en quelque sorte.
Comment faire pour conserver tout ce que j'installe, modifie, copie, etc... puisqu'à chaque session qemu je repars à zero, avec mon win98 initial ?
Merci de m'aider à trouver LA réponse à ce problème qui me bouffe la vie depuis ...
Salut saintalyre,
Tiens c'est un problème étrange ça. Théoriquement ton fichier .img doit jouer le rôle de disque dûr et donc tout ce que tu installes devrait rester dessus.
Vérifie que tu as bien les droits pour modifier ce fichier... Sinon je vois pas trop d'où ça peut venir...
Merci Djib !
Je suis vraiment le roi dec ... Mon .img était en root, donc ...
Maintenant, tout va bien.
Je dois te dire que je ne suis passé à Linux que depuis 4 mois, et après des années passées avec ce cher Bill, je n'ai pas encore le reflexe concernant les droits d'accès (entre autres). Il me reste encore du chemin à faire. La prochaine étape, pour moi, c'est d'apprendre à compiler, et principalement de passer à qemu + qvm86 ou de compiler la dernière version de qemu 0.8 avec l'accélérateur kqemu : là, c'est trop fort pour moi ! je ne sais même pas où les pécher, dans quel répertoire les mettre, et comment les maniper.
Tu dois te dire : pourquoi tant d'acharnement à avoir qemu, alors que je suis passé de l'autre côté ? tout simplement parce que j'ai encore UN programme et UN seul à faire tourner sous windaube pour mon job (il s'agit d'EBP gestion qui me sert à faire ma gestion commerciale), et qu'il m'est difficile de migrer vers autre chose pour l'instant.
Bon, je ne vais pas te polluer avec mes atermoiements. Je retourne étudier comment compiler mon module qvm86 ...
@+ et merci encore
Salut saintalyre,
En fait si je n'ai pas fait de tutoriel sur l'installation de kqemu c'est parce que je n'utilise pas kqemu tant que ça... mais je commence à me demander si je vais pas en faire un juste parce que pas mal de gens le réclamment. Je sais pas.
Sinon pour ce qui est du réflexe des droits ou n'importe quel autre réflexe sous Linux, t'en fais pas, ça vient très vite en général.
Un dernier point qui me semble assez important : qemu n'est pas forcément la meilleure méthode surtout si tu ne le démarre que pour un logiciel. Tu peux essayer de voir si par chance le logiciel fonctionnerai avec Wine qui est en est presque à sa version 1.0 et qui commence à être vraiment fort pour faire tourner des applications Windows en natif sous Linux.
Voici un lien : www.winehq.com/ (en Anglais).
Merci Djib pour tes infos. J'avais déjà essayé wine et même CrossOver (mieux que wine mais payant ...), mais mon logiciel n'est pas installable avec ces produits.
J'arrête là pour ce soir, et je te présente en avance (de peu ...) mes meilleurs voeux pour cette nouvelle année, ainsi qu'à tous ceux de la liste présente et à venir !
@+
Jean
Merci, bonne année à toi aussi Saintalyre.
Salut, et merci pour ton tuto...
.
Ca fait pas mal d'heure que je me galere sur mon ubuntu ce soir, que ce soit avec qemu ou vmware, je n'arrive pas a en faire marcher un seul...
J'ai installé qemu bien comme il faut, je lance la commande
qemu -k fr -hda win2000.img -cdrom /dev/cdrom -boot d
la j'ai le cdrom qui charge, le cpu qui passe a 100%, mais... rien
Ca avance pas d'un poil...
que ce soit avec un cd win2000, pclinuxos ou meme ubuntu...
Si tu as une idée ça me souagerait vraiment ^^.
Merci
Salut Euskaral,
Est-ce que tu as bien créé une image du nom de win2000.img, et est-ce que tu as marqué le bon chemin d'accès (c'est à dire est-ce qu'il faudrait pas plutôt écrire -hda /home/djib/images_qemu/win2000.img) ?
Sinon est-ce que ton CD est bien bootable ? Tu peux le savoir en essayant de démarrer dessus au lancement de ton pc.
Bon courage.
Bonjour, et merci pour ta reponse si rapide,

J'avais precedemment installé qemu par les sources, vu que le dépot disponible ne me convenait pas.
J'ai ce matin reinstallé qemu a partir du binaire, et cela marche maintenant parfaitement;
Merci a toi pour ton tuto et pour ton aide
Je suis content que ça marche.
je cherche une utilisation complete du éseau avec le systeme sous qemu qui est installé sous ubuntu.
Si quelqu un y est arrivé trop sympa de le noter.
Salut druide,
Théoriquement l'option -user-net permet de lancer qemu avec le support du réseau. Si tu as installé Windows 2000 avec cette option il n'y aura pas de problème, sinon dans Windows 2000 il faut sûrement que tu fasses ajout de nouveau matériel après avoir ajouté cette option. Il devrait de reconnaître et ajouter la carte réseau.
Bon courage.
Bonjour djib !
Super ton tuto ! Là j'ai un cas de figure qui m'ennuie quelque peu, si tu peux me filer un petit coup de main :
L'installation d'XP (je tente) recommence en boucle à chaque "redémarrage"...
Une idée pour contrer le phénomène ?
Merci en tout cas pour ce brillant tuto !
didli, je te conseille de parcourir la liste des OS supportées pas qemu (www.claunia.com/qemu/ ) : tu y verras que toutes les versions de windows ne sont pas supportées (en fonction de la version de qemu et de celle de windows)
merci pour ce tuto magnifique que j'ai trouver a 2h00 du matin soit dit en passant
mais j'ai pu enfin installer windows XP sur qemu et je t'en remercie
allez @ +++
Merci à toi pour ce commentaire très agréable.
Merci
Je t'en prie. Content que ça serve !
Salut Djib,
Je te remercie pour ton tuto qui m'a incité à explorer cette voie.
J'ai essayé d'abord Windows XP, d'un part le temps de réalisation est très important et d'autre part j' ai été confronté au problème de l'identification des clés.
Je me suis rabattu sur Windows 2000 Pro avec succès. Le temps d'éxécution est dans les limites de l'acceptable. Toutefois, je voudrais apporter des précisions quant au boot via les disquettes ce qui était mons cas.
1)Créer le répertoire image : qemu-img create w2k.img 10G
2)Booter via disquettes :qemu -hda w2k.img -fda /dev/fd0 -cdrom /dev/hdd -m 256 -boot a
Monter et démonter les 4 disquettes pour les exécuter.
3)Après la première phase d'exécution le programme d'installation décharge le CD et reboot le système. A ce moment il doit rebooter sur l'image (le disque dur) d'ou sortir de qemu et remettre le CD dans le lecteur et taper la commande suivante: qemu -hda w2k.img -cdrom /dev/hdd -m 256 -boot c
A savoir : boot a=disquette, d=cdrom et c=pseudo disque dur C
A toi de publier si tu crois que ça peut aider la collectivité linux
Amitiés,
Lucien sur ubuntu dapper
Merci pour tous ces détails Lulu. Je vais les laisser dans les commentaires car je ne veux pas trop mettre de choses dans le tutoriel (aussi, dans le tutoriel que je présente, mon CD de windows est bootable et il n'y a pas besoin de disquette).
Vraiment merci beaucoup, je pense que ce sera utile à plus d'un.
merci super tuto dommage que mon win2k n'arrive pas a trouver une dll exotique et refuse de démarer
sinon win98 marche nikel.
en parcourant les pages man de qemu j'ai vu une option interessante -localtime à utilser pour avoir l'heure exacte : " Set the real time clock to local time (the default is to UTC time). This option is needed to have correct date in MS-DOS or Windows."
mercipour le tuto
juste unequestion comment on fait pour récupérer le lectuer cdrom sous win?
Salut paulux,
Pour ce coup du dll j'ai pas compris.
Pour ce qui est d'utiliser le CD rom je pense qu'il suffit d'ajouter -hdc après le -hda.
en fait pour la dll c'est .dll qui est manquante:
"Echec de charment de msgina.dll d'interface utilisateur pour la connexion.
Veuillez contacter votre administarteur systeme pour remplacer la dll ou restaurer la dll.
==>Redémarrer<==
"
je pense que c'est mon cd de win 2000k qui est rayé ou quelquechose comme ça
je vais essayer -hdc pour récupérer les driver de la carte réseau le réseau sur win 98
paulux pour la dll je ne sais pas trop... c'est étrange.

Sinon attention pour le coup de la carte réseau. La carte émulée par qemu n'est pas celle de ton ordinateur. Pour l'installer je te conseille de lancer qemu avec "-user-net" et puis de faire ajout de nouveau matériel dans windows. Il devrait te trouver une carte réseau et tout devrait marcher
merci
J'viens de me faire une install de windows 2000 (j'ai toujours utiliser qemu pour emuler d'autres distrib que ma debian, sans aucun soucis), et j'ai eu un bug à l'installation. Déjà il mettait 3 plombes sur l'etape "detection du materiel", et ensuite il plantait en me disant "plus de place disponible sur le disque".
J'ai googeulisé et j'ai trouvé qu'il existait une option de qemu (-win2k-hack) pour éviter ce bug.
Voilà, désormais ca marche, parcontre le setup d'office 2000 premium que j'ai à la maison ne passe pas, il se lance, puis pouf, il se ferme... Je cherche encore à comprendre pourquoi...
Quand je passe par l'autorun du CD, il me dit qu'il vient de mettre à jour microsoft installer (que j'ai déjà en version récente pourtant), puis il me dit de redémarrer pour reprendre l'installation.
Ok, je clique sur démarrer>arréter>redémarrer (c'est vraiment con comme séquence de boutons...), puis au redémarrage quand je relance l'autorun du CD, il me redit la même chose (microsoft installer mis à jour bla bla), et me redemande donc de rédémarrer.
C'est sans fin, et mon setup d'office se ferme toujours sans raison au bout de 10 secondes...
Une piste ?
Je n'utilise pas Office donc je crains de ne pas pouvoir t'aider...
hélas moi non plus, mais ma copine à besoin d'ouvrir des documents qu'on lui envoi au format word, et j'avoue que le rendu sous openoffice 2.0 de la plupart de ses documents est plutôt désastreux... De même, elle n'arrive pas à exporter dans des .doc convenablement, du coup elle met en PDF, mais ses collègues râlent qu'ils ne peuvent pas modifier le fichier... ahlala, les standards c'est compliqué !
Moi aussi ça n'a pas marché du premier coup mais si on teste 2 fois coup sur coup ça marche très bien !
Merci encore pour ce tuto formidable.
BEnj3838
Merci pour ton retour BEnj3838. Je ne vois pas pourquoi ça n'a pas marché la première fois... peut-être une fausse manip :S