tech:grub_boot_migration_bios_vers_uefi_efi_avec_mbr

Grub boot migration BIOS vers UEFI EFI en MBR

Voir :

Voir aussi :

  • systemd-boot (Remplace Grub pour les machines compatibles EFI)

Avant toute chose sauvegarder !

Il existe une version de Grub pour DOS/MBR : grub-pc
Il existe une version de Grub pour EFI/MBR : grub-efi
Les deux peuvent être installés sur la même machine.

Testé sous Debian

Création d'une partition /boot/efi en FAT de type “ef” Sur une partition primaire (je n'ai pas testé sur une partition logique) (Taille minimum recommandée : 1MB)

Installation prérequis

#apt-get install efivar syslinux-efi
apt-get install efibootmgr grub-efi dosfstools

Pour Debian Wheezy, une façon de faire est de mettre à jour Grub en prenant les paquets de Jessie :

  • grub2-common
  • grub-common
  • grub-efi
  • grub-efi-amd64
  • grub-efi-amd64-bin

Partitionnement

Créer une partion de VFAT de 20M (1M minimum conseillé) de type “ef” Pour cela il peut être nécessaire de réduire la partition principale à l'aide de GParted (inclus dans systemrescuecd, taper startx pour lancer l’interface graphique)

Ou avec fdisk

fdisk /dev/sda
# Part type id (Hex code) : "ef"  EFI (FAT-12/16/

Formatage / Montage partition EFI

mkfs.vfat /dev/sda4
mkdir -p /boot/efi

Trouver le UUID de le partition EFI.

fdisk -l |grep EFI
blkid /dev/sda4

Remplacer B24E-9BC6 par votre UUID

/etc/fstab
#/dev/sda4
#UUID=B24E-9BC6    /boot/efi            vfat    defaults,uid=0,gid=0,umask=0077,shortname=winnt 0 0
UUID=8343-3610  /boot/efi       vfat    umask=0077      0       1

Montage de la partition EFI crée.

mount /boot/efi

Installation Grub

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --recheck /dev/sda

Boot auto

Pour booter automatiquement sur Grub

Par défaut le système s'attend à démarrer sur :

  • /boot/efi/EFI/boot/bootx64.efi
  • /boot/efi/EFI/BOOT/BOOTX64.efi
cd /boot/efi/EFI
mkdir boot
cp -p debian/grubx64.efi boot/bootx64.efi

Autres

A tester

mkdir -p /boot/grub/locale
cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo

Pb

Err failed to register the EFI boot entry: Invalid argument.

# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --recheck /dev/sda 
Installing for x86_64-efi platform.
grub-install: warning: Cannot read EFI Boot* variables.
grub-install: warning: efivarfs_get_variable: read failed: Invalid argument.
grub-install: warning: efi_get_variable: ops->get_variable failed: Invalid argument.
grub-install: error: failed to register the EFI boot entry: Invalid argument.

Solution

Ajouter --no-nvram ou --removable à grub-install

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --recheck /dev/sda --removable
tech/grub_boot_migration_bios_vers_uefi_efi_avec_mbr.txt · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki