Vous êtes sur la page 1sur 46

1

Cration dune image virtuelle Windows Server 2003 sur Windows XP avec QEMU
Objectif :
Installer Windows Server 2003 R2 Enterprise Edition SP2 (appel OS Guest) dans une image virtuelle QEMU sur Windows XP Pro SP2 (appel OS Hte). Configurer lOS Guest, notamment pour les changes de fichiers et laccs internet dans un contexte dentreprise. Ce tutorial est volontairement rdig de manire trs pas pas pour pouvoir tre utilis par quelquun qui na jamais install Windows 2003 ou utilis un logiciel de virtualisation.

Tables des matires


Cration dune image virtuelle Windows Server 2003 sur Windows XP avec QEMU.......................................

Objectif :.............................................................................................................................................. Pourquoi ce document ?...................................................................................................................... Pourquoi utiliser QEMU ?.................................................................................................................. Quel est le besoin de virtualiser Windows sur Windows ?................................................................ Avant de dmarrer............................................................................................................................... Au dbut tait la cration de limage.................................................................................................. Installation de logiciels dans limage virtuelle................................................................................... 1-Installation directe d'un logiciel dans l'image virtuelle, partir du vrai lecteur de CDROM.... 2-Lancement dun OS dans une image virtuelle en utilisant le mode LiveCD............................. 3-Installation dun OS dans une image virtuelle partir dun fichier iso...................................... Lacclrateur Kqemu et la full virtualization .............................................................................. LANCEMENT de l'OS windows 2003 "guest" :................................................................................ Configuration rseau de lOS Guest................................................................................................... Partager des fichiers entre le Host et le Guest.................................................................................... 1-avec un fichier iso mont au dmarrage...................................................................................... 2-en montant lISO en cours de fonctionnement............................................................................ 3- avec un simple partage dun dossier sur lOS Host................................................................... Conversion dimage QEMU............................................................................................................... Ressources :.........................................................................................................................................

Pourquoi ce document ?
Toutes les documentations consultes ce jour propos de QEMU et Windows sont soit imprcises, soit incompltes, soit obsoltes et ne prennent jamais en compte une virtualisation de Windows sur Windows. La configuration rseau avec une association QEMU / Windows est reconnue comme complexe.

Pourquoi utiliser QEMU ?


Parce que cette communaut est sympathique et avec un petit accent franais pas dplaisant (salut Eric ;) Parce que Xen comporte son propre micro noyau (Nemesis) et ne pourra donc pas tre totalement intgr Linux. Parce que KVM est bas sur QEMU. Parce que RedHat dlaisse Xen au profit de KVM. Parce que je pense que lavenir proche est des fonctions supplmentaires de virtualisation intgres dans le kernel Linux, et que KVM a ici un rle jouer. Parce que QEMU tourne aussi sur Windows et que cest un moyen de diffuser lapprentissage de la virtualisation au plus grand nombre. Parce que QEMU est open source. Parce que ceci cest intressant reproduire : http://developer.amazonwebservices.com/connect/entry.jspa?entryID=592 Parce que QEMU est beaucoup moins packag que VMWare ou dautres, et permet donc de saisir un peu mieux ce qui se passe (notamment au niveau de la configuration rseau de lhte virtuel). Bref cest un bon support dtude.

Quel est le besoin de virtualiser Windows sur Windows ?


Pour avoir un sandwich avec une tranche dOpen Source au milieu.

Avant de dmarrer
La procdure est excuter sur un PC dual core avec 1Go RAM minimum car QEMU consomme frquemment 100% d'un core. On a utilis qemu-0.9.1-windows mais sans avoir install l'acclrateur Kqemu. Dans ce cas la vitesse d'excution est ralentie d'un facteur 3 environ par rapport une excution native, surtout si il y a beaucoup dI/O (installation de logiciel). On a ensuite install Kqemu, mais sans systmatiquement utiliser loption de full virtualization (voir plus loin). La ractivit de lOS Guest est tout fait satisfaisante. Commencez par tlcharger les dernires versions de QEMU, kqemu, openVPN pour windows. (voir les versions prcises utilises dans la suite). Nous navons pas utilis QEMU Manager v5 pour windows car il est compatible seulement avec QEMU 0.90. Les commandes gnres ne sont pas compatibles avec QEMU 0.91. Derniers points : tous les noms de fichiers, chemins, login, IP DNS et noms de lecteur sont videmment adapter votre guise. Aucune procdure de scurit systme spcifique nest aborde dans ce tutorial.

