Wie kann man feststellen, ob ein PC über eine Kombination aus GPT-Festplatte und Legacy-BIOS-Boot verfügt, bei dem der Bootcode aus dem MBR gelesen wird?

Wie kann man feststellen, ob ein PC über eine Kombination aus GPT-Festplatte und Legacy-BIOS-Boot verfügt, bei dem der Bootcode aus dem MBR gelesen wird?

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/efiexistiert. 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 pder 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

  1. Partitionstabelle ist GPT („Gültige GPT mit schützendem MBR gefunden; GPT wird verwendet.“)
  2. 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.

diskpartDer Befehl von list diskzeigt 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-656564454649steht für BIOS-Bootpartition. ( 0fc63daf-8483-4772-8e79-3d69d8477de4ist ü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.

verwandte Informationen