
Ich folgte der sehr detaillierten Anleitung zum Erstellen von hybriden MBR-Einträgen (GPT/MBR) ausHier
Jetzt gdisk
heiß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-install
nur 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