Au dbut tait la cration de limage


>qemu-img create -f qcow c:\image_windowsServer2003EntR2.img 4G
Formating 'c:\image_windowsServer2003EntR2.img', fmt=qcow, size=4194304 kB Remarque :

3
qcow ou qcow2 est un format dimage qui grandit uniquement quand on le remplit. EC2 supporte des images jusqu 10Go, donc ne vous genez pas pour mettre plus de 4 Go, dautant que limage contient bien sur galement le fichier dchange de lOS Guest. Lagrandissement aprs coup de la taille max dune image virtuelle est un peu fastidieux donc pensez-y.

Installation de logiciels dans limage virtuelle


1-Installation directe d'un logiciel dans l'image virtuelle, partir du vrai lecteur de CDROM
Si vous avez un CD dinstallation, mettez le dans votre lecteur physique. Puis excuter

>qemu.exe -L . -cdrom ".D:" -hda my_image.img -m 256 -boot d

2-Lancement dun OS dans une image virtuelle en utilisant le mode LiveCD


On a voulu tester si on pouvait installer windows 2003 en utilisant ce mode. NE PAS EXECUTER LA LIGNE SUIVANTE, elle ne fonctionne pas :

>qemu.exe -L . -cdrom "c:\windowsServer2003EntR2.iso" -boot d


(attention au point aprs le L) On obtient rapidement lcran suivant :

Puis aprs quelques petites tapes lexcution nvolue plus.

Rien d'autre ne s'affiche ensuite : le mode LiveCD ne fonctionne pas pour l'installation de Windows 2003.

