Gdisk
Die GUID Partition Table (GPT) hat den Master Boot Record als Partitionsschema abgelöst. Bearbeitet wird sie mit gdisk, dem Gegenstück zu fdisk. Der MBR und das Werkzeug fdisk sind in einem eigenen Artikel beschrieben.
Warum GPT
- Im MBR sind Anfang und Länge einer Partition je 32 Bit breit. Bei 512-Byte-Sektoren ergibt das 2 TiB als größte adressierbare Platte.
- Der MBR bietet vier Einträge. Alles darüber hinaus geht nur über die Krücke der erweiterten Partition mit einer verketteten Liste.
- Der MBR kennt keine Prüfsummen und keine zweite Kopie. Ist der erste Sektor beschädigt, ist die Aufteilung weg.
GPT behebt alle drei Punkte.
Aufbau einer GPT-Platte
Abbildung 1: Aufbau einer GPT-Platte
| Bereich | Lage | Inhalt |
|---|---|---|
| Protective MBR | LBA 0 | Ein einziger Eintrag vom Typ 0xEE über die gesamte Platte
|
| GPT-Header | LBA 1 | Signatur, Prüfsumme, GUID der Platte, Lage der Tabelle, erster und letzter nutzbarer LBA |
| Partitionstabelle | LBA 2–33 | 128 Einträge zu je 128 Byte |
| Nutzdaten | ab LBA 34 | die eigentlichen Partitionen |
| Sicherungstabelle | vor dem Ende | Kopie der Partitionstabelle |
| Sicherungs-Header | letzter LBA | Kopie des Headers |
Der Protective MBR
- Er sorgt dafür, dass Werkzeuge, die nur MBR kennen, eine vollständig belegte Platte sehen und sie nicht versehentlich überschreiben.
- Deshalb meldet
fdiskauf einer GPT-Platte den Typee.
Die doppelte Ablage
- Header und Partitionstabelle liegen am Anfang und am Ende der Platte.
- Beide sind durch CRC32-Prüfsummen abgesichert. gdisk erkennt beim Start, welche der beiden Kopien beschädigt ist.
- Aus der jeweils intakten Seite lässt sich die andere wiederherstellen (siehe unten).
Der Partitionseintrag
Abbildung 2: Aufbau eines Eintrags in der Partitionstabelle
| Byte | Länge | Inhalt |
|---|---|---|
| 0–15 | 16 | Typ-GUID – wofür die Partition gedacht ist |
| 16–31 | 16 | Partitions-GUID – bezeichnet genau diese eine Partition |
| 32–39 | 8 | erster LBA |
| 40–47 | 8 | letzter LBA |
| 48–55 | 8 | Attribute als Bitflags |
| 56–127 | 72 | Name der Partition, 36 Zeichen in UTF-16 |
- Die Partitions-GUID wird beim Anlegen zufällig erzeugt. Sie ist das, was als
PARTUUIDin/etc/fstaboder in der Kernel-Kommandozeile auftauchen kann. - Erster und letzter LBA sind 64 Bit breit. Damit ist die 2-TiB-Grenze aufgehoben.
- Es gibt keine erweiterten und keine logischen Partitionen mehr – alle Einträge sind gleichwertig.
Wichtige Typcodes
gdisk zeigt die 16 Byte lange Typ-GUID als vierstelligen Kurzcode an.
| Code | Bedeutung | entspricht im MBR |
|---|---|---|
| 8300 | Linux filesystem | 83 |
| 8200 | Linux swap | 82 |
| 8e00 | Linux LVM | 8e |
| fd00 | Linux RAID | fd |
| ef00 | EFI System Partition | ef |
| ef02 | BIOS boot partition | – |
| 0700 | Microsoft basic data | 07 |
- Die vollständige Liste zeigt im Programm die Taste
l. ef02hat im MBR keine Entsprechung: Diese kleine Partition ohne Dateisystem nimmt die zweite Stufe von GRUB auf, wenn eine GPT-Platte per BIOS gestartet wird.
Partitionsschema und Startverfahren
Das Partitionsschema und die Art, wie der Rechner startet, sind zwei unabhängige Entscheidungen. Linux kommt mit allen vier Kombinationen zurecht:
| BIOS | UEFI | |
|---|---|---|
| MBR | der klassische Fall | möglich, unüblich |
| GPT | braucht eine BIOS boot partition (ef02) |
der Normalfall, braucht eine ESP (ef00)
|
- Windows ist enger gefasst und verlangt MBR mit BIOS oder GPT mit UEFI.
gdisk
gdisk gehört zum Paket gdisk und arbeitet nicht auf libparted auf, sondern bringt eigene Module mit. Es ist interaktiv und erwartet einzelne Tastendrücke.
Installation
# apt install gdisk
Auf Rocky Linux und anderen RHEL-Derivaten:
# dnf install gdisk
Aufruf
# gdisk /dev/sdb GPT fdisk (gdisk) version 1.0.9 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries in memory. Command (? for help):
- Der Partition table scan ist die wichtigste Zeile beim Start: Er sagt, was gdisk auf der Platte vorgefunden hat.
- Findet gdisk nur einen MBR, bietet es an, ihn im Speicher nach GPT umzuwandeln. Geschrieben wird auch dann erst mit
w.
Das Hauptmenü
| Taste | Wirkung |
|---|---|
? |
Hilfe zum aktuellen Menü |
p |
Partitionstabelle anzeigen |
l |
bekannte Partitionstypen auflisten |
n |
neue Partition anlegen |
d |
Partition löschen |
t |
Typcode einer Partition ändern |
c |
Namen einer Partition ändern |
i |
Details zu einer Partition |
s |
Partitionen sortieren |
b |
GPT-Daten in eine Datei sichern |
o |
neue, leere GPT anlegen |
v |
Platte prüfen |
r |
Menü für Reparatur und Umwandlung |
x |
Expertenmenü |
w |
schreiben und beenden |
q |
beenden, ohne zu schreiben |
- Häufige Verwechslung:
pzeigt die Partitionstabelle,llistet die Typen. Beifdiskist es genauso.
Die Partitionstabelle anzeigen
Command (? for help): p Disk /dev/sdb: 2097152 sectors, 1024.0 MiB Model: QEMU HARDDISK Sector size (logical/physical): 512/512 bytes Disk identifier (GUID): 8F3C1A2E-4B77-4E1D-9C05-2A6E7B1D4F80 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 2097118 Partitions will be aligned on 2048-sector boundaries Total free space is 2014 sectors (1007.0 KiB) Number Start (sector) End (sector) Size Code Name 1 2048 1050623 512.0 MiB 8300 Linux filesystem 2 1050624 2097118 511.0 MiB 8E00 Linux LVM
- First usable sector is 34 – davor liegen Protective MBR, Header und Tabelle.
- last usable sector endet vor dem Plattenende, weil dort die Sicherung liegt.
- Partitions will be aligned on 2048-sector boundaries – die Ausrichtung auf 1 MiB, genau wie bei fdisk.
Eine Partition anlegen
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-2097118, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-2097118, default = 2097118) or {+-}size{KMGTP}: +512M
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
- Die Vorgaben lassen sich mit der Eingabetaste übernehmen. Der Vorschlag für den ersten Sektor ist immer der nächste ausgerichtete freie Sektor, nicht 34.
- Die Größe gibt man als
+512Moder+20Gan. - Der Typ wird gleich beim Anlegen abgefragt – anders als bei fdisk, wo man ihn nachträglich mit
tsetzt.
Typ und Name ändern
Command (? for help): t Partition number (1-2): 2 Current type is 8300 (Linux filesystem) Hex code or GUID (L to show codes, Enter = 8300): 8e00 Changed type of partition to 'Linux LVM'
Command (? for help): c Partition number (1-2): 1 Enter name: system
- Der Name ist ein reines Etikett in der Tabelle. Er hat nichts mit dem Label eines Dateisystems zu tun.
Prüfen
Command (? for help): v No problems found. 2014 free sectors (1007.0 KiB) available in 2 segments, the largest of which is 2014 sectors (1007.0 KiB) in size.
vvergleicht primäre und gesicherte Strukturen, prüft die CRC32-Summen und meldet Überlappungen.
Sichern
Command (? for help): b Enter backup file: /root/sdb-gpt.bin The operation has completed successfully.
- Die Datei enthält Protective MBR, Header und Partitionstabelle. Sie gehört auf ein anderes Medium.
- Zurückgeladen wird sie im Reparaturmenü mit
l.
Schreiben oder verwerfen
Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): Y OK; writing new GUID partition table (GPT) to /dev/sdb. The operation has completed successfully.
Ohne Schreiben:
Command (? for help): q
- Bis zum
wpassiert auf der Platte nichts. Alle Änderungen stehen im Arbeitsspeicher.
Reparatur: das Menü r
Abbildung 3: Wege im Reparaturmenü
Command (? for help): r Recovery/transformation command (? for help): ?
| Taste | Wirkung |
|---|---|
b |
Sicherungs-Header verwenden und die primären Daten daraus aufbauen |
c |
Sicherungstabelle laden und die primäre Tabelle daraus aufbauen |
d |
primären Header verwenden und die Sicherung daraus aufbauen |
e |
primäre Tabelle laden und die Sicherung daraus aufbauen |
l |
Partitionsdaten aus einer Sicherungsdatei laden |
f |
vorhandenen MBR laden und daraus eine frische GPT bauen |
g |
GPT in einen MBR umwandeln und beenden |
h |
Hybrid-MBR erzeugen |
o |
Daten des Protective MBR anzeigen |
m |
zurück ins Hauptmenü |
- Die Richtung der Buchstaben ist der Knackpunkt:
bundcreparieren nach vorne aus der Sicherung,dundereparieren nach hinten aus den primären Daten. hist mit Vorsicht zu genießen. Ein Hybrid-MBR hält dieselbe Platte gleichzeitig für MBR- und GPT-partitioniert und ist eine dauerhafte Fehlerquelle.- Nach jedem Eingriff erst
v, dannw.
Das Expertenmenü x
| Taste | Wirkung |
|---|---|
a |
Attribut-Bits einer Partition setzen |
c |
Partitions-GUID ändern |
g |
GUID der Platte ändern |
f |
alle GUIDs neu zufällig erzeugen |
d |
eingestellten Ausrichtungswert anzeigen |
l |
Ausrichtungswert setzen |
e |
Sicherungsstrukturen ans Plattenende verschieben |
n |
neuen Protective MBR erzeugen |
s |
Größe der Partitionstabelle ändern |
z |
GPT-Strukturen zerstören und beenden |
m |
zurück ins Hauptmenü |
fist wichtig nach dem Klonen einer Platte: Sonst tragen Original und Kopie dieselben GUIDs, und das System greift auf die falsche zu.ebraucht man, wenn eine Platte oder ein LUN nachträglich vergrößert wurde – die Sicherung liegt dann nicht mehr am Ende.zlöscht die GPT vollständig. Kein Rückgängig.
Die anderen Programme des Pakets
| Programm | Zweck |
|---|---|
gdisk |
der interaktive Editor |
cgdisk |
dieselbe Funktion mit Menüführung im Terminal |
sgdisk |
für Skripte, alle Aktionen als Kommandozeilenoptionen |
fixparts |
repariert MBR-Platten, etwa fälschlich als GPT markierte |


