====== Création d'une VM avec Fenêtres XP ======
* Objet : Cas d'usage de Qemu, création d'une VM
* Niveau requis : {{tag>avisé}}
* Commentaires : //Cas où un utilisateur avisé souhaite créer de bout en bout une VM pour Fenêtres XP.//
* Débutant, à savoir :
* [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
* [[:doc:systeme:vm:qemu#references|Qemu]]
* Suivi : {{tag>à-tester}}
* Création par [[user>captnfab]] 13/08/2023
* Testé par <...> le <...> FIXME
* Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=2256 | ici]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
===== Introduction =====
Voici un exemple d'utilisation de Qemu pour la création d'une VM Fenêtres XP .
On va dire que je souhaite créer une VM pour lancer de vieux jeux.
===== Pas à pas =====
==== Prérequis ====
J'ai besoin que ma VM soit fluide, il faut pour ça que mon CPU supporte des fonctionnalités de virtualisation avancées
lscpu
Fonctionnalités de virtualisation :
Virtualisation : VT-x
Tout va bien, mon CPU intel supporte la techno VT-x (si c'était un AMD, je voudrais qu'il supporte AMD-v).
J'ai besoin d'une ISO de Fenêtres XP ainsi que d'une licence d'utilisation. Mon ISO sera à l'emplacement suivant : ''/home/captnfab/Téléchargements/FenêtresXP.iso''
==== L'architecture ====
Je choisis l'architecture ''x86_64'' pour laquelle est prévue FenêtresXP.
==== Répertoire de travail ====
Je vais ranger la VM de Fenêtres XP avec mes autres VM dans un dossier ''~/vm''
mkdir -p ~/vm/fenêtres-xp
==== Création de l'image disque ====
Je vais installer le système sur un disque de 20Go, et j'installerai les jeux sur un deuxième disque de 100Go.
Il est à noter qu'avec le format qcow2, l'espace libre ne pèse rien. Les images seront donc très légères au début et grossiront au fur et à mesure où je les remplirai.
cd ~/vm/fenêtres-xp
qemu-img create -f qcow2 systeme.qcow2 20Go
qemu-img create -f qcow2 jeux.qcow2 100Go
==== Configuration de la VM ====
Je commence par me créer un lanceur :
touch ~/vm/fenêtres-xp/start
chmod +x ~/vm/fenêtres-xp/start
Je commence à remplir ce fichier, qui doit ressembler à
#!/bin/sh
# Je commence par faire un 'cd' dans le dossier qui contient le script
cd "$(dirname "$(realpath "$0")")"
# Je lance la VM en lui donnant en plus les arguments passés au script
qemu-system-x86_64 -hda ./systeme.qcow2 -hdb ./jeux.qcow2
=== La mémoire ===
Ces vieux jeux ne sont pas très gourmands, mais je vais quand même allouer 2Gio de RAM pour être tranquille.
Je rajoute l'option ''-m 2G''.
=== Le CPU et le nombre de cœurs ===
Ma machine est un vrai chat et possède plus de 6 vies cœurs, je vais en prêter 2 à la VM. En plus de ça, je vais bien préciser à qemu qu'il doit utiliser les optimisations KVM pour ce genre de processeur, et lui demander de bien indiquer quel est mon CPU actuel.
Je rajoute les options ''-smp 2 -enable-kvm -cpu host''
=== La carte graphique ===
Je vais utiliser la carte graphique ''cirrus'' qui est bien reconnue par Fenêtres XP.
Je rajoute l'option ''-vga cirrus''.
=== Le réseau ===
Je vais utiliser la carte réseau ''rtl8139'' qui est bien reconnue par Fenêtres XP.
Je rajoute les options ''-net nic,model=rtl8139 -net user''.
=== Horloge interne ===
Je sais que FenêtresXP s'attend à ce que l'horloge interne soit à l'heure locale plutôt qu'à l'heure UTC.
Je rajoute l'option ''-localtime''.
=== Audio ===
Je sais que FenêtresXP gère bien les cartes ''hda'' et je veux que qemu joue le son sur l'hôte via PulseAudio.
Je rajoute l'option ''-audio driver=pa,model=hda''.
=== Spice ===
Spice permet le partage de presse-papier entre l'hôte et FenêtreXP.
TODO
=== Fin de la configuration ===
Avec tout ça, mon lanceur ressemble à ça:
#!/bin/sh
# Je commence par faire un 'cd' dans le dossier qui contient le script
cd "$(dirname "$(realpath "$0")")"
# Je lance la VM en lui donnant en plus les arguments passés au script
qemu-system-x86_64 \
-enable-kvm \
-cpu host \
-smp 2 \
-m 2G \
-hda ./systeme.qcow2 \
-hdb ./jeux.qcow2 \
-vga cirrus \
-audio driver=pa,model=hda
-net nic,model=rtl8139 -net user \
-localtime \
"@"
==== Installation de l'OS ====
Ma VM est configurée, reste à installer le système.
Je vais donc lancer la VM en indiquant l'ISO de l'installateur et en demandant de démarrer sur le CDRom:
/home/captnfab/vm/fenêtres-xp/start -cdrom /home/captnfab/Téléchargements/FenêtresXP.iso -boot d
''-boot d'' permet d'indiquer à la VM de booter sur le //cdrom virtuel//
Je renseigne le numéro de licence lorsqu'il m'est demandé.
Je termine l'installation, effectue des configurations de base, etc.
==== Protection de l'installation ====
Je veux conserver au chaud l'installation du système, je suis donc la procédure définie dans la page qemu.
mv systeme.qcow2 systeme-base.qcow2
chmod a-w systeme-base.qcow2
qemu-img create -b systeme-base.qcow2 -f qcow2 systeme.qcow2
Si jamais je casse mon installation, je peux restaurer le système via la manipulation suivante:
rm systeme.qcow2
qemu-img create -b systeme-base.qcow2 -f qcow2 systeme.qcow2
==== Utilisation ====
L'installation est terminée, le système de base sauvegardé, je peux lancer ma VM avec mon lanceur:
/home/captnfab/vm/fenêtres-xp/start