Sgdisk: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
== sgdisk ==
+
<code>sgdisk</code> erledigt dieselben Aufgaben wie <code>gdisk</code>, wird aber vollständig über Optionen gesteuert. Damit ist es das Werkzeug der Wahl für Skripte und für die automatisierte Installation.
  
Das Programm sgdisk führt die gleichen Aufgaben wie gdisk durch, wird aber komplett über mitgegebene Optionen gesteuert und ist in Skripten besser geeignet als gdisk.
+
==Achtung: sgdisk schreibt ohne Rückfrage==
  
'''Achtung!'''
+
*<code>sgdisk</code> kennt keinen Schreibbefehl. Eine im Arbeitsspeicher veränderte GPT wird beim Beenden des Programms '''automatisch''' auf den Datenträger geschrieben.
Bei der Beendigung schreibt sgdisk die GPT ohne Rückfrage auf den Datenträger!
+
*Ein falsch getippter Aufruf kann eine Platte unbrauchbar machen. Jeder Aufruf mit ändernden Optionen gehört vorher gelesen.
 +
*Zum gefahrlosen Ausprobieren gibt es <code>-P</code>: Damit wird alles berechnet und angezeigt, aber nichts geschrieben.
  
Das Programm kennt ~ im Gegensatz zu gdisk ~ keinen expliziten Schreibbefehl. Vielmehr wird eine eingelesene und dann im Arbeitsspeicher geänderte GPT bei der Beendigung des Programms automatisch auf den Datenträger geschrieben und bei falschem Einsatz wird dieser evtl. unbenutzbar. Der Aufruf von sgdisk mit Optionen, welche die GPT ändern, sollte gut überlegt werden.
+
# sgdisk -P -n 1:0:+512M /dev/sdb
  
Das Programm kennt aber ein Schreibverbot als Option ''-P''; mit dem Einsatz dieser Option entfällt generell das Schreiben einer veränderten GPT auf den Datenträger.
+
==Syntax==
  
=== Syntax ===
+
# sgdisk OPTIONEN DEVICE
Beim Aufruf muss immer ein zu bearbeitender Datenträger an der Stelle ''DEVICE'' angegeben werden:
 
  
sudo sgdisk OPTIONEN DEVICE
+
*Mehrere Optionen lassen sich in einem Aufruf kombinieren. Das ist der übliche Weg, weil dann nur einmal geschrieben wird:
  
Eine Erklärung aller Optionen mit ausführlicher Information liefern die Programmierer-Seiten, die Manpage des Programms sowie auszugsweise die folgenden Tabellen:
+
# sgdisk -n 1:0:+512M -t 1:8300 -c 1:system /dev/sdb
  
''man sgdisk''
+
*Die vollständige Beschreibung liefert die Handbuchseite:
  
=== Optionen ===
+
$ man sgdisk
  
