Menu Fermer

efibootmgr : ajouter, changer, supprimer des entrées d’un PC UEFI

Efibootmgr est une application pour manipuler le gestionnaire de démarrage UEFI (efi bootmanager).
Cette application peut créer et supprimer les entrées de démarrage, modifier l’ordre de démarrage, modifier l’option de démarrage suivante et plus encore.

Ce tutoriel vous guide pour utiliser la commande efibootmgr avec de nombreux exemples.

efibootmgr : ajouter, changer, supprimer des entrées d'un PC UEFI

Comment installer efibootmgr

Voici les différentes commandes à utiliser pour installer efibootmgr sur votre distribution Linux :

  • Debian/Ubuntu/Linux Mint :
sudo apt install efibootmgr
  • Fedora, CentOS, RedHat
sudo dnf install efibootmgr
  • SuSE
sudo zypper install efibootmgr
  • Arch Linux/Manjaro
sudo pacman -S efibootmgr

efibootmgr : ajouter, changer, supprimer des entrées d’un PC UEFI

Lister les entrées du démarrage

  • Ouvrez le terminal Ubuntu par la recherche d’application ou par le raccourci clavier CTRL+ALT+T. Plus de détails : Comment ouvrir terminal Ubuntu
Ouvrir un terminal sur Ubuntu depuis la liste des applications

Pour lister les entrées de démarrage d’un PC UEFI sur linux avec efibootmgr, il suffit de saisir la commande :

efibootmgr

On obtient la sortie suivante :

BootCurrent: 0004
Timeout: 2 seconds
BootOrder: 0004,0000,0002,0003,0001
Boot0000* EFI VMware Virtual NVME Namespace (NSID 1)
Boot0001* EFI Internal Shell (Unsupported option)
Boot0002* EFI VMware Virtual SATA CDROM Drive (1.0)
Boot0003* EFI Network
Boot0004* ubuntu
Boot0005* Windows Boot Manager
  • BootCurrent – L’entrée de démarrage par défaut utilisée pour démarrer le système en cours d’exécution
  • Bootorder – l’ordre de démarrage comme apparaîtrait dans le gestionnaire de démarrage. Le gestionnaire de démarrage tente de démarrer la première entrée active dans cette liste. En cas d’échec, il essaie la prochaine entrée, et ainsi de suite
  • Bootnext – l’entrée de démarrage qui doit être exécutée sur le démarrage suivant. Ceci remplace bootorder pour une seule cote uniquement et est supprimé par le gestionnaire de démarrage après la première utilisation. Cela vous permet de modifier le prochain comportement de démarrage sans changement bootorder
  • Timeout – Le temps en secondes entre lorsque le gestionnaire de démarrage apparaît à l’écran jusqu’à quand il choisit automatiquement la valeur de démarrage de bootnext ou bootorder
  • Six entrées de démarrage (0000 – 0006), ainsi que le drapeau actif / inactif (* moyen actif) et le nom affiché à l’écran
Lister les entrées du démarrage d'un PC UEFI avec efibootmgr

Pour lister les entrées de démarrage avec les chemins, utilisez l’option -v :

Lister les entrées du démarrage d'un PC UEFI avec efibootmgr

Modifier l’ordre de démarrage

La commande efibootmgr donne aussi la possibilité de modifier l’ordre de démarrage d’un PC UEFI.

  • Lister les entrées de démarrage
efibootmgr -v
  • Utilisez l’option -o avec l’ordre de démarrage par leur numéro d’identification :
efibootmgr -o 000X 000Y 000Z

Par exemple ci-dessous, Windows Boot Manager est en Boot005 et ubuntu en Boot006, pour placer Windows boot Manager en premier dans l’ordre de démarrage :

sudo efibootmgr -o 0005,0006,0001,0002,0004,0003
efibootmgr : modifier l'ordre de démarrage en UEFI sur Linux

Changer l’ordre de démarrage pour le prochain démarrage uniquement

L’option -n permet de définir l’entrée de démarrage à utiliser lors du prochain démarrage du PC.
Indiquez simplement le numéro de l’entrée.

Imagions que vous souhaitez que votre PC démarre sur l’entrée identifiée par le numéro 4 :

efibootmgr -n 4

Ajouter une entrée au démarrage

Si vous avez installé plusieurs distributions Linux sur votre ordinateur, mais l’une des distributions Linux n’a pas d’entrée de démarrage UEFI, vous pouvez l’ajouter manuellement.
C’est l’option -c (pour create) d’efibootmgr qui permet d’ajouter une entrée de démarrage UEFI.

Démarrez dans la distribution Linux qui n’a pas d’entrée de démarrage UFEI. Assurez-vous ensuite qu’il a la version EFI de GRUB installé.

  • Debian / Ubuntu / Linux Mint :
sudo apt install installer grub-efi
  • Fedora :
sudo dnf installer grub2-efi-modules
  • Montez ensuite la partition système EFI (ESP) sous /boot/EFI/répertoire. Dans cet exemple, /dev/sda7 est l’ESP.
sudo mount /dev/sda7 /boot/efi/
  • Ensuite, installez le chargeur de démarrage de Grub sur ESP.
sudo grub-install /dev/sda --target=x86_64-efi --efi-directory=/boot/efi/

X86_64-EFI signifie que nous allons installer Grub pour le micrologiciel de l’UEFI. La cible par défaut est i386-PC, qui est destinée au micrologiciel du BIOS traditionnel.

Maintenant, vous devriez voir une nouvelle entrée dans le menu de démarrage UEFI avec la commande bootmgr.
L’installation de GRUB installe d’abord un fichier de booloader .EFI sur /boot/efi/EFI/<label>/. Habituellement, c’est nommé grubx64.efi. Ensuite, il exécute la commande suivante pour ajouter une nouvelle entrée dans le menu de démarrage UEFI.

efibootmgr -c -d /dev/sda -p 7 -L <label> -l \EFI\<label>\grubx64.efi

L’entrée nouvellement ajoutée sera la première dans l’ordre de démarrage.

Supprimer une entrée de démarrage

Voici comment supprimer une entrée du démarrage d’un PC UEFI avec efibootmgr.
Disons que vous avez installé plusieurs distributions Linux sur un même PC, vous disposez de plusieurs entrées de démarrage, telles que la capture d’écran ci-dessus. Et maintenant, vous avez supprimé une distribution Linux, mais l’entrée de démarrage est toujours là.
Cela peut aussi être utile pour désinstaller Windows en cas de Dual-Boot Windows et Linux.

  • Lister les entrées de démarrage avec leurs numéros Boot00X
efibootmgr
  • Puis utilisez l’option -B et -b avec le numéro de l’entrée. Dans notre exemple, son entrée est le numéro 5, remplacez le numéro par le votre
sudo efibootmgr -B -b 5
Supprimer une entrée de démarrage d'un PC UEFI avec efibootmgr

Passer une entrée de démarrage en active ou inactive

Une entrée de démarrage suivie d’un astérisque indique qu’il est actif. Sinon elle est inactif.

Pour définir une entrée de démarrage active, exécutez:

sudo efibootmgr -b <bootnum> -a

Pour définir une entrée de démarrage inactive, exécutez

sudo efibootmgr -b <bootnum> -A