Benutzer-Werkzeuge

Webseiten-Werkzeuge


sammlung:sgdisk

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-only
  • gdisk: Interaktiv, wenn etwas schiefgeht oder lernen möchte

Best Practices

Empfehlungen:
  • 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 -c für bessere Dokumentation
  • Nach Operationen: partprobe aufrufen
  • Backup IMMER vor -Z (Reset)
KRITISCH:
  • -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

Siehe auch

Quellen

sammlung/sgdisk.txt · Zuletzt geändert: von 127.0.0.1