Aller au contenu

Pour booter un système en mode EFI il faut que la table de partition soit en GPT. Linux est capable capable, grâce à GRUB, de démarrer en EFI sur une partition en MBR, en créant un partition de 1 Mo vide.

Convertir la table de partition en GPT

  • On va pouvoir utiliser gdisk pour transformer la partition en GPT.
    gdisk /dev/sda
  • Création de la partition "BIOS boot" dont GRUB à besoin.

  • Il faudra appuyer sur n pour créer la nouvelle partition. Elle a besoin d'être de 1Mo. Apuyer sur entrée jusqu'au bout

  • Écrire la nouvelle table de partition en appuyant sur w

  • Recharger la table de partition.

       partprobe /dev/sda
    

  • Réinstallation du GRUB avec la nouvelle table de partition.

 grub-install /dev/sda
* Avec gparted, il faudra ajouter à cette partition le drapeau (flag) bios_grub

  • Optionnellement, on peut redémarrer pour voir si ça fonctionne.

Si on a juste besoin d'une table de partition GPT mais booter en mode bios, on peut s'arrêter là.

Création d'une partition EFI pour booter en mode EFI

  • Avec gparted, il faudra créer une partition de 512 Mo n'importe où sur le disque. (Y compris à la fin donc)
  • Elle devra être formatée en fat32
  • Elle devra avoir les drapeaux (flags): ESP et Boot.
  • On pourra lui donner le nom de EFI-system par exemple

Création du point de montage pour la partition EFI

mkdir /boot/efi
  • Ajout de la partition EFI dans le fichier /etc/fstab
     UUID=33D9-C92E  /boot/efi  vfat  defaults   0   1
    
  • Montage de la partition EFI
     mount /boot/efi
    

Installation de GRUB pour efi

  • Installation du paquet grub-efi. Penser à désinstaller le paquet grub-bios !
     apt install grub-efi
    
  • Installation de grub-efi sur le disque
     grub-install --target=x86_64-efi /dev/sda
    
  • Redémarrer en changeant le mode démarrage en mode EFI.

En cas de soucis d'installation ou de boot

  • Il faudra démarrer en mode EFI un live cd muni de grub-efi en paquet.

  • Créer un dossier sous /mnt/: /mnt/boot/efi

     mkdir /mnt/boot/efi
    

  • Monter le système racine (/) sur mnt par exemple

     mount /dev/sda1 /mnt/
    

  • Monter la partition efi dans /mnt/boot/efi

     mount /dev/sda5 /mnt/boot/efi
    

  • Vérification de l'installation de grub-efi sur /dev/sda dans cet exemple
     grub-install --recheck --root-directory=/mnt/ /dev/sda
    
    Il suffira ensuite de démonter les partitions et de redémarrer en mode EFI sur le disque système.

Copié et adapté de ce site: https://gist.github.com/cjyar/cd5ea76a8692516767672ffc2883df92

Savoir en quel mode est démarré le système (BIOS/EFI)

dmesg |grep "EFI v"