
In einemKommentar, Johan schrieb:
Bei der seltenen Kombination GPT-Platte + Legacy-BIOS-Boot wird der Bootcode auf altmodische Weise aus dem MBR gelesen.
Wie kann man richtig feststellen, ob ein PC die oben beschriebene seltene Kombination aufweist? Welche Windows- und/oder Linux-Befehle sollten verwendet werden, um die Festplatte auf einen solchen Zustand zu untersuchen?
Antwort1
Wenn Sie eine funktionierende Linux-Installation auf dem PC haben, können Sie prüfen, ob das Verzeichnis /sys/firmware/efi
existiert. Wenn es existiert, dann verfügt Ihr Computer über EFI-Firmware und befindet sich nicht im BIOS-Kompatibilitätsmodus. Wenn das Verzeichnis fehlt, bootet die Maschine mit dem Legacy-BIOS.
Das Partitionierungsschema kann mit überprüft werden fdisk
. Wenn fdisk
p
der Befehl („print the partition table“) als Disklabel-Typ „msdos“ meldet, dann hat die Festplatte eine altmodische MBR-Partitionstabelle. Wenn der Disklabel-Typ „gpt“ ist, dann haben Sie eine GPT-Festplatte.
Antwort2
Ich weiß nicht, ob das ein seltener Zustand ist, aber es ist eine der vernünftigen Möglichkeiten, größere Festplatten auf älteren Maschinen zu verwenden. Oder wenn die Systemfirmware fehlerhaft ist und beispielsweise beim Booten eines Software-RAID-Setups nicht richtig auf eine zweite Festplatte zurückgreift.
Überprüfen Sie zunächst, dass die Maschine nicht mit EFI gebootet ist. Siehe „Wie erkenne ich, ob ich mit UEFI boote?" überprüfen.
Unter Linux:
Unter Linux sollten Sie einige Indikatoren sehen, wenn Sie ausführengdisk -l /dev/DISK
- Partitionstabelle ist GPT („Gültige GPT mit schützendem MBR gefunden; GPT wird verwendet.“)
- Es gibt eine BIOS-Bootpartition (aufgeführt als Code EF02). Hier befindet sich der Großteil von GRUB (es ersetzt die Sektoren, die sich in einem herkömmlichen MBR zwischen dem Bootsektor und der ersten Partition befinden).
Beispiel von einer meiner Disketten:
# gdisk -l /dev/sdd
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sdd: 5860533168 sectors, 2.7 TiB
Model: ST3000VN000-1HJ1
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): 3F3F7901-A38A-42FF-A7BA-8FBD1C35FB11
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 5860533134
Partitions will be aligned on 8-sector boundaries
Total free space is 5582 sectors (2.7 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 259024 125.5 MiB 8300 Linux filesystem
2 260096 517135 125.5 MiB 0700 Microsoft basic data
3 518144 1953524128 931.3 GiB 8300 Linux filesystem
4 1953525760 3907033263 931.5 GiB 8300 Linux filesystem
5 3907035136 5860533134 931.5 GiB 8300 Linux filesystem
128 34 2047 1007.0 KiB EF02 BIOS boot partition
Unter Windows:
Beachten Sie, dass dies eine andere Festplatte ist, die ich schnell für eine VM eingerichtet habe.
diskpart
Der Befehl von list disk
zeigt ein *
in der Spalte GPT an, wenn eine Festplatte GPT verwendet:
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 40 GB 0 B
Disk 1 Online 20 GB 0 B *
Leider werden list partition
(nach Auswahl der Festplatte mit select disk 1
) die beiden Partitionen als „unbekannt“ angezeigt:
DISKPART> list partition
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 Unknown 4096 KB 17 KB
Partition 2 Unknown 19 GB 5120 KB
aber wenn Sie sie (nach select partition 1
) detaillieren, erhalten Sie den Typ GUID:
DISKPART> detail partition
Partition 1
Type : 21686148-6449-6e6f-744e-656564454649
Hidden : Yes
Required: No
Attrib : 0000000000000000
Offset in Bytes: 17408
und 21686148-6449-6e6f-744e-656564454649
steht für BIOS-Bootpartition. ( 0fc63daf-8483-4772-8e79-3d69d8477de4
ist übrigens eine generische Linux-Partition).
Alternativ können Sie in der Datenträgerverwaltung den Datenträger auswählen, Eigenschaften auswählen und die Registerkarte „Volumes“ überprüfen. Dort erfahren Sie, ob der „Partitionsstil“ MBR oder GPT ist. Leider scheint es keine Möglichkeit zu geben, die Partitionstypen aus der Datenträgerverwaltung abzurufen.