Activer le support UEFI dans la virtualisation KVM

Il existe deux types de microprogrammes sur les cartes mères des ordinateurs :

  1. BIOS ou Basic Input Output System
  2. UEFI ou Interface micrologicielle extensible unifiée

Qu’est-ce que le BIOS ?

Le BIOS est chargé au démarrage de l’ordinateur pour initialiser et tester le fonctionnement du matériel. Il utilise le POST ou Power On Self Test pour s’assurer que la configuration matérielle est valide et fonctionne correctement, puis recherche le MBR (Master Boot Records) qui stocke le périphérique de démarrage, et l’utilise pour lancer le chargeur de démarrage, puis le noyau, et enfin le système d’exploitation.

Tous ces processus de démarrage sur le BIOS sont appelés ‘Legacy Boot’. Voici une explication simple du processus de démarrage sur le BIOS.

BIOS > MBR > Bootloader > Kernel > Operating System

Le BIOS est considéré comme un micrologiciel ancien et dépassé, même s’il y aura toujours des gens pour l’utiliser. Le BIOS a des fonctionnalités limitées pour les ordinateurs actuels et les PC modernes, il doit fonctionner sur un processeur 16 bits avec seulement 1 Mo d’espace pour s’exécuter. De plus, il initialisera plusieurs matériels en même temps, ce qui rend le processus de démarrage plus lent.

Le micrologiciel qui remplace le BIOS est l’UEFI, qui est disponible sur les cartes mères modernes.

Qu’est-ce que l’UEFI ?

UEFI ou Unified Extensible Firmware Interface est considéré comme le remplacement du BIOS par un micrologiciel. Elle est dotée de plus de caractéristiques et de fonctionnalités qui sont limitées sur le BIOS, et elle est disponible sur les cartes mères actuelles et les PC modernes.

Même si elle est considérée comme un remplacement du BIOS, l’UEFI fonctionne différemment et a un concept opposé à celui du BIOS. L’UEFI stocke toutes les informations sur l’initialisation et le démarrage dans le fichier .efi, qui est stocké sur la partition ESP (EFI System Partition). L’ESP stocke également les programmes du chargeur de démarrage pour le système d’exploitation installé sur l’ordinateur.

L’UEFI utilise GPT pour stocker toutes les informations sur les partitions, au lieu de MBR. Et ci-dessous, une explication simple de la façon dont le système d’exploitation démarre sur UEFI.

UEFI > GPT/ESP > Kernel > Operating System

Tu trouveras ci-dessous quelques fonctionnalités UEFI notables qui ne sont pas disponibles sur les BIOS traditionnels :

  • Démarrage plus rapide
  • Gère plus de 2TB ou disque (ce qui n’est pas rien dans l’environnement actuel)
  • Prend en charge plus de 4 partitions avec la table de partition GUID
  • Prend en charge le démarrage sécurisé
  • Prend en charge les micrologiciels modernes 64 bits
  • Possède une interface utilisateur graphique simple
  • etc.

Micrologiciel sur la virtualisation KVM

Par défaut, la virtualisation KVM utilise le BIOS comme micrologiciel par défaut pour les machines virtuelles invitées. Pour activer les supports UEFI sur KVM, tu dois installer le paquet OVMF (Open Virtual Machine Firmware) sur ton système hôte.

Le projet OVMF fait partie du firmware tianocore d’intel pour la machine virtuelle qemu.

Conditions préalables

Dans ce guide, tu vas apprendre à activer la prise en charge de l’UEFI sur la machine virtuelle KVM. Tu vas installer le paquet OVMF sur la machine hôte et configurer la machine virtuelle avec le micrologiciel UEFI.

Avant de commencer, assure-toi que tu as une machine sur laquelle la virtualisation KVM est installée.

Tu trouveras ci-dessous un guide d’installation de la virtualisation KVM sur Arch Linux.

Installer le paquet OVMF

Tout d’abord, tu dois te connecter au serveur hôte KVM et installer les paquets. Par défaut, les paquets ovmf sont disponibles sur la plupart des dépôts de distribution Linux tels que Debian, Ubuntu, CentOS, etc.

1. Installe ovmf sur les systèmes basés sur Debian en utilisant la commande apt comme ci-dessous.