==== sgdisk: Auswahl von Optionen ohne Veränderungen an einer GPT ====
+
==Optionen ohne Änderung an der GPT==
  
 
{| class="wikitable"
 
{| class="wikitable"
 +
! Option !! Lang !! Wirkung
 
|-
 
|-
! Option !! Beschreibung
+
| <code>-p</code> || <code>--print</code> || Partitionstabelle anzeigen
 
|-
 
|-
| ''-?'' || Ausgabe eines Hilfetextes der zur Verfügung stehenden Kommandos
+
| <code>-i PARTNUM</code> || <code>--info</code> || Einzelheiten zu einer Partition: GUIDs, Sektoren, Attribute, Name
 
|-
 
|-
| ''-a WERT'' || Alignment-Wert einstellen. WERT ist eine Anzahl von logischen Sektoren, z.B. 1024, 2048. Man benötigt diese Option bei der Bearbeitung einer GPT mit nicht der Vorgabe entsprechenden Partitionen bei der Anlage neuer Partitionen.
+
| <code>-L</code> || <code>--list-types</code> || bekannte Typcodes auflisten
 
|-
 
|-
| ''-b DATEINAME'' || Externe binäre Backup-Datei mit dem als DATEINAME angegebenem Namen der GPT des Datenträgers erzeugen. Inhalt: "Protective/Hybrid MBR", GPT-Header, GPT-Backup-Header, Feld mit Einträgen für Partitionen
+
| <code>-v</code> || <code>--verify</code> || Platte prüfen: Prüfsummen, Überlappungen, Lage der Sicherung
 
|-
 
|-
| ''-i PARTNUM'' || Detaillierte Informationen zur Partition PARTNUM anzeigen. (1 ≤ PARTNUM ≤ 128)
+
| <code>-D</code> || <code>--display-alignment</code> || eingestellten Ausrichtungswert anzeigen
 
|-
 
|-
| ''-L'' || Bekannte Partitionstypen (ID) und deren Bezeichnung (Name) auflisten.
+
| <code>-P</code> || <code>--pretend</code> || alles berechnen, aber nichts schreiben
 
|-
 
|-
| ''-p'' || Partitionstabelle anzeigen.
+
| <code>-?</code> || <code>--help</code> || Hilfetext
 +
|}
 +
 
 +
==Optionen mit Änderung an der GPT==
 +
 
 +
{| class="wikitable"
 +
! Option !! Lang !! Wirkung
 +
|-
 +
| <code>-o</code> || <code>--clear</code> || neue, leere GPT anlegen
 +
|-
 +
| <code>-n PARTNUM:ANFANG:ENDE</code> || <code>--new</code> || neue Partition anlegen
 +
|-
 +
| <code>-N PARTNUM</code> || <code>--largest-new</code> || Partition über den größten freien Bereich anlegen
 +
|-
 +
| <code>-d PARTNUM</code> || <code>--delete</code> || Partition löschen
 +
|-
 +
| <code>-t PARTNUM:TYPCODE</code> || <code>--typecode</code> || Typcode setzen
 +
|-
 +
| <code>-c PARTNUM:NAME</code> || <code>--change-name</code> || Namen der Partition setzen
 +
|-
 +
| <code>-A PARTNUM:AKTION:BIT</code> || <code>--attributes</code> || Attribut-Bits setzen, löschen oder anzeigen
 +
|-
 +
| <code>-u PARTNUM:GUID</code> || <code>--partition-guid</code> || GUID einer Partition setzen, <code>R</code> für zufällig
 +
|-
 +
| <code>-U GUID</code> || <code>--disk-guid</code> || GUID der Platte setzen, <code>R</code> für zufällig
 +
|-
 +
| <code>-G</code> || <code>--randomize-guids</code> || alle GUIDs neu erwürfeln
 +
|-
 +
| <code>-a WERT</code> || <code>--set-alignment</code> || Ausrichtung in Sektoren, Vorgabe 2048
 +
|-
 +
| <code>-s</code> || <code>--sort</code> || Einträge nach Anfangssektor sortieren
 +
|-
 +
| <code>-r P1:P2</code> || <code>--transpose</code> || zwei Partitionseinträge vertauschen
 +
|-
 +
| <code>-e</code> || <code>--move-second-header</code> || Sicherung ans Plattenende schieben
 +
|-
 +
| <code>-b DATEI</code> || <code>--backup</code> || GPT in eine Datei sichern
 +
|-
 +
| <code>-l DATEI</code> || <code>--load-backup</code> || GPT aus einer Datei zurückladen
 +
|-
 +
| <code>-R ZIEL</code> || <code>--replicate</code> || Partitionstabelle auf eine zweite Platte übertragen
 +
|-
 +
| <code>-g</code> || <code>--mbrtogpt</code> || vorhandenen MBR in eine GPT umwandeln
 +
|-
 +
| <code>-m</code> || <code>--gpttombr</code> || GPT in einen MBR umwandeln
 +
|-
 +
| <code>-h LISTE</code> || <code>--hybrid</code> || Hybrid-MBR erzeugen
 +
|-
 +
| <code>-z</code> || <code>--zap</code> || GPT-Strukturen zerstören
 +
|-
 +
| <code>-Z</code> || <code>--zap-all</code> || GPT '''und''' MBR zerstören
 +
|}
 +
 
 +
*<code>-g</code> löscht '''nicht''', sondern wandelt um. Zum Leeren einer Platte ist <code>-Z</code> gedacht.
 +
*<code>-e</code> setzt keine Partition aktiv, sondern verschiebt den Sicherungs-Header. Gebraucht wird das, nachdem eine Platte oder ein LUN vergrößert wurde.
 +
*<code>-h</code> erzeugt einen Hybrid-MBR. Der hält dieselbe Platte gleichzeitig für MBR- und GPT-partitioniert und ist eine dauerhafte Fehlerquelle – Finger weg, außer man weiß genau warum.
 +
*<code>-r</code> vertauscht zwei Einträge und macht keine Löschung rückgängig. Ein Rückgängig gibt es nicht.
 +
 
 +
==Eine Partition anlegen==
 +
 
 +
# sgdisk -n PARTNUM:ANFANG:ENDE /dev/sdb
 +
 
 +
{| class="wikitable"
 +
! Feld !! Bedeutung
 
|-
 
|-
| ''-P'' || Eine im Arbeitsspeicher veränderte GPT nicht auf den Datenträger schreiben.
+
| PARTNUM || Nummer des Eintrags, <code>0</code> nimmt den ersten freien
 +
|-
 +
| ANFANG || Startsektor, <code>0</code> nimmt den ersten freien ausgerichteten Sektor
 +
|-
 +
| ENDE || Endsektor, <code>0</code> nimmt den letzten verfügbaren; <code>+GRÖSSE</code> gibt die Länge an
 
|}
 
|}
  
