Sgdisk
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 kennt keinen Schreibbefehl. Eine im Arbeitsspeicher veränderte GPT wird beim Beenden automatisch auf den Datenträger geschrieben. Ein falsch getippter Aufruf kann eine Platte unbrauchbar machen. Zum gefahrlosen Ausprobieren dient die Option -P: damit wird alles berechnet und angezeigt, aber nichts geschrieben.
Beim Aufruf steht immer der Datenträger am Ende. Mehrere Optionen lassen sich in einem Aufruf kombinieren – das ist der übliche Weg, weil dann nur einmal geschrieben wird.
Alle Optionen anzeigen
- sgdisk --help
Handbuchseite
- man sgdisk
Partitionstabelle anzeigen
- sgdisk -p /dev/sdb
Einzelheiten zu einer Partition
Zeigt GUIDs, Start- und Endsektor, Attribute und Namen der Partition 1.
- sgdisk -i 1 /dev/sdb
Bekannte Typcodes auflisten
- sgdisk -L
Platte prüfen
Vergleicht primäre und gesicherte Strukturen, prüft die Prüfsummen und meldet Überlappungen.
- sgdisk -v /dev/sdb
Nichts schreiben, nur zeigen
-P berechnet die Änderung und zeigt das Ergebnis, schreibt aber nicht. Zum Testen jedes ändernden Aufrufs vorschalten.
- sgdisk -P -n 1:0:+512M /dev/sdb
Neue, leere GPT anlegen
- sgdisk -o /dev/sdb
Eine Partition anlegen
Die Syntax ist -n PARTNUM:ANFANG:ENDE. Eine 0 bedeutet an jeder der drei Stellen die Vorgabe: erster freier Eintrag, erster freier ausgerichteter Sektor, letzter verfügbarer Sektor. Ohne -t bekommt die Partition den Typ 8300. Die Ausrichtung auf 2048 Sektoren übernimmt sgdisk selbst.
512 MiB, Lage automatisch:
- sgdisk -n 1:0:+512M /dev/sdb
20 GiB direkt dahinter:
- sgdisk -n 2:0:+20G /dev/sdb
Der ganze Rest der Platte:
- sgdisk -n 3:0:0 /dev/sdb
Typcode setzen
Ändert nur die Kennung, nicht die Daten der Partition.
- sgdisk -t 1:ef00 /dev/sdb
Die gebräuchlichen Codes:
| Code | Bedeutung |
|---|---|
| 8300 | Linux filesystem |
| 8200 | Linux swap |
| 8e00 | Linux LVM |
| fd00 | Linux RAID |
| ef00 | EFI System Partition |
| ef02 | BIOS boot partition |
Namen einer Partition setzen
- sgdisk -c 1:system /dev/sdb
Attribut setzen
Die Syntax ist -A PARTNUM:AKTION:BIT, Aktionen sind set, clear, toggle und show.
Legacy BIOS bootable (Bit 2) setzen:
- sgdisk -A 1:set:2 /dev/sdb
Gesetzte Bits anzeigen:
- sgdisk -A 1:show /dev/sdb
Die wichtigsten Bits:
| Bit | Bedeutung |
|---|---|
| 0 | erforderliche Partition, nicht löschen |
| 2 | legacy BIOS bootable |
| 60 | nur lesen |
| 63 | kein Automount |
GUID einer Partition neu erwürfeln
Das R steht für einen Zufallswert.
- sgdisk -u 1:R /dev/sdb
Alle GUIDs neu erwürfeln
Nach dem Klonen einer Platte nötig, sonst tragen Original und Kopie dieselben GUIDs.
- sgdisk -G /dev/sdb
Partition löschen
- sgdisk -d 1 /dev/sdb
GPT in eine Datei sichern
Die Datei enthält Protective MBR, Header, Sicherungs-Header und die Partitionseinträge. Sie gehört auf ein anderes Medium.
- sgdisk -b /root/sdb-gpt.bin /dev/sdb
GPT aus einer Datei zurückladen
- sgdisk -l /root/sdb-gpt.bin /dev/sdb
Partitionstabelle auf eine zweite Platte übertragen
Der klassische Fall vor dem Anlegen eines Verbunds aus zwei gleichen Platten. Beim Übertragen steht das Ziel vorn, die Quelle hinten.
- sgdisk -R /dev/sdc /dev/sdb
Danach zwingend die GUIDs der Kopie neu erwürfeln:
- sgdisk -G /dev/sdc
Sicherung ans Plattenende verschieben
Nötig, wenn eine Platte oder ein LUN nachträglich vergrößert wurde – die Sicherung liegt dann nicht mehr am Ende. Diese Option setzt keine Partition aktiv.
- sgdisk -e /dev/sdb
MBR in eine GPT umwandeln
Wandelt um, löscht nicht.
- sgdisk -g /dev/sdb
Platte leeren
-Z entfernt GPT und MBR samt der Sicherung am Plattenende. Danach ist die Aufteilung weg.
- sgdisk -Z /dev/sdb
Nur die GPT entfernen, den MBR stehen lassen:
- sgdisk -z /dev/sdb
Eine Platte in einem Aufruf komplett einrichten
Weil sgdisk beim Beenden schreibt, ist ein Aufruf besser als sechs. Hier: EFI, boot und eine LVM-Partition über den Rest.
- 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
Optionsübersicht
Für den schnellen Rückblick. Details stehen jeweils oben und in man sgdisk.
| Option | Lang | Wirkung |
|---|---|---|
-p |
--print |
Partitionstabelle anzeigen |
-i |
--info |
Einzelheiten zu einer Partition |
-L |
--list-types |
Typcodes auflisten |
-v |
--verify |
Platte prüfen |
-P |
--pretend |
berechnen, aber nicht schreiben |
-o |
--clear |
neue, leere GPT |
-n |
--new |
Partition anlegen |
-d |
--delete |
Partition löschen |
-t |
--typecode |
Typcode setzen |
-c |
--change-name |
Namen setzen |
-A |
--attributes |
Attribut-Bits |
-u |
--partition-guid |
Partitions-GUID setzen |
-U |
--disk-guid |
Platten-GUID setzen |
-G |
--randomize-guids |
alle GUIDs neu erwürfeln |
-a |
--set-alignment |
Ausrichtung in Sektoren |
-b |
--backup |
in Datei sichern |
-l |
--load-backup |
aus Datei zurückladen |
-R |
--replicate |
auf zweite Platte übertragen |
-e |
--move-second-header |
Sicherung ans Ende schieben |
-g |
--mbrtogpt |
MBR in GPT umwandeln |
-z |
--zap |
GPT zerstören |
-Z |
--zap-all |
GPT und MBR zerstören |