web-dev-qa-db-fra.com

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

Il semble y avoir 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 petite partition au début du disque en tant que "partition de démarrage du BIOS". Je suppose qu’une option serait de déplacer le swap vers/dev/sda4 en tant que volume logique et d’utiliser/dev/sda2 en tant que/boot.

Alternativement, je pourrais simplement revenir à grub-legacy et ne pas m'inquiéter pour cela (existe-t-il vraiment un avantage à la mise à niveau vers grub2 si cela pose autant de problèmes?).

Pensées?

38
Robert S

Vous devez d’abord déterminer si vous souhaitez utiliser un démarrage en mode BIOS/CSM/en mode hérité ou en mode EFI/UEFI. Le premier est la façon dont les PC démarrent depuis les années 1980, mais c’est un système laid et hack qui suivra trop longtemps le dodo. Windows lie le démarrage en mode BIOS à la table de partition MBR, que vous n'utilisez pas (mais vous pourriez le faire; votre disque est loin d'être suffisant pour nécessiter un GPT). Linux, FreeBSD et la plupart des autres systèmes d'exploitation modernes sont plus flexibles et prennent en charge le démarrage en mode BIOS à partir de GPT; mais il y a parfois des complications créées par le microprogramme, et bien sûr, si vous décidez ultérieurement d'installer Windows dans une configuration à double démarrage, vous devrez apporter des modifications ou des compromis.

Le démarrage en mode EFI/UEFI est moins astucieux; Cependant, la qualité des implémentations EFI varie considérablement et le niveau global 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. Ainsi, si vous prévoyez d'installer Windows sur votre ordinateur, EFI est définitivement la voie à suivre. Les ordinateurs plus anciens ne contiennent que le BIOS. EFI a commencé à décoller sur le marché à la mi-2011. Par conséquent, si votre ordinateur est plus ancien, vous ne pourrez peut-être pas utiliser EFI.

Si vous optez pour un démarrage en mode BIOS, vous devez créer une partition de démarrage du BIOS sur le disque. Il y a assez de place au début de votre disque pour cette partition, mais vous devrez définir la valeur d'alignement de secteur sur 1 (sur 2048 habituelle) 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 de quelques secteurs seulement. Il fonctionnera probablement correctement, mais pourrait éventuellement échouer ultérieurement.) , vous pouvez réduire l’une de vos partitions de 1 à 2 Mo pour laisser de la place à la partition de démarrage du BIOS. Cette partition ne pas doit être la première partition du disque, bien que ce soit l'emplacement conventionnel.

Si vous démarrez avec le démarrage en mode EFI/UEFI, vous devez créer une partition système EFI (ESP). Cette partition doit être au format FAT et doit être considérablement plus grande qu'une partition de démarrage BIOS. avoir à redimensionner quelque chose pour le créer. Je recommande une taille de 550 Mo, bien qu'un dixième de cela puisse fonctionner à la rigueur.

Pour installer GRUB, vous devez d’abord vous assurer que vous avez installé le bon package GRUB. Je ne suis pas sûr de nommer toutes les distributions, mais sous 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écessite également d’amorcer tout ce que vous utilisez pour installer GRUB (probablement un CD/USB, en mode EFI). Pour ce faire, vous devrez peut-être utiliser le gestionnaire de démarrage intégré de votre ordinateur, auquel on accède généralement via une touche de fonction, mais les détails varient d'un ordinateur à l'autre.

19
Rod Smith

Si vous souhaitez utiliser des partitions GPT avec le mode d’amorçage du BIOS de l’ancien style, vous devez créer une partition BIOS de quelques mégaoctets (16 Mo devrait être à l'épreuve du futur) sur le périphérique sur lequel vous souhaitez installer grub avec 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
6
Flow

La partition de démarrage doit être formatée fat32 pour fonctionner

mkfs.vfat -F32 /dev/sdXY

Devrait le réparer pour vous

De plus, le drapeau de démarrage doit être activé dans Parted:

set 1 boot on
3
Kevin Huntly