Voici un guide pas à pas pour créer une machine virtuelle Windows 11 (nouvelle installation) avec Gnome-Boxes sous Linux (j’ai utilisé Debian 12 pour être précis).
Je pensais au départ que ce serait trivial, mais comme d’habitude avec Microsoft, c’est toujours très frictionnel d’arriver là où on veut.
Étape 1: télécharger l’image disque d’installation.
Ca se passe sur le site officiel de Microsoft : https://www.microsoft.com/fr-fr/software-download/windows11
Choisissez la méthode par image disque:
Étape 2: configurer une machine dans Gnome boxes.
Cliquer sur ajouter une machine, puis sélectionner d’une manière ou d’une autre le fichier ISO que vous avez téléchargé.
Configurer la machine comme suit (vous pouvez rajouter plus de RAM ou de disque si vous voulez) :
Si vous voyez le message d’avertissement ci dessus, vérifiez ce qui cloche au chapitre suivant et solutionnez ça avant de continuer.
Étape 3 : activez le support de la virtualisation
La commande gnome-boxes –checks vous donne plus d’infos. Normalement vous devriez avoir au moins ca:
$ gnome-boxes --checks
• The CPU is capable of virtualization: yes
• The KVM module is loaded: yes
• Libvirt KVM guest available: yes
• Boxes storage pool available: yes
• The SELinux context is default: no
A / The CPU is capable of virtualization : no ?
activer la support de la virtualisation pour votre CPU. Par exemple pour un processeur AMD dans un bios Asus, il s’agit de l’option « SVM » :
B/ Libvirt KVM guest available: no ?
$ apt install libvirt-clients-qemu
Étape 4 : passer outre les exigences de Microsoft pour Win11
Windows 11 est exigeant. Il lui faut un minimum de RAM, une puce TPM, et un démarrage signé par Microsoft (Secureboot). Est ce que c’est une action de marketing pour pousser à racheter du matériel ? En tout cas, tout ca n’est pas forcément adapté aux machines virtuelles. Voyons comment passer outres ces restrictions (astuces valides aussi sur installation physique).
Lors de l’installation, cliquer sur « Réparer l’ordinateur » à cet écran:
puis allez dans Dépannage,
et enfin cliquez sur « Invite de commandes »
Dans le terminal, taper regedit
Cela ouvre la base de registre
Dans la base de registre créer un clé (dossier) HKEY_LOCAL_MACHINE\SYSTEM\Setup\Labconfig
Dans cette clé, créer 3 valeurs Dword (32-bit) : BypassSecureBootCheck, BypassRAMCheck, BypassTPMCheck et mettez leur valeur à 1 (en hexadecimal ou decimal, peu importe, ca donne le même résultat pour cette valeur)
Voici ce que vous avez à la fin:
Fermez l’application regedit, taper setup.exe dans le terminal et l’installeur va reprendre.
Je vous laisse en votre âme et conscience déclarer que vous n’avez pas de clé Windows si besoin. Ce n’est pas obligatoire de la donner ici pour continuer l’installation.
A cet écran, il faut choisir la 2ème option « Personnalisé, Installer uniquement Windows (avancé)« , oui c’est super facile d’installer Windows qu’il disent
Étape 5 : installer Windows hors ligne
Arrivé à cet écran, Microsoft ne vous laissera pas installer Windows sans connexion internet. Et cela pour vous obliger à créer un compte Microsoft en ligne dans la foulée, je ne vois pas d’autre raison de l’imposer à ce stade.
Encore une prouesse niveau UX. Donc pour pouvoir installer Windows sans connexion Internet (et donc in fine sans compte Microsoft non plus), il faut faire shift-F10 pour afficher le terminal. Puis taper OOBE\BYPASSNRO
Cela va redémarrer l’installeur et quand vous atteindrez de nouveau cet écran vous aurez un nouveau choix possible en bas de l’écran « Je n’ai pas Internet » :
Il ne vous reste qu’à continuer en créant un compte local et passer toutes les questions soulevées par le RGPD…
Finalement:
Étape 6: installer les pilotes VirtIO
Notre machine virtuelle manque pas mal de fonctionnalités : connexion ethernet, agrandissement dynamique de la taille du bureau, etc…
On va s’attaquer d’abord à la partie réseau, ce qui nous rendra la vie plus facile ensuite. Télécharger l’ISO des pilotes VirtIO ici https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md
VirtIO est une abréviation pour Virtual Input-Output, que l’on pourrait traduire en français par Entrées-Sorties Virtuelles. Ce sont des interfaces conçues pour communiquer efficacement entre l’hôte et la machine virtuelle en limitant le travail inutile (éviter d’émuler un matériel physique réel)
Étant donné qu’on n’a pas encore de réseau, on va insérer virtuellement le fichier ISO dans Windows grâce au lecteur CD virtuel
Dans Gnome Boxes, sélectionner une image CD, puis sélectionner le fichier ISO virtio-win-…iso téléchargé ci avant
Le disque apparaît alors dans Windows.
Cherchez l’installeur dedans.
Ensuite, on va dire à GnomeBoxes d’exposer une carte réseau VirtIO. Gnome boxes ne possédant d’interface graphique pour modifier ce réglage de la carte réseau, on va modifier le fichier de config directement.
Éteindre la machine virtuelle
Cliquer sur « modifier la configuration » dans les préférences de la machine virtuelle dans Gnome Boxes.
Cela va ouvrir la configuration dans votre éditeur de texte.
Dedans il y a une section du type:
<interface type='user'>
<mac address='52:54:00:94:37:33'/>
<model type='rtl8139'/>
<address type='pci' domain='0x0000' bus='0x07' slot='0x01' function='0x0'/>
</interface>
qu’on va remplacer par :
<interface type='user'>
<mac address='52:54:00:94:37:33'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
</interface>
Sauvegarder le fichier texte (écraser le fichier qu’on vous a donné).
Redémarrer la machine virtuelle, vous deviez maintenant avoir accès à Internet si c’est le cas pour la machine hôte !
Sinon, pour info les configs sont stockées dans le dossier ~/.config/libvirt/qemu/
Étape 7: installer les pilotes SPICE pour la partie graphique
Pour l’affichage dynamique, installer le pilote SPICE dans la machine virtuelle : https://www.spice-space.org/download/windows/spice-guest-tools/spice-guest-tools-latest.exe
Cela devrait être facile vu que vous avez Internet dedans maintenant.
Et voila le bureau Windows redimensionnable et le copier-coller supportés entre l’hôte et la machine virtuelle !
@tuxicoman … « avec Microsoft, c’est toujours très frictionnel d’arriver là où on veut. »Ça résume parfaitement l’entreprise 🙄🙄
@tuxicoman Comment sont les performances de tes disques? As-tu esssayé de les passer en virtio eux aussi? (J'ai eu des problèmes de performances sans virtio, et de stabilité ensuite).