En principe, la partition montée sur /boot/efi est une partition de type « système EFI » qui contient des chargeurs d’amorçage comme GRUB ou Windows Boot Manager référencés dans des entrées de boot EFI du firmware UEFI qu’on peut afficher avec efibootmgr -v
. Chaque entrée contient non seulement le nom du système comme « debian » et le chemin du chargeur dans la partition comme « \EFI\debian\shimx64.efi » (convention Microsoft), mais aussi le numéro, l’UUID et la position et la taille en secteurs de la partition sur le disque. Si la partition est déplacée, la position enregistrée dans l’entrée de boot EFI ne correspondra plus. Cependant j’ignore si cette information est réellement utilisée par les firmwares UEFI qui devraient être capables de lire la table de partition pour retrouver sa position. Dans le doute, il peut être prudent de réinstaller GRUB après avoir déplacé la partition pour enregistrer la nouvelle position avec
dpkg-reconfigure grub-efi-amd64
ou recréer manuellement une entrée de boot EFI avec efibootmgr :
efibootmgr --create --disk /dev/sda --part 1 --label 'debian' --loader '\EFI\debian\shimx64.efi' --verbose
en supposant que la partition EFI est /dev/sda1, à ajuster le cas échéant. Selon le firmware UEFI cela peut remplacer l’entrée de boot existante de même nom ou en ajouter une nouvelle. Dans ce cas on peut supprimer l’ancienne entrée BootXXXX avec
efibootmgr --bootnum XXXX --delete-bootnum