3-Installation dun OS dans une image virtuelle partir dun fichier iso
LOS installer doit dans ce cas tre utilis sous la forme dun fichier .iso. Si vous ne disposez que des CD dinstallation, gnrez le .iso sur windows avec ISO Recorder (http://isorecorder.alexfeinman.com/v2.htm). Excuter la ligne suivante dans un shell DOS :

>qemu.exe -L . -cdrom "c:\windowsServer2003EntR2.iso" -hda c:\image_windowsServer2003EntR2.img -m 800 -boot d (attention au point aprs le L)

A la fin de la copie des fichiers Windows 2003 dmarre seul pour terminer linstallation en mode graphique:

10

11

12

Il est indispensable de saisir la cl ! Il n'y a pas de vrification de sa validit via le rseau. Lors du premier boot, la licence sera vrifie (sans accs rseau ncessaire) et demandera de confirmer son activation online. Si on ne confirme pas l'activation on peut utiliser l'OS pendant 60 jours.

13

14

15

16
A la fin de l'installation Windows 2003 dmarre seul :

17

Si on clique dans la fentre QEMU pour agir sur la souris de l'OS Windows 2003, et qu'on appuie sur CRTL+ALT+SUPP c'est l'OS Windows hte qui intercepte cet appel. Il faut faire, quand on a le focus de la fentre QEMU : Ctrl-alt-2 pour accder la console qemu Monitor

>sendkey ctrl-alt-delete

18

[enter]

19
puis Ctrl-alt-1 pour revenir la fentre principale :

20
Le fichier image fait maintenant 981Mo :

Si on ferme la fentre shell pour QEMU quand il est actif ou bien la fentre de lOS Guest, on obtient sur lOS Guest le mme effet quun dbranchement dalimentation : prfrer donc un arrt de lOS Guest propre.

Lacclrateur Kqemu et la full virtualization


On installe Kqemu-1.3.0pre11-install.exe Pas utile de lancer >net start kqemu Aprs linstallation, si on lance qemu sans l'option -kernel-kqemu on a uniquement l'optimisation du code user ("kqemu support: enabled for user code") et pas pour le kernel. Si on utilise l'option -kernel-kqemu au lancement, on obtient une pleine acclration (dite full virtualization) :

21

De manire gnrale : Pour un fonctionnement normal de lOS Guest, vous pouvez utiliser la full virtualization. Dans le cas des mises jour de lOS Guest, vous pouvez utiliser lacclration par dfaut de Kqemu ( user code ) mais soyez prudent pour lutilisation de la Full virtualization. Remarque : lutilisation de ce mode Full Virtualization est vraisemblablement incompatible avec l'infrastructure actuelle Amazon EC2.

LANCEMENT de l'OS windows 2003 "guest" :


>C:\Program Files\qemu-0.9.1-windows>qemu.exe -L . -boot c -hda c:/image_windowsServer2003EntR2.img -m 512 -localtime
L'OS windows 2003 est utilisable 60 jours aprs linstallation sans que l'on ait besoin d'activer la confirmation de la licence.

22

23
Si on cherche mettre jour tout de suite lOS :

Configuration rseau de lOS Guest


Cest le gros morceau et la principale raison dtre de ce tutorial. La connexion internet ne peut pas tre configure ds prsent. Sur lOS Guest on voit bien que le driver thernet nest pas install. Il ny a pas de carte rseau qui apparaisse.

24

La doc indique : "There is a virtual ethernet driver for Windows 2000/XP systems, called TAP-Win32. But it is not included in standard QEMU for Windows, so you will need to get it separately. It is part of OpenVPN package, so download OpenVPN from : http://openvpn.net/." On arrte windows 2003 Guest, puis QEMU se ferme seul. On installe TOUS les composants de openvpn-2.1_rc11-install.exe sur l'OS Hte :

25

On termine cette installation et on vrifie l'installation :

Changez le nom en my-tap-local-4 par exemple (dans le tableau de bord connexion rseau / clic droit sur cette interface rseau / renommer) pour viter les caractres accentus et les espaces lors de lutilisation du nom en ligne de commande.

26

On configure le partage de laccs internet dans lOS Hte :

27
Configuration dICS sur lOS hte windows XP sp2 :

28
Proprits de my-tap-local-4 (lIP est impose par ICS) :

29

Puis on relance QEMU avec le support du reseau :

>qemu.exe -L . -boot c -hda c:/image_windowsServer2003EntR2.img -m 512 -localtime -net nic -net tap,ifname=my-tap-local-4
On a bien dans lOS Hte :

30

On coupe les firewalls sur lOS Host et Guest. Malgr tous nos essais, le driver thernet tait toujours absent sur lOS Guest, que ce soit en utilisant la carte NE2000_pci par dfaut, ou bien NE2000_isa, ou bien avec loption M isapc, en mode net user ou TAP ou VLAN. On a alors lanc QEMU avec le driver Realtek

8139 en mode net user qui configure via DHCP le

rseau de lOS guest : >qemu.exe -L . -m 512 -hda "c:/image_windowsServer2003EntR2.img" -boot c -net nic,vlan=0,macaddr=,model=rtl8139 -net user,vlan=0 localtime

31

32

Cependant la doc indique :

There is a virtual network in QEMU which has a DHCP server doesn't have any relationship with a host's network configuration (except for DNS server's addresses). By using the option `-net user' (default configuration if no `-net' option is specified), QEMU uses a completely user mode network stack (you don't need root privilege to use the virtual network). The virtual network configuration is the followings :
QEMU VLAN <------> | | ----> | ----> Firewall/DHCP server <-----> Internet (10.0.2.2) DNS server (10.0.2.3) SMB server (10.0.2.4)

On vrifie cette configuration par quelques pings :

33

Note : Le serveur samba nest pas pingable. Il doit tre install part si on utilise un linux et nest pas utile dans le cas dun OS Windows sur Windows. Malheureusement il a t impossible de connecter la stack rseau auto-configure par user mode de lOS Guest ladaptateur rseau de la connexion partage sur lOS hte. Nous avons donc opt pour une configuration rseau plus manuelle : - lOS Host est configur avec ladaptateur rseau virtuel TAP - cet adaptateur porte la connexion rseau partage ICS - on lance QEMU avec le support TAP - les paramtres rseau de lOS guest sont configurs la main On redmarre QEMU avec les supports de TAP et realtek, et enfin on va voir le bout :

>qemu.exe -L . -boot c -hda c:/image_windowsServer2003EntR2.img -m 512 -localtime -net nic,vlan=0,macaddr=,model=rtl8139 -net tap,ifname=my-tap-local-4
Le reste est trs logiquement dduit. On passe sur lOS Guest en IP fixe conforme au rseau local :

34

35

36

LIP du serveur DNS dpend de votre localisation gographique. Sans redmarrer lOS guest la nouvelle IP est prise en compte :

37

38

39

40
Le traceroute vers un serveur de google fonctionne :

41
Configuration de la connexion internet (proxy) dans IE :

42
On touche au but :

On rtablit les firewalls sur lOS Host et Guest.

Partager des fichiers entre le Host et le Guest


1-avec un fichier iso mont au dmarrage
On cr un ISO partir d'un repertoire contenant l'installateur de openVPN et on le monte dans une image virtuelle windows2003 :

>qemu.exe -L . -boot c -hda c:/image_windowsServer2003EntR2.img -m 512 -localtime -kernel-kqemu -cdrom c:/openvpn_TAPwin32.iso

43

On procde ensuite l'installation comme sur une machine physique.

2-en montant lISO en cours de fonctionnement


Autre manire, si on a dmarr auparavant QEMU avec loption cdrom qui pointait sur un autre .iso : Dans QEMU Monitor en pointant sur un nouvel .iso du file system host :

>change cdrom c:/partage/w2k3sp2_3959_fr_x86fre_spcd.iso

3- avec un simple partage dun dossier sur lOS Host

44

Dans lOS guest :

>net use z: \\192.168.0.1\partage /user:loginCompteLocalGroupeInvitSurHost password /persistent:NO

45

Conversion dimage QEMU


QEMU sait notamment convertir des images pour les formats VirtualBox et VMWare. Ici nous transformons notre image format qcow de 4Go max en un format qcow2 compress de 4Go max :

>C:\Program Files\qemu-0.9.1-windows>qemu-img convert -c -f qcow c:/image_windowsServer2003EntR2.img -O qcow2 c:/qcow2_windowsserver2003entr2.img


On est ainsi pass dun fichier de 2,5 Go sur le disque dur 1,6 Go. Mais la nouvelle image ne se lance pas au premier essai ! Au deuxime essai ca fonctionne. La taille interne de lOS dans limage nest absolument pas affecte. Si on convertit limage sans loption de compression c, limage cre pse toujours 2,5 Go et dmarre bien. On ne peut pas changer la taille max de limage lors dune opration de conversion de format. Le resizing dune image est plus complexe que sa conversion et demande en plus des outils tiers comme dd, copy /b, gparted. Cigwin prvoir si on opre sous windows.

46

Ressources :
Pour la documentation sur les paramtres des commandes QEMU utilises : http://www.enomaly.net/Wiki.wiki+M5c1693b2f05.0.html http://manishtech.wordpress.com/2008/07/10/using-qemu-on-windows/ http://www.enomaly.net/Wiki.wiki+M517f91691a3.0.html http://www.gnome.org/~markmc/qemu-networking.html http://www.h7.dion.ne.jp/~qemu-win/TapWin32-en.html https://help.ubuntu.com/community/WindowsXPUnderQemuHowTo http://www.h7.dion.ne.jp/~qemu-win/HowToNetwork-en.html : How to use Network with QEMU hosted OS and share files http://www.davereyn.co.uk/download.htm pour QEMU Manager >qemu -help et la documentation html livre avec QEMU pour le partage de connexion rseau de Windows XP hote : http://www.practicallynetworked.com/sharing/xp_ics/ http://www.raymond.cc/blog/archives/2008/03/22/how-to-share-internet-connection-in-xp-without-wirelessrouter/fr/