Proxmox VE : UEFI et VirtIO sur Windows
Setuper une VM W10 en UEFI, avec drivers VirtIO !
Aujourd’hui un article un peu plus light histoire de compenser un rhume qui l’est moins 😎.
On va voir ici comment créer une machine virtuelle Windows 10 sur Proxmox, avec comme particularité d’utiliser de l’UEFI et d’installer les drivers VirtIO durant l’installation.
Bizarrement, plusieurs personnes m’ont déjà demandé des infos à ce propos et en checkant sur le net effectivement y’a pas énormément à se mettre sous la dent.
Au passage, j’avais déjà fait mention de VirtIO sur PVE dans cet article, même si ça date un peu.
I) Création de la VM en UEFI
Comme vous allez le voir, y’a rien de très sorcier ici ! On commence avec le nom et le VM ID :
On rajoute notre ISO pour Windows 10, et on choisi le bon Guest OS, en rajoutant au passage un second lecteur CD qui contiendra l’ISO pour les drivers VirtiO. Si vous ne les avez pas encore, ils sont disponibles ici : https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.266-1/
Ensuite nous allons :
- Choisir le driver concernant la carte graphique, ici VirtIO-GPU pour de meilleures performances (comme l’accélération matérielle sur l’hôte), mais dans un environnement où vous allez utiliser la VM quasiment exclusivement à distance, Spice peut être un bon choix ;
- Choisir l’architecture machine sur q35, qui est plus moderne et supporte quelques bricoles en plus (gpu-passthrough, meilleur support UEFI, meilleur support NVMe…) ;
- Niveau firmware on choisi OVMF (UEFI), et on coche le fait de rajouter un disque EFI. Concernant le Pre-Enroll keys, on le laisse coché aussi ;
- Et enfin pour le contrôleur SCSI, on choisi VirtIO SCSI Single, pour de meilleurs performances ;
Petites infos supplémentaires :
- VirtIO SCSI / VirtIO SCSI Single : Un contrôleur pour plusieurs disques / Un contrôleur pour chaque disque, on est donc censé avoir de meilleures perfs et une meilleure isolation ;
- Disque EFI, une simple partition utilisée par l’UEFI avec différentes configurations et infos. Sur un système BIOS, tout était encodé dans la partition MBR ;
On poursuit et on configure notre disque principal :
Rien de spécial ici, on peut cocher SSD emulation sir notre stockage Proxmox VE est composé de SSD.
Maintenant niveau proco’ :
1 processeur physique avec 2 cores, libre à vous d’adapter selon votre matos bien-entendu. Concernant le CPU Type :
- Si cette VM est censée ne jamais bouger de cet hôte, vous pouvez mettre host pour de meilleures performances ;
- Sinon, si par ex. les membres de votre cluster ont tous la même famille de processeur, vous pouvez adapter ;
- Ou encore, vous pouvez aussi utiliser le paramètre par défaut x86-64 v2 AES ;
On poursuiiiiiit~
On met 4Go de RAM, et on coche la case Ballooning Device. Grosso modo, cette option va permettre de faire en sorte que si notre VM ne consomme que 2Go~, ré-allouer dynamiquement la mémoire pour d’autres. Idéal en environnement clusterisé donc.
Niveau réseau rien de transcendant non plus, on utilise VirtIO comme driver, et on peut laisser les options par défaut pour le reste. A voir si vous souhaitez utiliser l’option Firewall, ça peut avoir certaines utilités en terme d’isolation, en complément avec d’autres services de sécurité biensûr.
Et c’est tout ! Passons à l’installation~
II) Installation de Windows 10 et des drivers VirtIO
Avant de démarrer sauvagement notre VM comme des gens bien trop pressés, on peut désactiver le boot via PXE, ça mange pas de pain après tout :
Et ensuite on démarre 😎
Comme d’habitude on clique rapidos sur une touche pour démarrer l’ISO de Windows, et on commence la config’ initiale :
Alors ne prenez pas peur de suite, étant donné que Windows n’a pas encore les drivers installés, c’est logique que ce dernier ne détecte pas notre disque :
On clique donc sur Charger un pilote, puis OK, pas besoin de s’embêter à faire Parcourir :
Si c’est pas beau ça… voilà nos fameux drivers pour notre disque à porter de clic 🥹
Ici je choisi donc D:\amd64\w10\vioscsi.inf étant sous Windows 10 (malin le boug), puis on patiente un peu le temps qu’il charge le tout, et on peut continuer l’installation !
Et puis on redémarre une fois celle-ci terminée~
III) Reboot, installation de Qemu Agent, et vérifications d’usage
En poursuivant la post-installation, vous vous rendrez compte comme pour le storage, que le network n’est pas reconnu ici non plus :
Et oui, là aussi on a utilisé VirtIO comme driver. Du coup on clique sur Next/Next et on installera ce driver manquant par la suite.
Et aussi pour le pilote d’affichage, en passant… 😁
Une fois sur votre bureau flambant neuf, on va donc en premier lieu installer l’agent Qemu, qui n’est rien d’autre qu’un Guest Addons, comprenez par là un équivalent aux open-vm-tools ou vmware guest additions.
Il permet pêle-mêle :
- Synchronisation de l’heure ;
- Gestion des snapshots ;
- Contrôle des ressources ;
- Accès à des informations détaillées ;
- … ;
Pour l’installer rien de sorcier, on se rend sur notre fameux ISO contenant les drivers VirtIO, et comme le monde est bien fait on a un folder guest-agent avec notre petit qemu à l’intérieur. On l’installe, et on vérifie que le service est bien en Automatic et Running. On peut ensuite redémarrer une première fois la VM.
Dernière étape ! Installer le driver pour le réseau, l’affichage, et pour le Ballooning (si vous l’avez coché/souhaitez l’utiliser) !
Et là désolé de vous décevoir mais on a rarement fait plus simple… on se rend à la racine de l’ISO VirtIO, et on double-clic sur virtio-win-gt pour avoir un joli p’tit installer qui nous permet de choisir les drivers correspondants… oui oui, un All-in-One :
Et voilà le travail~
- Affichage OK
- Réseau OK
- Disque OK
- Ballooning OK
Un p’tit restart et c’est terminé ! Toujours bien pensé à ouvrir votre Gestionnaire de périphériques une fois l’ultime reboot histoire de vérifier si vous n’auriez pas manqué un driver ou l’autre… mais ici c’est tout bon !
D’ailleurs, une astuce pour voir si le Ballooning a bien été activé et installé, c’est de vérifier ici :
IV) Conclusion
Et bien de base je m’attendais à rédiger un rapide article d’une vingtaine de lignes avec 3 screens et puis au final… remarque, j’espère que cela vous aura montré quelques petites astuces de fine-tuning/best practices pour vos installs Windows sur PVE 🤗
Sur ce, je vous souhaite une bonne journée/soirée~
Ciao !
Laisser un commentaire