Il arrive que la partition EFI soit endommagée (système de fichier défectueux) ou qu'elle soit écrasée (utilisateur très maladroit). Ce tuto traite le cas d'une installation qui contient seulement Ubuntu installé en mode EFI (pas de Windows préinstallé en mode EFI dans l'ordi) : l'installation de Ubuntu est intègre mais l'ordi ne peut pas démarrer dessus puisqu'il n'y a plus de partition EFI ou qu'elle est inutilisable. (
Voir un cas de mise en œuvre de ce Tuto ici)
Procédure de réparation :
1) recréer une partition EFI :
Si la partition EFI existe déjà mais qu'elle a un système de fichier défectueux, il faut agir avec l'éditeur de partitions GPARTED lancé depuis une session live de Ubuntu pour formater cette partition en FAT32 (elle va changer d'UUID du fait de ce formatage) et veiller a ce qu'elle ait toujours le drapeau "Boot" (en principe le formatage maintient le drapeau "Boot") afin qu'elle soit reconnue comme partition EFI.
Si la partition EFI n'existe plus, toujours avec GPARTED il faut créer une partition FAT32 de 250 Mo et lui mettre le drapeau "Boot"
2) grâce à Super Grub2 Disk (*), démarrer une session sur le Ubuntu installé sur disque dur.
Exemple : démarrage sur le noyau le plus récent (première ligne du choix proposé par Super Grub2 Disk) :

A noter : ne pas essayer de démarrer sur un noyau "...generic.efi.signed" parce que ça ne marche jamais. Je pense que Super Grub2 Disk ne sait pas gérer ces noyaux signés.
Il est normal que ça bloque sur le message :
Le disque dur /boot/efi n'est pas encore prêt ou présent.
Continuer à attendre, ou appuyer sur S pour ignorer le montage ou M pour la récupération manuelle
Comme on peut le voir sur la vue suivante :

En effet, l'UUID de la partition EFI qui se trouve dans le fstab est obsolète. De ce fait, le montage dans /boot/efi est impossible.
Il faut juste presser la touche S et le démarrage se poursuit jusqu'à l'écran de connexion de session. On peut ouvrir une session normalement.
3) depuis la session Ubuntu, passer la commande :
sudo blkid
pour connaître l'UUID de la partition EFI
Exemple :
sudo blkid
[sudo] password for malbo:
/dev/sda1: LABEL="RM-CM-)cupM-CM-)ration" UUID="E4D69B95D69B6698" TYPE="ntfs"
/dev/sda2: UUID="9367-D3E0" TYPE="vfat"
/dev/sda4: UUID="9E7CA3F77CA3C87B" TYPE="ntfs"
/dev/sda5: UUID="bca56e3b-589c-4edf-b9be-3a9a59cdb83a" TYPE="ext4"
/dev/sda6: UUID="56967532-0950-4056-9fab-334ee93a5650" TYPE="swap"
/dev/sdb1: LABEL="stock_image" UUID="be733035-d1e8-441a-adb9-2748434e4485" TYPE="ext4"
/dev/sr0: LABEL="ISOIMAGE" TYPE="iso9660"
Ma partition EFI est /dev/sda2, l'UUID recherché est 9367-D3E0
4) mettre à jour le fstab pour mettre cet UUID a la place de l'UUID précédent (l'UUID de l'ancienne partition EFI). Pour cela, il faut éditer le fichier fstab avec pouvoir administrateur :
- installer gksu (s'il n'est pas déjà installé) :
sudo apt-get install gksu
- ouvrir le fichier fstab avec l'éditeur de texte gedit :
gksudo gedit /etc/fstab
remplacer l'ancien UUID de la ligne de montage /boot/efi par l'UUID trouvé en 3)
Exemple :
ligne de montage /boot/efi AVANT modif :
UUID=4DF6-96FD /boot/efi vfat defaults 0 1
ligne de montage /boot/efi APRÈS modif :
UUID=9367-D3E0 /boot/efi vfat defaults 0 1
Enregistrer dans gedit puis quitter gedit
5) monter la partition en passant la commande :
sudo mount /boot/efi
6) passer la commande d'installation de Grub :
sudo grub-install
Il n'y a rien à ajouter dans la commande précédente : grub-install va trouver tout seul comme un grand /boot/efi et il va créer dedans tout ce qui est nécessaire pour le démarrage.
Voici le résultat de cette commande quand tout se passe bien :
sudo grub-install
Installation pour la plate-forme x86_64-efi
Installation terminée, sans erreur.
7) au rédémarrage, l'ordi doit démarrer par défaut sur le menu Grub. Le démarrage de Ubuntu est réparé.
Par curiosité, si on fait un Boot-Info après ça, on peut voir l'effet de la réparation (dans mon cas, la partition EFI est sda2) :
sda2: __________________________________________________________________________
File system: vfat
Boot sector type: FAT32
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files: /EFI/ubuntu/grubx64.efi
C'est la commande "sudo grub-install" qui a entraîné la création automatique du dossier EFI, du sous-dossier ubuntu et du fichier grubx64.efi
(*) si pour avez un lecteur de CD, c'est mieux de graver un CD
Super Grub2 Disk. Sinon, je vous conseille ma recette pour réaliser une liveUSB de Super Grub2 Disk à partir d'une LiveUSB Ubuntu :
http://forum.ubuntu-fr.org/viewtopic.php?pid=18288531#p18288531