Sgdisk: Unterschied zwischen den Versionen
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | + | <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. | |
| − | |||
| − | + | '''Achtung:''' <code>sgdisk</code> 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 <code>-P</code>: 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= |
| − | sgdisk | + | Vergleicht primäre und gesicherte Strukturen, prüft die Prüfsummen und meldet Überlappungen. |
| + | *sgdisk -v /dev/sdb | ||
| − | + | =Nichts schreiben, nur zeigen= | |
| − | - | + | <code>-P</code> berechnet die Änderung und zeigt das Ergebnis, schreibt aber nicht. Zum Testen jedes ändernden Aufrufs vorschalten. |
| − | + | *sgdisk -P -n 1:0:+512M /dev/sdb | |
| − | - | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | sgdisk | + | =Neue, leere GPT anlegen= |
| + | *sgdisk -o /dev/sdb | ||
| − | + | =Eine Partition anlegen= | |
| − | -n PARTNUM:ANFANG:ENDE | + | Die Syntax ist <code>-n PARTNUM:ANFANG:ENDE</code>. Eine <code>0</code> bedeutet an jeder der drei Stellen die Vorgabe: erster freier Eintrag, erster freier ausgerichteter Sektor, letzter verfügbarer Sektor. Ohne <code>-t</code> bekommt die Partition den Typ 8300. Die Ausrichtung auf 2048 Sektoren übernimmt sgdisk selbst. |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | -t | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | 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: | |
| − | + | {| class="wikitable" | |
| + | ! 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 <code>-A PARTNUM:AKTION:BIT</code>, Aktionen sind <code>set</code>, <code>clear</code>, <code>toggle</code> und <code>show</code>. | ||
| − | + | 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: | |
| − | + | {| class="wikitable" | |
| + | ! Bit !! Bedeutung | ||
| + | |- | ||
| + | | 0 || erforderliche Partition, nicht löschen | ||
| + | |- | ||
| + | | 2 || legacy BIOS bootable | ||
| + | |- | ||
| + | | 60 || nur lesen | ||
| + | |- | ||
| + | | 63 || kein Automount | ||
| + | |} | ||
| − | GUID einer Partition | + | =GUID einer Partition neu erwürfeln= |
| + | Das <code>R</code> 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= | ||
| + | <code>-Z</code> 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 <code>man sgdisk</code>. | ||
| + | |||
| + | {| class="wikitable" | ||
| + | ! Option !! Lang !! Wirkung | ||
| + | |- | ||
| + | | <code>-p</code> || <code>--print</code> || Partitionstabelle anzeigen | ||
| + | |- | ||
| + | | <code>-i</code> || <code>--info</code> || Einzelheiten zu einer Partition | ||
| + | |- | ||
| + | | <code>-L</code> || <code>--list-types</code> || Typcodes auflisten | ||
| + | |- | ||
| + | | <code>-v</code> || <code>--verify</code> || Platte prüfen | ||
| + | |- | ||
| + | | <code>-P</code> || <code>--pretend</code> || berechnen, aber nicht schreiben | ||
| + | |- | ||
| + | | <code>-o</code> || <code>--clear</code> || neue, leere GPT | ||
| + | |- | ||
| + | | <code>-n</code> || <code>--new</code> || Partition anlegen | ||
| + | |- | ||
| + | | <code>-d</code> || <code>--delete</code> || Partition löschen | ||
| + | |- | ||
| + | | <code>-t</code> || <code>--typecode</code> || Typcode setzen | ||
| + | |- | ||
| + | | <code>-c</code> || <code>--change-name</code> || Namen setzen | ||
| + | |- | ||
| + | | <code>-A</code> || <code>--attributes</code> || Attribut-Bits | ||
| + | |- | ||
| + | | <code>-u</code> || <code>--partition-guid</code> || Partitions-GUID setzen | ||
| + | |- | ||
| + | | <code>-U</code> || <code>--disk-guid</code> || Platten-GUID setzen | ||
| + | |- | ||
| + | | <code>-G</code> || <code>--randomize-guids</code> || alle GUIDs neu erwürfeln | ||
| + | |- | ||
| + | | <code>-a</code> || <code>--set-alignment</code> || Ausrichtung in Sektoren | ||
| + | |- | ||
| + | | <code>-b</code> || <code>--backup</code> || in Datei sichern | ||
| + | |- | ||
| + | | <code>-l</code> || <code>--load-backup</code> || aus Datei zurückladen | ||
| + | |- | ||
| + | | <code>-R</code> || <code>--replicate</code> || auf zweite Platte übertragen | ||
| + | |- | ||
| + | | <code>-e</code> || <code>--move-second-header</code> || Sicherung ans Ende schieben | ||
| + | |- | ||
| + | | <code>-g</code> || <code>--mbrtogpt</code> || MBR in GPT umwandeln | ||
| + | |- | ||
| + | | <code>-z</code> || <code>--zap</code> || GPT zerstören | ||
| + | |- | ||
| + | | <code>-Z</code> || <code>--zap-all</code> || GPT und MBR zerstören | ||
| + | |} | ||
Aktuelle Version vom 19. August 2026, 16:57 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 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 |