Inhaltsverzeichnis
sgdisk
Kurzfassung: sgdisk ist der GPT-Spezialist unter Linux Partitionierungstools. Es ist ein Kommandozeilen-Tool, das nur GPT unterstützt und sich durch Skriptierbarkeit, Automatisierbarkeit und erweiterte GPT-Funktionen auszeichnet. Zielgruppe: Systemadministratoren und Automatisierung für GPT-Festplatten.
Übersicht
sgdisk (ein Teil des gdisk-Pakets) ist ein puristisches Kommandozeilen-Tool für GPT-Partitionierung. Es konzentriert sich vollständig auf GPT und bietet gegenüber parted und cfdisk:
- GPT-only: Keine MBR-Kompatibilität, aber bessere GPT-Unterstützung
- Skript-freundlich: Automatisierbare Ein-Zeiler-Befehle
- Erweiterte Funktionen: Partition UUIDs, Attribute, Konvertierungen
- Interoperabilität: Perfekt für Server-Automatisierung
Hauptmerkmale:
- GPT exklusiv (keine MBR)
- Kommandozeilen-fokussiert für Automation
- Partition UUIDs und GUIDs managebar
- Backup/Restore der Partitionstabelle
- Intelligente Ausrichtungen
- Konvertierung zwischen Partitionstypen
- Keine interaktive Session nötig (alle Befehle auf CLI)
Installation
# Debian/Ubuntu sudo apt install gdisk # RHEL/CentOS/Fedora sudo dnf install gdisk # Auch nach Installation verfügbar: sudo sgdisk --version which gdisk sgdisk fixparts
Grundlegende Befehle
Festplatte analysieren
# Partitionstabelle anzeigen sudo sgdisk -p /dev/sda # Ausführliche Ausgabe sudo sgdisk --print /dev/sda # Nur Grundinformationen sudo sgdisk -l /dev/sda # Mit Attribut-Details sudo sgdisk --print-attributes /dev/sda
GPT-Tabelle zurücksetzen
# WARNUNG: Löscht ALLE Partitionen! sudo sgdisk -Z /dev/sda # Oder interaktiv mit gdisk sudo gdisk /dev/sda # Optionen: d (löschen), w (speichern), q (exit)
Partitionen erstellen
Erste Partition mit Startsektor
# Neue Partition: -n (new) # Syntax: -n [Nummer]:[Anfang]:[Ende]:[Typ] # Partition 1: 1MiB bis 512MiB (EFI) sudo sgdisk -n 1:1M:512M -t 1:ef00 /dev/sda # Partition 2: 512MiB bis 100GiB (Linux) sudo sgdisk -n 2:512M:100G -t 2:8300 /dev/sda # Partition 3: 100GiB bis Ende (LVM) sudo sgdisk -n 3:100G:0 -t 3:8e00 /dev/sda
Automatisch Platz finden
# sgdisk findet Platz automatisch # Leer lassen für automatische Berechnung sudo sgdisk -n 0:0:+10G -t 0:8300 /dev/sda sudo sgdisk -n 0:0:+512M -t 0:ef00 /dev/sda # Nach Größe: +10G, +1G, +512M
Mehrere Partitionen auf einmal
# Kette von Befehlen sudo sgdisk \ -Z /dev/sda \ -n 1:1M:512M -t 1:ef00 \ -n 2:512M:50G -t 2:8300 \ -n 3:50G:60G -t 3:8200 \ -n 4:60G:0 -t 4:8e00 \ /dev/sda
Partitionstypen
Häufige Partitionstypen-IDs (GUID):
| Typ | ID (hex) | Beschreibung |
| EFI System | ef00 | EFI Boot-Partition |
| Linux Filesystem | 8300 | Standard Linux |
| Linux Swap | 8200 | Swap-Bereich |
| Linux LVM | 8e00 | Logisches Volume |
| Linux RAID | fd00 | Software RAID |
| Linux /home | 933ac7e1-2eb4-4f13-b844-0e14e2aef915 | Home Partition |
| Linux /srv | 3b8f8425-20e0-4f3b-907f-1a25a76f98e8 | Server Partition |
Typ ändern:
# Partition 2 in Swap umwandeln sudo sgdisk -t 2:8200 /dev/sda # Überprüfen sudo sgdisk -p /dev/sda
Fortgeschrittene Operationen
Partitionsname (Label) setzen
# GPT erlaubt 72-Zeichen Partitionsnames sudo sgdisk -c 1:"EFI Boot" /dev/sda sudo sgdisk -c 2:"Linux Root" /dev/sda sudo sgdisk -c 3:"Linux Swap" /dev/sda # Überprüfen sudo sgdisk -p /dev/sda
Partition löschen
# Partition 3 löschen sudo sgdisk -d 3 /dev/sda # Mehrere löschen sudo sgdisk -d 3 -d 4 /dev/sda # Überprüfen sudo sgdisk -p /dev/sda
Partition verschieben/vergrößern
# sgdisk kann Partitionen nicht direkt resizen # Dazu parted oder manuelle Methode nutzen # Workaround: Löschen und mit neuem Start/Ende neuerstellen sudo sgdisk -d 2 /dev/sda sudo sgdisk -n 2:512M:150G /dev/sda # Dateisystem dann mit resize2fs anpassen sudo resize2fs /dev/sda2
Backup und Restore
# Backup der Partitionstabelle (GPT header + entries) sudo sgdisk -b /tmp/sda-gpt-backup /dev/sda # Datei ansehen hexdump -C /tmp/sda-gpt-backup | head # Restore aus Backup sudo sgdisk -l /tmp/sda-gpt-backup /dev/sda # Alternativer Backup (sfdisk-Format) sudo sfdisk -d /dev/sda > /tmp/sda-partition.bak sudo sfdisk /dev/sda < /tmp/sda-partition.bak
UUID/GUID ändern
# Disk-GUID regenerieren (Backup empfohlen!) sudo sgdisk -G /dev/sda # Partition-GUID anzeigen/ändern (selten nötig) sudo sgdisk -p /dev/sda | grep -i guid
Attribute setzen
# Bestimmte Attribute für spezielle Betriebssysteme # z.B. Read-only, required for boot, etc. sudo sgdisk -A 1:set:0 /dev/sda # Attribut 0 setzen sudo sgdisk -A 1:clear:0 /dev/sda # Attribut 0 löschen # Überprüfen sudo sgdisk --print-attributes /dev/sda
Praktische Beispiele
UEFI-System mit Swap
# 1TB Festplatte: 512M EFI + 16GB Swap + Rest Linux sudo sgdisk -Z /dev/sda sudo sgdisk \ -n 1:1M:512M -t 1:ef00 -c 1:"EFI Boot" \ -n 2:512M:16.5G -t 2:8200 -c 2:"Swap" \ -n 3:16.5G:0 -t 3:8300 -c 3:"Linux Root" \ /dev/sda # Formatieren sudo mkfs.fat -F32 /dev/sda1 sudo mkswap /dev/sda2 sudo swapon /dev/sda2 sudo mkfs.ext4 /dev/sda3
Server mit LVM
# 2TB Server-Festplatte: 1GB EFI + Rest LVM sudo sgdisk -Z /dev/sdb sudo sgdisk \ -n 1:1M:1G -t 1:ef00 -c 1:"EFI" \ -n 2:1G:0 -t 2:8e00 -c 2:"LVM Volume" \ /dev/sdb # LVM initialisieren sudo pvcreate /dev/sdb2 sudo vgcreate storage /dev/sdb2 sudo lvcreate -L 500G -n data storage
Multi-OS Installation (Windows + Linux + macOS)
# 500GB mit mehreren Betriebssystemen sudo sgdisk -Z /dev/sdc sudo sgdisk \ -n 1:1M:512M -t 1:ef00 -c 1:"EFI" \ -n 2:512M:150G -t 2:0700 -c 2:"Windows" \ -n 3:150G:400G -t 3:8300 -c 3:"Linux" \ -n 4:400G:0 -t 4:af00 -c 4:"macOS" \ /dev/sdc
Fehlerbehandlung
Problem: „Disk not found“ oder Berechtigungsfehler
# Lösung: Mit sudo ausführen sudo sgdisk -p /dev/sda
Problem: „GPT-Tabelle beschädigt“
# sgdisk kann oft selbst reparieren sudo sgdisk -v /dev/sda # Wenn schlimm: Mit gdisk interaktiv reparieren sudo gdisk /dev/sda # Option: x (experts), t (transform)
Problem: „Kernel meldet neue Partition nicht“
# Kernel-Partition-Tabelle neu laden sudo partprobe /dev/sda # Oder erzwingen sudo partx -a /dev/sda # Oder Reboot sudo reboot
Problem: „sgdisk: unknown option“
# Dokumentation prüfen sgdisk --help # Oder man-page man sgdisk
Vergleich mit gdisk/fixparts
Das gdisk-Paket enthält drei Tools:
| Tool | Zweck | Interaktiv | Kommandozeile |
sgdisk | Partitionierung | Nein | Ja (perfekt für Scripts) |
gdisk | Interaktive GPT-Verwaltung | Ja | Zusätzlich |
fixparts | Fehleranalyse und -repair | Ja/Nein | Beide |
sgdisk vs. gdisk:
sgdisk: Schnell, automatisierbar, CLI-onlygdisk: Interaktiv, wenn etwas schiefgeht oder lernen möchte
Best Practices
- Immer mit
-p(print) vor destructiven Operationen überprüfen - GPT-Tabelle backen: `sgdisk -b /tmp/backup /dev/sda`
- Automatisierung: sgdisk in Scripts mit Ketten-Befehlen
- Partitionstypen-IDs memorieren: ef00 (EFI), 8300 (Linux), 8200 (Swap), 8e00 (LVM)
- Namen setzen mit
-cfür bessere Dokumentation - Nach Operationen: partprobe aufrufen
- Backup IMMER vor -Z (Reset)
- -Z löscht ALLE Partitionen! Backup essentiell!
- Falsche Festplatte angeben → Kompletter Datenverlust
- Keine „Undo“-Funktion - Operationen sind sofort permanent
- Nicht auf Système-Festplatten während Betrieb arbeiten
- Boot-Partitionen nicht löschen, während System läuft
