Grub-Installation auf hybrider MBR-Festplatte

Grub-Installation auf hybrider MBR-Festplatte

Ich folgte der sehr detaillierten Anleitung zum Erstellen von hybriden MBR-Einträgen (GPT/MBR) ausHier

Jetzt gdiskheißt es, ich habe einen Hybrid-MBR. Aber ich kann nur in UEFI booten und das nicht im BIOS (ich verwende eine externe Festplatte). Scheint, als würde die einfache Ausführung grub-installnur den UEFI-Teil installieren. Ich habe das gesehenDiskussion über die Anforderung, dass der Schutzeintrag der erste auf der Festplatte sein muss, also habe ich ihn an den ersten gesetzt, und das ist nicht die Grundursache.

Die Frage ist also, wie man GRUB so installiert, dass das Betriebssystem sowohl vom BIOS/MBR als auch vom UEFI/GPT gestartet wird?

$ sudo gdisk /dev/sdd

GPT fdisk (gdisk) version 1.0.1

Partition table scan:
  MBR: hybrid
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with hybrid MBR; using GPT.

Command (? for help): r

Recovery/transformation command (? for help): o

Disk size is 468862128 sectors (223.6 GiB)
MBR disk identifier: 0x7213C4A0
MBR partitions:

Number  Boot  Start Sector   End Sector   Status      Code
   1                     1       208895   primary     0xEE
   2      *         208896      1196031   primary     0x83
   3               1196032    135413759   primary     0x83
   4             200425472    468860927   primary     0x83

Recovery/transformation command (? for help): p
Disk /dev/sdd: 468862128 sectors, 223.6 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 21773ad9-3d43-4832-85b7-6c841d20ce75
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 468862094
Partitions will be aligned on 1-sector boundaries
Total free space is 62183 sectors (30.4 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              63           80324   39.2 MiB    EF00  Basic data partition
   2          208896         1196031   482.0 MiB   8300  Basic data partition
   3         1196032       135413759   64.0 GiB    8300
   4       135413760       168968191   16.0 GiB    0700  Basic data partition
   5       168968192       200425471   15.0 GiB    0700  Basic data partition
   6       200425472       468860927   128.0 GiB   8300
   7           81920          149503   33.0 MiB    EF02

$ sudo getrennt /dev/sdd

GNU Parted 3.2
Using /dev/sdd
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA OCZ-VECTOR150 (scsi)
Disk /dev/sdd: 240GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system     Name                  Flags
 1      32.3kB  41.1MB  41.1MB  fat32           Basic data partition  boot, esp
 7      41.9MB  76.5MB  34.6MB                                        bios_grub
 2      107MB   612MB   505MB   ext4            Basic data partition
 3      612MB   69.3GB  68.7GB  ext4
 4      69.3GB  86.5GB  17.2GB  linux-swap(v1)  Basic data partition  msftdata
 5      86.5GB  103GB   16.1GB  ntfs            Basic data partition  msftdata
 6      103GB   240GB   137GB   ext4

$ sudo grub-install

Installing for x86_64-efi platform.
Installation finished. No error reported.

Antwort1

Wie installiere ich GRUB, sodass das Betriebssystem sowohl vom BIOS/MBR als auch vom UEFI/GPT gestartet wird?

Sie sollten eineBIOS-Bootpartitionbeschriftet bios_grub. Diese Partition muss vor der GRUB-Installation erstellt werden.

Damit GRUB von einer GPT-partitionierten Festplatte auf einem BIOS-basierten System booten kann, ist eine BIOS-Bootpartition erforderlich. Bitte beachten Sie, dass diese Partition nichts mit dem /boot-Mountpoint zu tun hat und direkt von GRUB verwendet wird. Erstellen Sie darauf kein Dateisystem und mounten Sie sie nicht.

So erstellen Sie dieBIOS-Bootpartition? Was ist die Mindestgröße?

Wenn Sie eine BIOS-Bootpartition auf einem GPT-System erstellen, sollten Sie darauf achten, dass sie mindestens 31 KiB groß ist. (GPT-formatierte Festplatten sind normalerweise nicht besonders klein, daher empfehlen wir, sie größer als das absolute Minimum, z. B. 1 MiB, zu machen, um genügend Raum für Wachstum zu haben.) Sie müssen auch sicherstellen, dass sie den richtigen Partitionstyp hat. Mit GNU Parted können Sie dies mit einem Befehl wie dem folgenden festlegen:

parted /dev/disk set partition-number bios_grub on

verwandte Informationen