==== sgdisk: Auswahl von Optionen mit Veränderungen an einer GPT ====
+
Damit ist die gebräuchliche Form:
 +
 
 +
# sgdisk -n 1:0:+512M /dev/sdb        512 MiB, Lage automatisch
 +
# sgdisk -n 2:0:+20G  /dev/sdb        20 GiB direkt dahinter
 +
# sgdisk -n 3:0:0    /dev/sdb        der ganze Rest
 +
 
 +
*Ohne <code>-t</code> bekommt die Partition den Typ 8300 (Linux filesystem).
 +
*Die Ausrichtung auf 2048 Sektoren, also 1 MiB, übernimmt sgdisk von selbst. Nur bei abweichenden Vorgaben braucht man <code>-a</code>.
 +
 
 +
==Typcodes setzen==
 +
 
 +
# sgdisk -t 1:ef00 /dev/sdb
 +
# sgdisk -t 2:8e00 /dev/sdb
  
 
{| class="wikitable"
 
{| class="wikitable"
 +
! Code !! Bedeutung
 +
|-
 +
| 8300 || Linux filesystem
 
|-
 
|-
! Option !! Beschreibung
+
| 8200 || Linux swap
 
|-
 
|-
| ''-n PARTNUM:ANFANG:ENDE'' || Neuen Eintrag für eine Partition an der bisher unbenutzten Stelle PARTNUM (1 ≤ PARTNUM ≤ 128) in der GPT anlegen. ANFANG und ENDE beschreiben die Grenzen der Partition. Details siehe: Anlegen einer Partition mit sgdisk.
+
| 8e00 || Linux LVM
 
|-
 
|-
| ''-c PARTNUM:BEZEICHNUNG'' || Bezeichnung für eine Partition PARTNUM (1 ≤ PARTNUM ≤ 128) angeben.
+
| fd00 || Linux RAID
 
|-
 
|-
| ''-t PARTNUM:PART-TYP'' || Partitionstyp für die Partition PARTNUM (1 ≤ PARTNUM ≤ 128) angeben. Dieses Kommando führt nicht zur Änderung der Größe oder Daten einer Partition!
+
| ef00 || EFI System Partition
 
|-
 
|-
| ''-u PARTNUM:NEUE-UUID'' || Neue UUID für eine Partition PARTNUM (1 ≤ PARTNUM ≤ 128) erwürfeln. Details siehe: UUID einer Partition ändern.
+
| ef02 || BIOS boot partition
 +
|}
 +
 
 +
Die vollständige Liste:
 +
 
 +
# sgdisk -L
 +
 
 +
==Attribute setzen==
 +
 
 +
# sgdisk -A PARTNUM:AKTION:BIT /dev/sdb
 +
 
 +
*Aktionen sind unter anderem <code>set</code>, <code>clear</code>, <code>toggle</code> und <code>show</code>.
 +
 
 +
{| class="wikitable"
 +
! Bit !! Bedeutung
 
|-
 
|-
| ''-e PARTNUM'' || Partition PARTNUM (1 ≤ PARTNUM ≤ 128) aktivieren (aktiv = Bootfähig).
+
| 0 || erforderliche Partition, nicht löschen
 
|-
 
|-
| ''-g'' || GPT und MBR löschen (siehe MBR-Partitionstabelle).
+
| 1 || vor EFI verbergen
 
|-
 
|-
| ''-h NUMMER'' || Hexadezimale Nummer NUMMER als Sektoranzahl des letzten Sektors der GPT setzen. Diese Option ist nötig, wenn der GPT-Header durch ein Backup überschrieben wurde und die Kopie nicht mit dem Original identisch ist. Ermöglicht die Reparatur des Schadens.
+
| 2 || legacy BIOS bootable
 
|-
 
|-
| ''-r'' || Löschen von Einträgen rückgängig machen: Versucht, gelöschte Einträge in der MBR-Partitionstabelle zu reaktivieren.
+
| 60 || nur lesen
 +
|-
 +
| 63 || kein Automount
 
|}
 
|}
  
