Gdisk: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
=gdisk=
+
Die '''GUID Partition Table''' (GPT) hat den Master Boot Record als Partitionsschema abgelöst. Bearbeitet wird sie mit '''gdisk''', dem Gegenstück zu <code>fdisk</code>. Der MBR und das Werkzeug <code>fdisk</code> sind in einem eigenen Artikel beschrieben.
  
Das Paket '''gdisk''' (fdisk für GPT) enthält Kommandozeilen-Programme zur Partitionierung von Datenträgern mit GUID Partitionstabelle (GPT). Dabei werden eigenständige Programm-Module eingesetzt, die nicht auf libparted aufsetzen. (GUID ist ein Synonym für UUID, solche Bezeichner dienen als Bezeichner für Typen und als individuelle Bezeichner der Partitionen.)
+
==Warum GPT==
  
Die Auswahl des Schemas für die Partitionierung – bei PC in der Regel entweder das alte DOS/MBR-Schema oder das modernere GPT-Schema – und die Auswahl der Boot-Methode (Bios oder UEFI) sind grundsätzlich voneinander unabhängige Entscheidungen. Ubuntu kann mit allen vier möglichen Kombinationen arbeiten. MS Windows unterstützt nach gewollter Einschränkung seiner Entwickler jedoch nur die beiden Kombinationen DOS/MBR-Schema mit Start nach alter BIOS-Boot-Spezifikation und GPT-Schema mit Start nach UEFI-Spezifikation. Zu den Besonderheiten beim Start per GRUB siehe den Artikel [[GRUB 2/Grundlagen]].
+
Der MBR hat drei Grenzen, an denen GPT ansetzt. Anfang und Länge einer Partition sind je 32 Bit breit; bei 512-Byte-Sektoren ergibt das 2 TiB als größte adressierbare Platte. Der MBR bietet nur vier Einträge, alles darüber hinaus geht über die Krücke der erweiterten Partition. Und er kennt weder Prüfsummen noch eine zweite Kopie: ist der erste Sektor beschädigt, ist die Aufteilung weg. GPT behebt alle drei Punkte.
  
Für die Bearbeitung einer Partitionstabelle nach DOS/MBR-Schema steht das Programmpaket '''fdisk''' zur Verfügung.
+
==Aufbau einer GPT-Platte==
  
