====== 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