=== Beispiele ===
+
# sgdisk -A 1:set:2 /dev/sdb          legacy BIOS bootable setzen
'''Anzeigen von Partitionen auf einem Datenträger'''
+
# sgdisk -A 1:show /dev/sdb          gesetzte Bits anzeigen
 +
 
 +
==Sichern und zurückspielen==
 +
 
 +
# sgdisk -b /root/sdb-gpt.bin /dev/sdb
 +
 
 +
*Die Datei enthält Protective MBR, Header, Sicherungs-Header und die Partitionseinträge. Sie gehört auf ein anderes Medium.
 +
 
 +
# sgdisk -l /root/sdb-gpt.bin /dev/sdb
  
sudo sgdisk -p /dev/sda
+
==Eine Partitionstabelle auf eine zweite Platte übertragen==
  
'''Anzeigen des Inhalts einer Partition auf einem Datenträger'''
+
Der klassische Fall vor dem Anlegen eines Verbunds aus zwei gleichen Platten:
  
sudo sgdisk -i 1 /dev/sda
+
# sgdisk -R /dev/sdc /dev/sdb
 +
# sgdisk -G /dev/sdc
  
'''Erzeugung eines Backup-Images einer mit GPT initialisierten Festplatte'''
+
*Der erste Aufruf überträgt die Tabelle von <code>/dev/sdb</code> auf <code>/dev/sdc</code>. Das '''Ziel steht vorn''', die Quelle hinten.
 +
*Der zweite Aufruf ist Pflicht: Ohne ihn tragen beide Platten dieselbe Platten-GUID und dieselben Partitions-GUIDs. Das System greift dann unter Umständen auf die falsche zu.
  
sudo sgdisk -b /mnt/gpt.img /dev/sda
+
==Eine Platte leeren==
  
'''Importieren einer GUID-Partitionstabelle aus einer externen Datei'''
+
# sgdisk -Z /dev/sdb
  
sudo sgdisk -l /mnt/gptbackup.dat /dev/sda
+
*<code>-Z</code> entfernt GPT und MBR, also auch die Sicherung am Plattenende.
 +
*<code>-z</code> lässt den MBR stehen.
 +
*Danach ist die Aufteilung weg. Die Nutzdaten stehen zwar noch auf der Platte, sind ohne Tabelle aber nicht mehr ansprechbar.
  
'''Ändern des Partitionsnamens einer GPT auf einem Datenträger'''
+
==Beispiele==
  
sudo sgdisk -c 1:"Hauptpartition" /dev/sda
+
Tabelle anzeigen:
  
'''Ändern des Partitionstyps einer GPT'''
+
# sgdisk -p /dev/sdb
  
sudo sgdisk -t 1:8300 /dev/sda
+
Einzelheiten zur ersten Partition:
  
'''Ändern der GUID einer Partition in einer GPT'''
+
# sgdisk -i 1 /dev/sdb
  
sudo sgdisk -L "Hauptpartition": /dev/sda
+
Eine Platte in einem Aufruf komplett einrichten:
  
'''Löschen eines Eintrags in einer GPT'''
+
# sgdisk -o \
 +
          -n 1:0:+512M -t 1:ef00 -c 1:EFI \
 +
          -n 2:0:+1G  -t 2:8300 -c 2:boot \
 +
          -n 3:0:0    -t 3:8e00 -c 3:lvm \
 +
          /dev/sdb
  
sudo sgdisk -d 1 /dev/sda
+
Vorher gefahrlos ansehen, was passieren würde:
  