sudo apt install ovmf

2. Et pour les systèmes basés sur RHEL comme CentOS/Fedora, tu dois installer le paquet ‘edk2-ovmf’ à l’aide de la commande DNF/Yum comme ci-dessous.

sudo dnf install edk2-ovmf

or

sudo yum install edk2-ovmf

3. Pour les systèmes basés sur Arch Linux comme Manjaro, tu peux utiliser la commande pacman ci-dessous.

sudo pacman -S edk2-ovmf

Et la prise en charge de l’UEFI sur la virtualisation KVM est activée. Maintenant, créons de nouvelles machines virtuelles.

Activer UEFI sur la machine virtuelle

Il existe plusieurs façons de créer une machine virtuelle sur la virtualisation KVM. Tu peux utiliser le mode ligne de commande (en utilisant la commande virt-install ), ou utiliser l’application graphique telle que« virtual machine manager« .

Créer une machine virtuelle avec virt-install

1. Pour créer une machine virtuelle avec un micrologiciel UEFI en utilisant la ligne de commande‘virt-install‘, ajoute l’option‘–boot uefi‘ dans les options de la commande.

Voici un exemple d’utilisation de la commande virt-install pour créer une nouvelle machine virtuelle‘Artix‘ avec un micrologiciel UEFI.

sudo virt-install --name=Artix \
--os-type=Linux \
--os-variant=archlinux \
--vcpu=2 \
--ram=1024 \
--disk path=/var/lib/libvirt/images/Artix.img,size=15 \
--graphics spice \
--cdrom=/home/user/Desktop/artix-base-openrc-20210726-x86_64.iso \
--network network=default \
--boot uefi

Maintenant, tu vas démarrer sur ta machine virtuelle.

Et si tu entres dans les paramètres UEFI, voici quelques captures d’écran que tu obtiendras.

Ci-dessous, la capture d’écran du Shell interactif UEFI sur la machine virtuelle KVM.

Shell interactif UEFI

Et ci-dessous la capture d’écran des Paramètres OVMF sur la machine virtuelle KVM UEFI

Paramètres du menu UEFI de l'OVMF

Créer une machine virtuelle avec Virtual Machine Manager

L’application Virtual Machine Manager fournit une interface graphique pour gérer la virtualisation KVM.

Si tu es novice en matière de virtualisation KVM, il est recommandé d’utiliser le virt-manager (gestionnaire de machines virtuelles) pour configurer ton environnement de virtualisation.

Pour créer une machine virtuelle prenant en charge le micrologiciel UEFI à l’aide de l’application virt-manager, tu dois la configurer pendant la création de la machine virtuelle elle-même.

1. Dans la dernière fenêtre lors de la création d’une machine virtuelle à l’aide de virt-manager, tu verras la fenêtre de confirmation comme ci-dessous.

Créer une machine virtua avec virt manager

Tu dois cocher l’option‘Personnaliser la configuration avant l’installation’, puis cliquer sur le bouton‘Terminer‘.

2. Dans la nouvelle fenêtre, clique sur le menu‘Aperçu‘ et passe à la section‘Détails de l’hyperviseur‘.

Dans l’option Firmware, sélectionne‘UEFI x86_64 : ...’, puis clique sur le bouton‘Appliquer‘.

Active l'UEFI sur KVM

Clique maintenant sur le bouton‘Commencer l’installation‘ pour lancer l’installation de la machine virtuelle.

3. Lors du processus de démarrage de la machine virtuelle, tu verras le splash de démarrage de TianoCore comme ci-dessous.

Tianocore UEFI Boot splash

4. Après cela, tu verras ton système d’exploitation comme ci-dessous.

Démarrage de la machine virtuelle avec UEFI

Maintenant, tu as réussi à créer la machine virtuelle sur la virtualisation KVM, et la machine virtuelle utilise maintenant le firmware UEFI au lieu du BIOS par défaut.

Conclusion

Félicitations ! Tu as appris comment activer la prise en charge de l’UEFI sur la virtualisation KVM. Tu as aussi appris à configurer une machine virtuelle avec la ligne de commande virt-install et l’application graphique virt-manager et à activer le micrologiciel UEFI sur la machine virtuelle.

Vous aimerez aussi...