== Installation ==
+
{{#drawio:gpt-1}}
Das Programmpaket ist bei Ubuntu in jeder Standard-Installation bereits vorhanden.
+
''Abbildung 1: Aufbau einer GPT-Platte''
  
=== Installation aus den Paketquellen ===
+
{| class="wikitable"
Es kann direkt aus den offiziellen Paketquellen installiert werden:
+
! Bereich !! Lage !! Inhalt
<pre>
+
|-
sudo apt-get install gdisk
+
| Protective MBR || LBA 0 || Ein einziger Eintrag vom Typ <code>0xEE</code> über die gesamte Platte
</pre>
+
|-
 +
| 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
 +
|}
  
== Bedienung ==
+
Der '''Protective MBR''' sorgt dafür, dass Werkzeuge, die nur MBR kennen, eine vollständig belegte Platte sehen und sie nicht versehentlich überschreiben. Deshalb meldet <code>fdisk</code> auf einer GPT-Platte den Typ <code>ee</code>.
Das Programm '''gdisk''' erstellt und bearbeitet GPTs; es legt darin Partitionen an, löscht, manipuliert oder listet sie. Es ist interaktiv und erwartet Tastendrucke für die Kommandos. Die Ausführung und Benutzung erfolgt immer mit Root-Rechten im Terminal.
 
  
=== Syntax ===
+
Header und Partitionstabelle liegen am Anfang '''und''' am Ende der Platte, beide durch CRC32 abgesichert. gdisk erkennt beim Start, welche Kopie beschädigt ist, und stellt aus der intakten Seite die andere wieder her.
Beim Aufruf muss immer ein zu bearbeitender Datenträger angegeben werden:
 
<pre>
 
sudo gdisk DEVICE
 
</pre>
 
  
Die Kommandos sind auf drei Menüs verteilt. In jedem Menü kann man durch einfachen Tastendruck u.a. folgende Aktionen veranlassen:
+
==Der Partitionseintrag==
  
'''Hauptmenü'''
+
{{#drawio:gpt-2}}
<pre>
+
''Abbildung 2: Aufbau eines Eintrags in der Partitionstabelle''
Taste  Beschreibung
 
?  Ausgabe eines Hilfetextes der im aktuellen Menü zur Verfügung stehenden Kommandos.
 
l  Ausgabe der Partitionstabelle auf dem Bildschirm.
 
o  Schreiben einer neuen, leeren GPT.
 
q  Verlassen von gdisk ohne zu schreiben (Beenden).
 
r  Reparatur von Beschädigungen der GPT.
 
t  Ändern des Partitionstyps.
 
w  Schreiben der Partitionstabelle und Verlassen von gdisk.
 
x  Eingabe in den Expertenmodus.
 
</pre>
 
  
'''Expertemodus'''
+
{| class="wikitable"
<pre>
+
! Byte !! Länge !! Inhalt
Taste  Beschreibung
+
|-
?  Ausgabe eines Hilfetextes der im aktuellen Menü zur Verfügung stehenden Kommandos.
+
| 0–15 || 16 || Typ-GUID – wofür die Partition gedacht ist
b  Ändern der Zahl der Speicherbereiche für Backups.
+
|-
c  Ändern der Beschreibung einer Partition.
+
| 16–31 || 16 || Partitions-GUID – bezeichnet genau diese eine Partition
d  Löschen einer Partition.
+
|-
e  Expertenoptionen.
+
| 32–39 || 8 || erster LBA
f  Festlegen des MBR-Datenbereichs.
+
|-
g  Ändern der Disk-Identifikations-GUID.
+
| 40–47 || 8 || letzter LBA
h  Ändern der Partition-GUID.
+
|-
i  Ändern der Beschreibung in der Tabelle der Disk-Identifikations-GUID.
+
| 48–55 || 8 || Attribute als Bitflags
l  Ausgabe der Partitionstabelle auf dem Bildschirm.
+
|-
m  Anzeigen dieses Menüs.
+
| 56–127 || 72 || Name der Partition, 36 Zeichen in UTF-16
n  Erzeugen einer neuen Partition.
+
|}
o  Anzeige von Informationen zur Partitionstabelle.
 
p  Anzeige der Partitionsnamen.
 
q  Verlassen des Expertenmodus.
 
r  Reparatur von Beschädigungen der GPT.
 
s  Ändern der Größe einer Partition.
 
t  Ändern des Partitionstyps.
 
u  Ändern der Einheit zur Größenangabe.
 
v  Verifikation und Reparatur der GPT.
 
w  Schreiben der Partitionstabelle und Verlassen von gdisk.
 
x  Extra-Funktionen (Expertenoptionen).
 
z  Rückgängigmachen der zuletzt vorgenommenen Aktion.
 
</pre>
 
  
'''Expertemodus, Option "g"'''
+
Die Partitions-GUID wird beim Anlegen zufällig erzeugt und taucht als <code>PARTUUID</code> in <code>/etc/fstab</code> oder der Kernel-Kommandozeile auf. Erster und letzter LBA sind 64 Bit breit, damit fällt die 2-TiB-Grenze weg. Erweiterte und logische Partitionen gibt es nicht mehr – alle Einträge sind gleichwertig.
<pre>
 
Taste  Beschreibung
 
?  Ausgabe eines Hilfetextes der im aktuellen Menü zur Verfügung stehenden Kommandos.
 
i  Zufallsgenerierte GUID erzeugen und anzeigen.
 
r  Die Partition-GUIDs aller Partitionen zur Disk-Identifikations-GUIDs zuweisen.
 
s  Ändern der Sicherheitskopie-Disk-Identifikations-GUIDs zur Disk-Identifikations-GUIDs.
 
u  GUID-Partitionstabelle umformatieren (Macht nur bei Bedarf Sinn).
 
v  Verifikation und Reparatur der GPT.
 
w  Schreiben der Partitionstabelle und Verlassen von gdisk.
 
z  Rückgängigmachen der zuletzt vorgenommenen Aktion.
 
</pre>
 
  
== Weblinks ==
+
===Wichtige Typcodes===
* [http://www.rodsbooks.com/gdisk/ Offizielle Website von gdisk] (englisch)
 
* [http://www.rodsbooks.com/gdisk/gdisk.html Dokumentation] (englisch)
 
* [http://en.wikipedia.org/wiki/GUID_Partition_Table Wikipediaartikel über GPT] (englisch)
 
* [http://en.wikipedia.org/wiki/GUID_Partition_Table#Master_boot_record_.28MBR.29 Wikipediaartikel über die Verwendung von MBR oder GPT] (englisch)
 
  
*[[sgdisk]]
+
gdisk zeigt die 16 Byte lange Typ-GUID als vierstelligen Kurzcode an. <code>ef02</code> hat im MBR keine Entsprechung: diese kleine Partition ohne Dateisystem nimmt die zweite Stufe von GRUB auf, wenn eine GPT-Platte per BIOS startet.
 +
 
 +
{| class="wikitable"
 +
! 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
 +
|}
 +
 
 +
==Partitionsschema und Startverfahren==
 +
 
 +
Das Partitionsschema und die Art, wie der Rechner startet, sind zwei unabhängige Entscheidungen. Linux kommt mit allen vier Kombinationen zurecht; Windows verlangt MBR mit BIOS oder GPT mit UEFI.
 +
 
 +
{| class="wikitable"
 +
! !! BIOS !! UEFI
 +
|-
 +
| MBR || der klassische Fall || möglich, unüblich
 +
|-
 +
| GPT || braucht eine BIOS boot partition (<code>ef02</code>) || der Normalfall, braucht eine ESP (<code>ef00</code>)
 +
|}
 +
 
 +
==gdisk installieren==
 +
 
 +
<code>gdisk</code> gehört zum gleichnamigen Paket und arbeitet nicht auf libparted auf, sondern bringt eigene Module mit. Es ist interaktiv und erwartet einzelne Tastendrücke.
 +
 
 +
=gdisk installieren (Debian/Ubuntu)=
 +
*apt install gdisk
 +
 
 +
=gdisk installieren (Rocky/RHEL)=
 +
*dnf install gdisk
 +
 
 +
==gdisk aufrufen==
 +
 
 +
Beim Aufruf steht der Datenträger dahinter. Die wichtigste Zeile beim Start ist der ''Partition table scan'': er sagt, was gdisk vorgefunden hat. Findet gdisk nur einen MBR, bietet es an, ihn im Speicher nach GPT umzuwandeln – geschrieben wird auch dann erst mit <code>w</code>.
 +
 
 +
=Platte mit gdisk öffnen=
 +
*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):
 +
 
 +
===Das Hauptmenü===
 +
 
 +
Solange nicht mit <code>w</code> geschrieben wird, steht alles nur im Arbeitsspeicher. Häufige Verwechslung: <code>p</code> zeigt die Partitionstabelle, <code>l</code> listet die '''Typen''' – bei fdisk ist es genauso.
 +
 
 +
{| class="wikitable"
 +
! Taste !! Wirkung
 +
|-
 +
| <code>?</code> || Hilfe zum aktuellen Menü
 +
|-
 +
| <code>p</code> || Partitionstabelle anzeigen
 +
|-
 +
| <code>l</code> || bekannte Partitionstypen auflisten
 +
|-
 +
| <code>n</code> || neue Partition anlegen
 +
|-
 +
| <code>d</code> || Partition löschen
 +
|-
 +
| <code>t</code> || Typcode einer Partition ändern
 +
|-
 +
| <code>c</code> || Namen einer Partition ändern
 +
|-
 +
| <code>i</code> || Details zu einer Partition
 +
|-
 +
| <code>s</code> || Partitionen sortieren
 +
|-
 +
| <code>b</code> || GPT-Daten in eine Datei sichern
 +
|-
 +
| <code>o</code> || neue, leere GPT anlegen
 +
|-
 +
| <code>v</code> || Platte prüfen
 +
|-
 +
| <code>r</code> || Menü für Reparatur und Umwandlung
 +
|-
 +
| <code>x</code> || Expertenmenü
 +
|-
 +
| <code>w</code> || schreiben und beenden
 +
|-
 +
| <code>q</code> || beenden, ohne zu schreiben
 +
|}
 +
 
 +
====Die Partitionstabelle anzeigen====
 +
 
 +
<code>p</code> zeigt die Tabelle und den Kopf mit den GPT-Kenndaten.
 +
 
 +
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. Der ''last usable sector'' endet vor dem Plattenende, weil dort die Sicherung liegt.
 +
 
 +
====Eine Partition anlegen====
 +
 
 +
Nach <code>n</code> werden Nummer, Grenzen und Typ abgefragt. 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. Anders als bei fdisk wird der Typ gleich beim Anlegen abgefragt.
 +
 
 +
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'
 +
 
 +
====Typ und Name ändern====
 +
 
 +
<code>t</code> setzt den Typcode, <code>c</code> den Namen. Der Name ist ein reines Etikett in der Tabelle und hat nichts mit dem Label eines Dateisystems zu tun.
 +
 
 +
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
 +
 
 +
====Prüfen====
 +
 
 +
<code>v</code> vergleicht primäre und gesicherte Strukturen, prüft die CRC32-Summen und meldet Überlappungen.
 +
 
 +
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.
 +
 
 +
====Sichern====
 +
 
 +
<code>b</code> schreibt Protective MBR, Header und Partitionstabelle in eine Datei. Die gehört auf ein anderes Medium; zurückgeladen wird sie im Reparaturmenü mit <code>l</code>.
 +
 
 +
Command (? for help): b
 +
Enter backup file: /root/sdb-gpt.bin
 +
The operation has completed successfully.
 +
 
 +
====Schreiben oder verwerfen====
 +
 
 +
<code>w</code> schreibt die GPT – mit Sicherheitsabfrage, weil vorhandene Partitionen überschrieben werden.
 +
 
 +
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.
 +
 
 +
<code>q</code> beendet ohne zu schreiben. Bis zum <code>w</code> passiert auf der Platte nichts.
 +
 
 +
Command (? for help): q
 +
 
 +
==Reparatur: das Menü r==
 +
 
 +
{{#drawio:gpt-3}}
 +
''Abbildung 3: Wege im Reparaturmenü''
 +
 
 +
<code>r</code> öffnet das Menü für Reparatur und Umwandlung. Die Richtung der Buchstaben ist der Knackpunkt: <code>b</code> und <code>c</code> reparieren '''nach vorne''' aus der Sicherung, <code>d</code> und <code>e</code> reparieren '''nach hinten''' aus den primären Daten.
 +
 
 +
Command (? for help): r
 +
 +
Recovery/transformation command (? for help): ?
 +
 
 +
{| class="wikitable"
 +
! Taste !! Wirkung
 +
|-
 +
| <code>b</code> || Sicherungs-Header verwenden und die primären Daten daraus aufbauen
 +
|-
 +
| <code>c</code> || Sicherungstabelle laden und die primäre Tabelle daraus aufbauen
 +
|-
 +
| <code>d</code> || primären Header verwenden und die Sicherung daraus aufbauen
 +
|-
 +
| <code>e</code> || primäre Tabelle laden und die Sicherung daraus aufbauen
 +
|-
 +
| <code>l</code> || Partitionsdaten aus einer Sicherungsdatei laden
 +
|-
 +
| <code>f</code> || vorhandenen MBR laden und daraus eine frische GPT bauen
 +
|-
 +
| <code>g</code> || GPT in einen MBR umwandeln und beenden
 +
|-
 +
| <code>h</code> || Hybrid-MBR erzeugen
 +
|-
 +
| <code>o</code> || Daten des Protective MBR anzeigen
 +
|-
 +
| <code>m</code> || zurück ins Hauptmenü
 +
|}
 +
 
 +
<code>h</code> ist 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 <code>v</code>, dann <code>w</code>.
 +
 
 +
==Das Expertenmenü x==
 +
 
 +
<code>x</code> öffnet die Expertenfunktionen. Zwei davon braucht man in der Praxis regelmäßig: <code>f</code> würfelt nach dem Klonen einer Platte alle GUIDs neu, sonst tragen Original und Kopie dieselben. <code>e</code> verschiebt die Sicherung ans Plattenende, nötig nach dem Vergrößern einer Platte oder eines LUN.
 +
 
 +
{| class="wikitable"
 +
! Taste !! Wirkung
 +
|-
 +
| <code>a</code> || Attribut-Bits einer Partition setzen
 +
|-
 +
| <code>c</code> || Partitions-GUID ändern
 +
|-
 +
| <code>g</code> || GUID der Platte ändern
 +
|-
 +
| <code>f</code> || alle GUIDs neu zufällig erzeugen
 +
|-
 +
| <code>d</code> || eingestellten Ausrichtungswert anzeigen
 +
|-
 +
| <code>l</code> || Ausrichtungswert setzen
 +
|-
 +
| <code>e</code> || Sicherungsstrukturen ans Plattenende verschieben
 +
|-
 +
| <code>n</code> || neuen Protective MBR erzeugen
 +
|-
 +
| <code>s</code> || Größe der Partitionstabelle ändern
 +
|-
 +
| <code>z</code> || GPT-Strukturen zerstören und beenden
 +
|-
 +
| <code>m</code> || zurück ins Hauptmenü
 +
|}
 +
 
 +
<code>z</code> löscht die GPT vollständig, ohne Rückgängig.
 +
 
 +
==Die anderen Programme des Pakets==
 +
 
 +
{| class="wikitable"
 +
! Programm !! Zweck
 +
|-
 +
| <code>gdisk</code> || der interaktive Editor
 +
|-
 +
| <code>cgdisk</code> || dieselbe Funktion mit Menüführung im Terminal
 +
|-
 +
| <code>sgdisk</code> || für Skripte, alle Aktionen als Kommandozeilenoptionen
 +
|-
 +
| <code>fixparts</code> || repariert MBR-Platten, etwa fälschlich als GPT markierte
 +
|}

Aktuelle Version vom 19. August 2026, 16:54 Uhr

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

Der MBR hat drei Grenzen, an denen GPT ansetzt. Anfang und Länge einer Partition sind je 32 Bit breit; bei 512-Byte-Sektoren ergibt das 2 TiB als größte adressierbare Platte. Der MBR bietet nur vier Einträge, alles darüber hinaus geht über die Krücke der erweiterten Partition. Und er kennt weder Prüfsummen noch eine 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 sorgt dafür, dass Werkzeuge, die nur MBR kennen, eine vollständig belegte Platte sehen und sie nicht versehentlich überschreiben. Deshalb meldet fdisk auf einer GPT-Platte den Typ ee.

Header und Partitionstabelle liegen am Anfang und am Ende der Platte, beide durch CRC32 abgesichert. gdisk erkennt beim Start, welche Kopie beschädigt ist, und stellt aus der intakten Seite die andere wieder her.

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 und taucht als PARTUUID in /etc/fstab oder der Kernel-Kommandozeile auf. Erster und letzter LBA sind 64 Bit breit, damit fällt die 2-TiB-Grenze weg. Erweiterte und logische Partitionen gibt es nicht mehr – alle Einträge sind gleichwertig.

Wichtige Typcodes

gdisk zeigt die 16 Byte lange Typ-GUID als vierstelligen Kurzcode an. ef02 hat im MBR keine Entsprechung: diese kleine Partition ohne Dateisystem nimmt die zweite Stufe von GRUB auf, wenn eine GPT-Platte per BIOS startet.

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

Partitionsschema und Startverfahren

Das Partitionsschema und die Art, wie der Rechner startet, sind zwei unabhängige Entscheidungen. Linux kommt mit allen vier Kombinationen zurecht; Windows verlangt MBR mit BIOS oder GPT mit UEFI.

BIOS UEFI
MBR der klassische Fall möglich, unüblich
GPT braucht eine BIOS boot partition (ef02) der Normalfall, braucht eine ESP (ef00)

gdisk installieren

gdisk gehört zum gleichnamigen Paket und arbeitet nicht auf libparted auf, sondern bringt eigene Module mit. Es ist interaktiv und erwartet einzelne Tastendrücke.

gdisk installieren (Debian/Ubuntu)

  • apt install gdisk

gdisk installieren (Rocky/RHEL)

  • dnf install gdisk

gdisk aufrufen

Beim Aufruf steht der Datenträger dahinter. Die wichtigste Zeile beim Start ist der Partition table scan: er sagt, was gdisk vorgefunden hat. Findet gdisk nur einen MBR, bietet es an, ihn im Speicher nach GPT umzuwandeln – geschrieben wird auch dann erst mit w.

Platte mit gdisk öffnen

  • 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):

Das Hauptmenü

Solange nicht mit w geschrieben wird, steht alles nur im Arbeitsspeicher. Häufige Verwechslung: p zeigt die Partitionstabelle, l listet die Typen – bei fdisk ist es genauso.

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

Die Partitionstabelle anzeigen

p zeigt die Tabelle und den Kopf mit den GPT-Kenndaten.

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. Der last usable sector endet vor dem Plattenende, weil dort die Sicherung liegt.

Eine Partition anlegen

Nach n werden Nummer, Grenzen und Typ abgefragt. 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. Anders als bei fdisk wird der Typ gleich beim Anlegen abgefragt.

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'

Typ und Name ändern

t setzt den Typcode, c den Namen. Der Name ist ein reines Etikett in der Tabelle und hat nichts mit dem Label eines Dateisystems zu tun.

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

Prüfen

v vergleicht primäre und gesicherte Strukturen, prüft die CRC32-Summen und meldet Überlappungen.

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.

Sichern

b schreibt Protective MBR, Header und Partitionstabelle in eine Datei. Die gehört auf ein anderes Medium; zurückgeladen wird sie im Reparaturmenü mit l.

Command (? for help): b
Enter backup file: /root/sdb-gpt.bin
The operation has completed successfully.

Schreiben oder verwerfen

w schreibt die GPT – mit Sicherheitsabfrage, weil vorhandene Partitionen überschrieben werden.

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.

q beendet ohne zu schreiben. Bis zum w passiert auf der Platte nichts.

Command (? for help): q

Reparatur: das Menü r

Abbildung 3: Wege im Reparaturmenü

r öffnet das Menü für Reparatur und Umwandlung. Die Richtung der Buchstaben ist der Knackpunkt: b und c reparieren nach vorne aus der Sicherung, d und e reparieren nach hinten aus den primären Daten.

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ü

h ist 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, dann w.

Das Expertenmenü x

x öffnet die Expertenfunktionen. Zwei davon braucht man in der Praxis regelmäßig: f würfelt nach dem Klonen einer Platte alle GUIDs neu, sonst tragen Original und Kopie dieselben. e verschiebt die Sicherung ans Plattenende, nötig nach dem Vergrößern einer Platte oder eines LUN.

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ü

z löscht die GPT vollständig, ohne 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