'''Rückgängig machen von Löschungen'''
+
# sgdisk -P -o -n 1:0:+512M /dev/sdb
  
sudo sgdisk -r /dev/sda
+
Prüfen, was geworden ist:
  
=== Weitere Informationen ===
+
# sgdisk -v /dev/sdb
* Guided Partition Table (GPT)
+
# sgdisk -p /dev/sdb
* [https://de.wikipedia.org/wiki/GUID_Partition_Table GUID Partition Table (Wikipedia)]
 
* Manpage für gdisk
 
* Manpage für sgdisk
 

Version vom 19. August 2026, 16:43 Uhr

sgdisk erledigt dieselben Aufgaben wie gdisk, wird aber vollständig über Optionen gesteuert. Damit ist es das Werkzeug der Wahl für Skripte und für die automatisierte Installation.

Achtung: sgdisk schreibt ohne Rückfrage

  • sgdisk kennt keinen Schreibbefehl. Eine im Arbeitsspeicher veränderte GPT wird beim Beenden des Programms automatisch auf den Datenträger geschrieben.
  • Ein falsch getippter Aufruf kann eine Platte unbrauchbar machen. Jeder Aufruf mit ändernden Optionen gehört vorher gelesen.
  • Zum gefahrlosen Ausprobieren gibt es -P: Damit wird alles berechnet und angezeigt, aber nichts geschrieben.
# sgdisk -P -n 1:0:+512M /dev/sdb

Syntax

# sgdisk OPTIONEN DEVICE
  • Mehrere Optionen lassen sich in einem Aufruf kombinieren. Das ist der übliche Weg, weil dann nur einmal geschrieben wird:
# sgdisk -n 1:0:+512M -t 1:8300 -c 1:system /dev/sdb
  • Die vollständige Beschreibung liefert die Handbuchseite:
$ man sgdisk

Optionen ohne Änderung an der GPT

Option Lang Wirkung
-p --print Partitionstabelle anzeigen
-i PARTNUM --info Einzelheiten zu einer Partition: GUIDs, Sektoren, Attribute, Name
-L --list-types bekannte Typcodes auflisten
-v --verify Platte prüfen: Prüfsummen, Überlappungen, Lage der Sicherung
-D --display-alignment eingestellten Ausrichtungswert anzeigen
-P --pretend alles berechnen, aber nichts schreiben
-? --help Hilfetext

Optionen mit Änderung an der GPT

Option Lang Wirkung
-o --clear neue, leere GPT anlegen
-n PARTNUM:ANFANG:ENDE --new neue Partition anlegen
-N PARTNUM --largest-new Partition über den größten freien Bereich anlegen
-d PARTNUM --delete Partition löschen
-t PARTNUM:TYPCODE --typecode Typcode setzen
-c PARTNUM:NAME --change-name Namen der Partition setzen
-A PARTNUM:AKTION:BIT --attributes Attribut-Bits setzen, löschen oder anzeigen
-u PARTNUM:GUID --partition-guid GUID einer Partition setzen, R für zufällig
-U GUID --disk-guid GUID der Platte setzen, R für zufällig
-G --randomize-guids alle GUIDs neu erwürfeln
-a WERT --set-alignment Ausrichtung in Sektoren, Vorgabe 2048
-s --sort Einträge nach Anfangssektor sortieren
-r P1:P2 --transpose zwei Partitionseinträge vertauschen
-e --move-second-header Sicherung ans Plattenende schieben
-b DATEI --backup GPT in eine Datei sichern
-l DATEI --load-backup GPT aus einer Datei zurückladen
-R ZIEL --replicate Partitionstabelle auf eine zweite Platte übertragen
-g --mbrtogpt vorhandenen MBR in eine GPT umwandeln
-m --gpttombr GPT in einen MBR umwandeln
-h LISTE --hybrid Hybrid-MBR erzeugen
-z --zap GPT-Strukturen zerstören
-Z --zap-all GPT und MBR zerstören
  • -g löscht nicht, sondern wandelt um. Zum Leeren einer Platte ist -Z gedacht.
  • -e setzt keine Partition aktiv, sondern verschiebt den Sicherungs-Header. Gebraucht wird das, nachdem eine Platte oder ein LUN vergrößert wurde.
  • -h erzeugt einen Hybrid-MBR. Der hält dieselbe Platte gleichzeitig für MBR- und GPT-partitioniert und ist eine dauerhafte Fehlerquelle – Finger weg, außer man weiß genau warum.
  • -r vertauscht zwei Einträge und macht keine Löschung rückgängig. Ein Rückgängig gibt es nicht.

Eine Partition anlegen

# sgdisk -n PARTNUM:ANFANG:ENDE /dev/sdb
Feld Bedeutung
PARTNUM Nummer des Eintrags, 0 nimmt den ersten freien
ANFANG Startsektor, 0 nimmt den ersten freien ausgerichteten Sektor
ENDE Endsektor, 0 nimmt den letzten verfügbaren; +GRÖSSE gibt die Länge an

Damit ist die gebräuchliche Form:

# sgdisk -n 1:0:+512M /dev/sdb        512 MiB, Lage automatisch
# sgdisk -n 2:0:+20G  /dev/sdb        20 GiB direkt dahinter
# sgdisk -n 3:0:0     /dev/sdb        der ganze Rest
  • Ohne -t bekommt die Partition den Typ 8300 (Linux filesystem).
  • Die Ausrichtung auf 2048 Sektoren, also 1 MiB, übernimmt sgdisk von selbst. Nur bei abweichenden Vorgaben braucht man -a.

Typcodes setzen

# sgdisk -t 1:ef00 /dev/sdb
# sgdisk -t 2:8e00 /dev/sdb
Code Bedeutung
8300 Linux filesystem
8200 Linux swap
8e00 Linux LVM
fd00 Linux RAID
ef00 EFI System Partition
ef02 BIOS boot partition

Die vollständige Liste:

# sgdisk -L

Attribute setzen

# sgdisk -A PARTNUM:AKTION:BIT /dev/sdb
  • Aktionen sind unter anderem set, clear, toggle und show.
Bit Bedeutung
0 erforderliche Partition, nicht löschen
1 vor EFI verbergen
2 legacy BIOS bootable
60 nur lesen
63 kein Automount
# sgdisk -A 1:set:2 /dev/sdb          legacy BIOS bootable setzen
# sgdisk -A 1:show /dev/sdb           gesetzte Bits anzeigen

Sichern und zurückspielen

# sgdisk -b /root/sdb-gpt.bin /dev/sdb
  • Die Datei enthält Protective MBR, Header, Sicherungs-Header und die Partitionseinträge. Sie gehört auf ein anderes Medium.
# sgdisk -l /root/sdb-gpt.bin /dev/sdb

Eine Partitionstabelle auf eine zweite Platte übertragen

Der klassische Fall vor dem Anlegen eines Verbunds aus zwei gleichen Platten:

# sgdisk -R /dev/sdc /dev/sdb
# sgdisk -G /dev/sdc
  • Der erste Aufruf überträgt die Tabelle von /dev/sdb auf /dev/sdc. Das Ziel steht vorn, die Quelle hinten.
  • Der zweite Aufruf ist Pflicht: Ohne ihn tragen beide Platten dieselbe Platten-GUID und dieselben Partitions-GUIDs. Das System greift dann unter Umständen auf die falsche zu.

Eine Platte leeren

# sgdisk -Z /dev/sdb
  • -Z entfernt GPT und MBR, also auch die Sicherung am Plattenende.
  • -z lässt den MBR stehen.
  • Danach ist die Aufteilung weg. Die Nutzdaten stehen zwar noch auf der Platte, sind ohne Tabelle aber nicht mehr ansprechbar.

Beispiele

Tabelle anzeigen:

# sgdisk -p /dev/sdb

Einzelheiten zur ersten Partition:

# sgdisk -i 1 /dev/sdb

Eine Platte in einem Aufruf komplett einrichten:

# sgdisk -o \
         -n 1:0:+512M -t 1:ef00 -c 1:EFI \
         -n 2:0:+1G   -t 2:8300 -c 2:boot \
         -n 3:0:0     -t 3:8e00 -c 3:lvm \
         /dev/sdb

Vorher gefahrlos ansehen, was passieren würde:

# sgdisk -P -o -n 1:0:+512M /dev/sdb

Prüfen, was geworden ist:

# sgdisk -v /dev/sdb
# sgdisk -p /dev/sdb