Gdisk: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
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]].
+
*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.
  
Für die Bearbeitung einer Partitionstabelle nach DOS/MBR-Schema steht das Programmpaket '''fdisk''' zur Verfügung.
+
GPT behebt alle drei Punkte.
  
== Installation ==
+
==Aufbau einer GPT-Platte==
Das Programmpaket ist bei Ubuntu in jeder Standard-Installation bereits vorhanden.
 
  
=== Installation aus den Paketquellen ===
+
{{#drawio:gpt-1}}
Es kann direkt aus den offiziellen Paketquellen installiert werden:
+
''Abbildung 1: Aufbau einer GPT-Platte''
<pre>
 
sudo apt-get install gdisk
 
</pre>
 
  
== Bedienung ==
+
{| class="wikitable"
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.
+
! Bereich !! Lage !! Inhalt
 +
|-
 +
| Protective MBR || LBA 0 || Ein einziger Eintrag vom Typ <code>0xEE</code> ü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
 +
|}
  
=== Syntax ===
+
===Der Protective MBR===
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:
+
*Er 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>.
  
'''Hauptmenü'''
+
===Die doppelte Ablage===
<pre>
 
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'''
+
*Header und Partitionstabelle liegen am Anfang und am Ende der Platte.
<pre>
+
*Beide sind durch CRC32-Prüfsummen abgesichert. gdisk erkennt beim Start, welche der beiden Kopien beschädigt ist.
Taste  Beschreibung
+
*Aus der jeweils intakten Seite lässt sich die andere wiederherstellen (siehe unten).
?  Ausgabe eines Hilfetextes der im aktuellen Menü zur Verfügung stehenden Kommandos.
 
b  Ändern der Zahl der Speicherbereiche für Backups.
 
c  Ändern der Beschreibung einer Partition.
 
d  Löschen einer Partition.
 
e  Expertenoptionen.
 
f  Festlegen des MBR-Datenbereichs.
 
g  Ändern der Disk-Identifikations-GUID.
 
h  Ändern der Partition-GUID.
 
i  Ändern der Beschreibung in der Tabelle der Disk-Identifikations-GUID.
 
l  Ausgabe der Partitionstabelle auf dem Bildschirm.
 
m  Anzeigen dieses Menüs.
 
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"'''
+
==Der Partitionseintrag==
<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 ==
+
{{#drawio:gpt-2}}
* [http://www.rodsbooks.com/gdisk/ Offizielle Website von gdisk] (englisch)
+
''Abbildung 2: Aufbau eines Eintrags in der Partitionstabelle''
* [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)
 
  
 +
{| class="wikitable"
 +
! 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 <code>PARTUUID</code> in <code>/etc/fstab</code> oder 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.
 +
 +
{| 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
 +
|}
 +
 +
*Die vollständige Liste zeigt im Programm die Taste <code>l</code>.
 +
*<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 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:
 +
 +
{| 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>)
 +
|}
 +
 +
*Windows ist enger gefasst und verlangt MBR mit BIOS oder GPT mit UEFI.
 +
 +
==gdisk==
 +
 +
<code>gdisk</code> 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 <code>w</code>.
 +
 +
===Das Hauptmenü===
 +
 +
{| 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
 +
|}
 +
 +
*Häufige Verwechslung: <code>p</code> zeigt die Partitionstabelle, <code>l</code> listet die '''Typen'''. Bei <code>fdisk</code> ist 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 <code>+512M</code> oder <code>+20G</code> an.
 +
*Der Typ wird gleich beim Anlegen abgefragt – anders als bei fdisk, wo man ihn nachträglich mit <code>t</code> setzt.
 +
 +
===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.
 +
 +
*<code>v</code> vergleicht 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 <code>l</code>.
 +
 +
===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 <code>w</code> passiert auf der Platte nichts. Alle Änderungen stehen im Arbeitsspeicher.
 +
 +
==Reparatur: das Menü r==
 +
 +
{{#drawio:gpt-3}}
 +
''Abbildung 3: Wege im Reparaturmenü''
 +
 +
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ü
 +
|}
 +
 +
*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.
 +
*<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==
 +
 +
{| 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>f</code> ist wichtig nach dem Klonen einer Platte: Sonst tragen Original und Kopie dieselben GUIDs, und das System greift auf die falsche zu.
 +
*<code>e</code> braucht man, wenn eine Platte oder ein LUN nachträglich vergrößert wurde – die Sicherung liegt dann nicht mehr am Ende.
 +
*<code>z</code> löscht die GPT vollständig. Kein 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
 +
|}
 +
=sgdisk=
 
*[[sgdisk]]
 
*[[sgdisk]]

Version vom 19. August 2026, 16:36 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

  • 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 fdisk auf einer GPT-Platte den Typ ee.

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 PARTUUID in /etc/fstab oder 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.
  • ef02 hat 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: p zeigt die Partitionstabelle, l listet die Typen. Bei fdisk ist 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 +512M oder +20G an.
  • Der Typ wird gleich beim Anlegen abgefragt – anders als bei fdisk, wo man ihn nachträglich mit t setzt.

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.
  • v vergleicht 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 w passiert 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: b und c reparieren nach vorne aus der Sicherung, d und e reparieren nach hinten aus den primären Daten.
  • 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

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ü
  • f ist wichtig nach dem Klonen einer Platte: Sonst tragen Original und Kopie dieselben GUIDs, und das System greift auf die falsche zu.
  • e braucht man, wenn eine Platte oder ein LUN nachträglich vergrößert wurde – die Sicherung liegt dann nicht mehr am Ende.
  • z lö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

sgdisk