UEFI, GRUB et l'ordre de démarrage : quand le BIOS oublie Debian
Créé par Jean-Emmanuel Bissey le 26/08/2026 PubliéJ'ai régulièrement un petit problème de démarrage sur mon mini-PC, qui peut être assez déroutant lorsqu'on utilise plusieurs distributions Linux et plusieurs disques.
Ma configuration
Mon mini-PC était livré avec Windows installé sur le NVMe interne.
J'ai ensuite ajouté Debian sur ce même NVMe, en conservant Windows. L'installation de Debian s'est déroulée normalement et GRUB a été installé.
Voici un aperçu de mes partitions :
nvme0n1
├─nvme0n1p1 vfat SYSTEM 9A06-E83C /boot/efi
├─nvme0n1p2
├─nvme0n1p3 ntfs 368407F78407B7FF
├─nvme0n1p4 ntfs Recovery 42A20824A2081ED3
├─nvme0n1p5 ext4 242b8793-eaaa-4cdf-8914-137270b94eef /
└─nvme0n1p6 swap ad26424b-5119-4074-b9c5-528565b190e9 [SWAP]
Le point important est la partition :
nvme0n1p1 vfat FAT32 SYSTEM 9A06-E83C /boot/efi
C'est la partition système EFI (ESP). Elle est utilisée par le firmware UEFI pour démarrer les différents systèmes.
Sur ce même NVMe, on trouve donc :
-
les partitions Windows (
nvme0n1p3etnvme0n1p4) ; -
Debian sur
nvme0n1p5; -
la partition EFI
nvme0n1p1; -
le swap Debian sur
nvme0n1p6.
J'ai également un autre SSD, nommé sda, sur lequel j'ai installé plusieurs distributions Linux :
sda
├─sda1
├─sda2 ext4 2dea52e3-d3c3-4594-a726-62c604017a61
├─sda3 ext4 2fdba46e-2551-43e2-879c-ee06e3613d4a
├─sda4 vfat FAT32 B623-6FBD
├─sda5 ext4 b4962872-55a8-4584-8390-be4f63695d01
├─sda6 ext4 fa98a98a-feda-4afd-85c6-a26e7ab3d33b
├─sda7 ext4 bf3357b4-53d8-4356-b99e-6c47a77d4a21
├─sda8 swap aa780f1b-1892-4db4-9c3a-906347af6adb
└─sda9 ext4 Data 5203e737-6c2f-4ec8-a8dd-3380d8bc1dc6
Ce deuxième SSD contient donc plusieurs systèmes Linux, ainsi qu'une partition EFI (sda4).
Tout fonctionne... jusqu'au jour où je débranche le SSD
Avec le SSD sda branché, je démarre Debian et je mets à jour GRUB :
sudo update-grub
GRUB détecte correctement les différents systèmes présents sur mes disques.
Tout fonctionne parfaitement.
Je redémarre alors avec le SSD sda toujours branché : pas de problème.
Mais je débranche ensuite ce SSD et redémarre le mini-PC.
Et là :
Windows démarre directement !
Pourtant, Debian est toujours installé sur nvme0n1p5.
La partition EFI est toujours présente sur nvme0n1p1.
GRUB n'a pas été supprimé.
Alors pourquoi le PC démarre-t-il Windows ?
Le coupable : l'ordre de démarrage UEFI
Le problème ne vient finalement pas de GRUB.
Il vient de l'ordre de démarrage enregistré dans l'UEFI.
Lorsqu'on installe plusieurs systèmes, l'UEFI conserve plusieurs entrées de démarrage.
Par exemple :
Boot0000 Windows Boot Manager
Boot0001 Debian
Boot0002 Ubuntu
Boot0003 Mint
L'UEFI utilise cet ordre pour déterminer quel programme de démarrage lancer en premier.
Dans mon cas, le BIOS/UEFI avait modifié cet ordre.
Résultat : lorsque le SSD sda était présent, tout semblait fonctionner. Mais lorsque je le retirais, le firmware ne lançait plus l'entrée Debian et passait directement sur Windows.
Démarrer Debian depuis le BIOS
Le problème est que, maintenant que le SSD sda est débranché, le mini-PC démarre directement sur Windows.
Il faut donc commencer par réussir à démarrer Debian autrement.
Sur mon mini-PC, la touche permettant d'accéder au BIOS/UEFI est Del.
Au démarrage du PC, il faut donc appuyer frénétiquement sur la touche Del dès que le PC commence à démarrer.
Une fois dans le BIOS/UEFI, je vais dans le menu permettant de choisir le périphérique ou l'entrée de démarrage.
Je sélectionne alors Debian comme système à démarrer.
Le PC démarre cette fois correctement sur Debian.
C'est une étape importante : il n'est pas nécessaire de réinstaller Debian ou GRUB. Debian est toujours présent sur nvme0n1p5 et son chargeur de démarrage est toujours accessible depuis l'UEFI.
Une fois Debian démarré, je peux enfin vérifier ce qui s'est passé avec efibootmgr.
Vérifier les entrées UEFI avec efibootmgr
Une fois démarré sous Debian, je peux examiner les entrées de démarrage avec :
sudo efibootmgr
Cette commande permet notamment de voir le BootOrder.
C'est cet ordre qui nous intéresse.
Si Debian n'est plus en première position, il est possible de le remettre manuellement.
Remettre Debian en première position
Dans mon cas, il suffit de remettre l'ordre suivant :
sudo efibootmgr -o 0000,0002,0001,0003
Le principe est simple : les numéros correspondent aux entrées affichées par efibootmgr, et l'option -o définit leur ordre de priorité.
Après cette commande, l'UEFI donne à nouveau la priorité à l'entrée Debian.
Je peux alors redémarrer, sans le SSD sda branché, et le mini-PC démarre à nouveau sur GRUB.
Ce que j'ai appris
Ce problème est assez trompeur car on peut facilement penser que GRUB a été supprimé ou qu'il faut le réinstaller.
Mais dans mon cas, rien n'avait disparu.
Tout était toujours en place :
NVMe
│
├── nvme0n1p1 → partition EFI
├── nvme0n1p3 → Windows
├── nvme0n1p4 → Recovery Windows
├── nvme0n1p5 → Debian
└── nvme0n1p6 → Swap
Le problème était simplement que l'UEFI avait changé l'ordre des entrées de démarrage.
La commande :
sudo efibootmgr
permet de diagnostiquer le problème, et :
sudo efibootmgr -o 0000,0002,0001,0003
permet de remettre l'ordre souhaité.
À retenir
Si Debian fonctionne parfaitement lorsque plusieurs disques sont branchés, mais que Windows démarre directement lorsque vous débranchez un disque, pensez à vérifier l'ordre de démarrage UEFI avant de réinstaller GRUB.
Dans mon cas, une simple commande efibootmgr a suffi à résoudre le problème.
GRUB n'était pas cassé. Debian n'avait pas disparu. C'est simplement l'UEFI qui avait décidé de changer l'ordre des démarrages !