67 votes

grub2-install : "cette étiquette de partition GPT ne contient pas de partition de démarrage du BIOS"

Il semble qu'il y ait beaucoup de discussions à ce sujet, mais je ne trouve pas de réponse simple.

Lorsque j'essaie d'installer grub2, j'obtiens cette erreur :

# grub2-install /dev/sda
Installing for i386-pc platform.
grub2-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
grub2-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
grub2-install: error: will not proceed with blocklists.

Voici la disposition de /dev/sda :

Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 7ECE06D0-9F0C-44FF-BCFB-142283172CCA

Device        Start       End   Sectors  Size Type
/dev/sda1      2048    411647    409600  200M Linux filesystem (/boot)
/dev/sda2    411648   4605951   4194304    2G Linux swap
/dev/sda3   4605952  46548991  41943040   20G Linux filesystem (/)
/dev/sda4  46548992 234441614 187892623 89.6G Linux LVM (/var)

Existe-t-il un moyen simple de contourner ce problème ? Je comprends que je dois créer une minuscule partition au début du disque en tant que "BIOS Boot Partition". Je suppose qu'une option serait de déplacer le swap vers /dev/sda4 en tant que volume logique, et d'utiliser /dev/sda2 comme /boot.

Sinon, je pourrais revenir à Grub-legacy et ne pas m'en préoccuper (y a-t-il vraiment un avantage à passer à grub2 si cela cause autant de problèmes ?)

Réflexions ?

38voto

Rod Smith Points 20483

Vous devez d'abord déterminer si vous souhaitez utiliser un démarrage en mode BIOS/CSM/legacy ou un démarrage en mode EFI/UEFI. Le premier est le mode de démarrage des PC depuis les années 1980, mais il s'agit d'un système laid et peu pratique qui ne tardera pas à disparaître. Windows lie le démarrage en mode BIOS à la table de partition MBR, que vous n'utilisez pas (mais que vous pourriez utiliser ; votre disque est loin d'être assez grand pour nécessiter GPT). Linux, FreeBSD et la plupart des autres systèmes d'exploitation modernes sont plus souples et prennent en charge le démarrage en mode BIOS à partir de GPT ; mais il y a parfois des complications créées par les microprogrammes et, bien sûr, si vous décidez par la suite d'installer Windows dans une configuration à double démarrage, vous devrez faire des changements ou des compromis.

Le démarrage en mode EFI/UEFI est moins compliqué, mais les implémentations EFI varient considérablement en qualité et le niveau général d'expertise et de support sur le Web pour EFI est inférieur à celui du BIOS. Windows lie l'utilisation de GPT au démarrage en mode EFI, donc si vous prévoyez d'installer Windows sur votre ordinateur, l'EFI est définitivement la voie à suivre. Les ordinateurs plus anciens ne fonctionnent qu'avec le BIOS. L'EFI a commencé à décoller sur le marché à la mi-2011, donc si votre ordinateur est plus ancien, il se peut que vous ne puissiez pas utiliser l'EFI.

Si vous optez pour le démarrage en mode BIOS, vous devez créer un fichier Partition de démarrage du BIOS sur le disque. Il y a suffisamment de place au début de votre disque pour cette partition, mais vous devrez régler votre valeur d'alignement de secteur sur 1 (au lieu des 2048 habituels) pour que cela fonctionne. Je ne sais pas si cela peut être fait avec parted mais vous pouvez le faire avec gdisk . (Notez que l'espace au début de votre disque est légèrement inférieur à la taille recommandée de 1 Mo pour une partition de démarrage du BIOS, mais seulement de quelques secteurs. Il fonctionnera probablement très bien, mais il est possible qu'il échoue à un moment donné dans le futur). Vous pouvez également réduire n'importe laquelle de vos partitions de 1 à 2 Mo pour faire de la place à la partition de démarrage du BIOS. Cette partition fait pas ne doit pas nécessairement être la première partition du disque, bien que ce soit l'emplacement conventionnel.

Si vous optez pour le démarrage en mode EFI/UEFI, vous devez créer un fichier Partition du système EFI (ESP). Cette partition doit être formatée en FAT et doit être beaucoup plus grande que la partition d'amorçage du BIOS, vous devrez donc redimensionner quelque chose pour la créer. Je recommande une taille de 550MiB, bien qu'un dixième de cette taille puisse faire l'affaire.

Pour installer Grub, vous devez d'abord vous assurer que vous avez installé le bon paquet Grub. Je ne suis pas sûr de la dénomination dans toutes les distributions, mais dans Ubuntu, ce serait grub-pc pour le mode BIOS/CSM/legacy et grub-efi-amd64 pour le mode EFI/UEFI. Une installation en mode EFI nécessitera également de démarrer ce que vous utilisez pour installer Grub (un CD live/USB, probablement) en mode EFI. Pour ce faire, il peut être nécessaire d'utiliser le gestionnaire de démarrage intégré de votre ordinateur, auquel on accède généralement par une touche de fonction, mais les détails varient d'un ordinateur à l'autre.

24voto

zersh Points 251

Vous avez déjà cette petite partition, alors kk la première partition commence non pas par 1 mais par 2048

/dev / sda1 2048 411647 409600 200M Linux file system (/boot)

Vous devez modifier le type d'étiquette, de botte a bios_grub pour par exemple par le biais de parted :

parted /dev/sda
set 1 boot off
set 1 bios_grub on
q

Mais encore une fois :

grub2-install /dev/sda

23voto

Brian Points 14040

Si vous souhaitez utiliser des partitions GPT avec le mode de démarrage BIOS à l'ancienne, vous devez créer une partition BIOS de quelques mégaoctets (16MiB devrait suffire et être à l'épreuve du temps) sur le périphérique où vous souhaitez installer Grub à l'aide des éléments suivants grub-install .

Utiliser, par exemple fdisk pour créer la partition de type "BIOS boot" quelque part sur votre disque. Exemple de sortie :

# fdisk -l /dev/sda
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 57E16A16-36B4-4445-A216-031EF6501415

Device        Start        End    Sectors   Size Type
/dev/sda1      2048    4196351    4194304     2G Linux RAID
/dev/sda2   4196352   35653631   31457280    15G Linux RAID
/dev/sda3  35653632   37750783    2097152     1G Linux swap
/dev/sda4  37750784   37816319      65536    32M BIOS boot
/dev/sda5  37816320 1953525134 1915708815 913.5G Linux LVM

5voto

Adi_aks Points 307

La partition de démarrage doit être formatée en Fat32 pour que cela fonctionne.

mkfs.vfat -F32 /dev/sdXY

Cela devrait régler le problème pour vous

De plus, le drapeau de la botte doit être sur le côté :

set 1 boot on

2voto

ebsf Points 3

J'ai eu ce problème à l'instant sur une machine en mode EFI avec un disque GPT (Ubuntu 18.04 Server), qui a décidé un jour de ne démarrer que jusqu'au Grub Grub tout seul.

D'une manière ou d'une autre, Grub-pc (pour les machines en mode BIOS / i386) était installé et Grub-efi ne l'était pas. La correction a été simple une fois le problème identifié :

# apt install grub-efi
# update-grub
# grub-install

Notez que la première commande a désinstallé Grub-pc.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X