web-dev-qa-db-de.com

grub2-install: "Diese GPT-Partitionsbezeichnung enthält keine BIOS-Startpartition"

Es scheint eine ziemliche Diskussion darüber zu geben, aber ich kann keine einfache Antwort finden.

Wenn ich versuche, grub2 zu installieren, erhalte ich folgende Fehlermeldung:

# 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.

Hier ist das Layout von/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)

Gibt es eine einfache Möglichkeit, dieses Problem zu umgehen? Ich verstehe, dass ich am Anfang der Festplatte eine winzige Partition als "BIOS-Boot-Partition" erstellen muss. Ich nehme an, eine Möglichkeit wäre, den Swap auf/dev/sda4 als logisches Volume zu verschieben und/dev/sda2 als/boot zu verwenden.

Alternativ könnte ich einfach zu Grub-Legacy zurückkehren und mich nicht darum kümmern (gibt es wirklich einen Vorteil beim Upgrade auf Grub2, wenn dies so viele Probleme verursacht?).

Gedanken?

38
Robert S

Sie sollten zunächst festlegen, ob Sie einen BIOS/CSM/Legacy-Modus-Start oder einen EFI/UEFI-Modus-Start verwenden möchten. Ersteres ist die Art und Weise, wie PCs seit den 1980er Jahren gebootet werden, aber es ist ein hässliches und hackiges System, das in Kürze den Weg des Dodos gehen wird. Windows bindet das Booten im BIOS-Modus an die MBR-Partitionstabelle, die Sie nicht verwenden (aber möglicherweise; Ihre Festplatte ist bei weitem nicht groß genug, um GPT zu erfordern). Linux, FreeBSD und die meisten anderen modernen Betriebssysteme sind flexibler und unterstützen das Booten im BIOS-Modus über GPT. Es kann jedoch vorkommen, dass durch die Firmware verursachte Probleme auftreten. Wenn Sie später Windows in einem Dual-Boot-Setup installieren, müssen Sie Änderungen vornehmen oder Kompromisse eingehen.

Das Booten im EFI/UEFI-Modus ist weniger anstrengend. Die Qualität der EFI-Implementierungen ist jedoch sehr unterschiedlich, und das allgemeine Know-how und der Support im Web für EFI sind geringer als für BIOS. Windows verbindet die Verwendung von GPT mit dem Booten im EFI-Modus. Wenn Sie also erwarten, Windows jemals auf Ihrem Computer zu installieren, ist EFI definitiv der richtige Weg. Ältere Computer sind nur im BIOS verfügbar. EFI ist seit Mitte 2011 auf dem Markt. Wenn Ihr Computer also älter ist, können Sie EFI möglicherweise nicht verwenden.

Wenn Sie mit dem BIOS-Modus booten, sollten Sie eine BIOS-Boot-Partition auf der Festplatte erstellen. Am Anfang Ihrer Festplatte ist genügend Platz für diese Partition, Sie müssen jedoch den Sektorausrichtungswert auf 1 (von den üblichen 2048) setzen, damit dies funktioniert. Ich weiß nicht ohne weiteres, ob dies mit parted möglich ist, aber Sie können es mit gdisk tun. (Beachten Sie, dass der Speicherplatz am Anfang Ihrer Festplatte geringfügig unter der empfohlenen Größe von 1 MB für eine BIOS-Boot-Partition liegt, jedoch nur um einige Sektoren. Er wird wahrscheinlich einwandfrei funktionieren, könnte aber möglicherweise zu einem späteren Zeitpunkt ausfallen.) Alternativ können Sie jede Ihrer Partitionen um 1 bis 2 MB verkleinern, um Platz für die BIOS-Boot-Partition zu schaffen. Diese Partition muss nicht die erste Partition auf der Festplatte sein, obwohl dies der herkömmliche Speicherort ist.

Wenn Sie im EFI/UEFI-Modus booten, müssen Sie eine EFI-Systempartition (ESP) erstellen. Diese Partition muss FAT-formatiert und erheblich größer sein als eine BIOS-Boot-Partition. Sie müssen also die Größe ändern, um sie zu erstellen. Ich empfehle eine Größe von 550 MB, obwohl ein Zehntel davon im Notfall funktionieren könnte.

Um GRUB zu installieren, müssen Sie zunächst sicherstellen, dass Sie das richtige GRUB -Paket installiert haben. Ich bin mir nicht sicher, ob ich alle Distributionen benennen soll, aber in Ubuntu wäre es grub-pc für den BIOS/CSM/Legacy-Modus und grub-efi-AMD64 für den EFI/UEFI-Modus. Bei einer Installation im EFI-Modus müssen Sie auch booten, um GRUB (vermutlich eine Live-CD/USB) im EFI-Modus zu installieren. Hierzu muss möglicherweise der integrierte Boot-Manager Ihres Computers verwendet werden, auf den normalerweise über eine Funktionstaste zugegriffen wird. Die Details sind jedoch von Computer zu Computer unterschiedlich.

19
Rod Smith

Wenn Sie GPT-Partitionen mit dem alten BIOS-Startmodus verwenden möchten, müssen Sie auf dem Gerät, auf dem Sie grub mit grub-install installieren möchten, eine BIOS-Partition mit einigen Megabyte erstellen (16 MB sollten in Ordnung und zukunftssicher sein).

Verwenden Sie z. fdisk, um die Partition vom Typ "BIOS boot" irgendwo auf Ihrer Festplatte zu erstellen. Beispielausgabe:

# 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

Die Boot-Partition muss mit fat32 formatiert sein, damit sie funktioniert

mkfs.vfat -F32 /dev/sdXY

Sollte es für Sie beheben

Auch das Boot Flag muss an sein:

set 1 boot on
3
Kevin Huntly