===== parted =====
**Kurzfassung:** ''parted'' ist ein modernes Kommandozeilen-Partitionierungstool für MBR und GPT. Es unterstützt Größenänderungen, Online-Operationen und kann sowohl interaktiv als auch automatisiert via Script verwendet werden. Zielgruppe: Fortgeschrittene Benutzer und Automatisierung.
==== Übersicht ====
GNU ''parted'' ist die Referenzimplementierung für GPT-Partitionierung unter Linux. Im Gegensatz zu ''fdisk'' (MBR-fokussiert) und ''cfdisk'' (Text-UI) bietet ''parted'' eine komplexere Kommandozeilen-Interface mit Unterstützung für:
* Dynamische Größenänderungen
* Erweiterte Partitionstypen (RAID, LVM, etc.)
* Automatisierbare Scripts (--script Modus)
* Konsistente Größenangaben (MiB, GiB, %)
**Hauptmerkmale:**
* MBR und GPT vollständig unterstützt
* Größenänderungen (Resize) möglich
* Online-Operationen auf gemounteten Dateisystemen
* Beide Modi: Interaktiv und --script
* Fortgeschrittene Ausrichtungsoptionen
* Partitionstypen und Flags flexibel setzbar
==== Installation ====
# Debian/Ubuntu
sudo apt install parted
# RHEL/CentOS/Fedora
sudo dnf install parted
# Prüfen
parted --version
==== Grundlegende Befehle ====
=== Alle Festplatten anzeigen (Lesemodus) ===
# Alle Blockgeräte mit Partitionstabellen
sudo parted -l
# Nur eine Festplatte
sudo parted /dev/sda print
# Größen in MiB (statt Standard-Einheit)
sudo parted -l -m
=== Interaktive Sitzung starten ===
# parted interaktiv starten
sudo parted /dev/sda
# Dann im parted-Prompt (parted):
help # Alle Befehle anzeigen
print # Partitionstabelle anzeigen
print free # Mit freiem Platz
print all # Ausführliche Informationen
quit # Beenden
=== Nicht-interaktiv via --script ===
# Keine Rückfragen, direkt ausführen
sudo parted --script /dev/sda print
sudo parted --script /dev/sda mkpart primary ext4 0% 100%
==== Partitionstabelle erstellen/ändern ====
=== Neue GPT-Partitionstabelle ===
# Vorsicht: Löscht ALLE Partitionen!
sudo parted --script /dev/sda mklabel gpt
# Interaktiv mit Bestätigung
sudo parted /dev/sda
(parted) mklabel gpt
# Bestätigung: Yes
=== Neue MBR-Partitionstabelle ===
# MBR zurücksetzen
sudo parted --script /dev/sda mklabel msdos
==== Partitionen erstellen ====
=== Grundlegende Partition (GPT) ===
# Neue Partition mit Start/End
sudo parted --script /dev/sda mkpart primary ext4 1MiB 100GiB
# Mit Prozentangaben
sudo parted --script /dev/sda mkpart primary ext4 0% 50%
# Bis zum Ende
sudo parted --script /dev/sda mkpart primary ext4 100GiB 100%
=== EFI-Boot-Partition ===
# FAT32 EFI-Partition (512M-1G)
sudo parted --script /dev/sda mkpart ESP fat32 1MiB 512MiB
# EFI-Flag setzen
sudo parted --script /dev/sda set 1 esp on
=== Swap-Bereich ===
# Linux Swap Partition
sudo parted --script /dev/sda mkpart swap linux-swap 50% 60%
# Nach Erstellung formatieren
sudo mkswap /dev/sda2
=== LVM-Partition ===
# Partition für LVM
sudo parted --script /dev/sda mkpart lvm_part ext4 60% 100%
# Typ ändern (siehe unten)
sudo parted --script /dev/sda set 3 lvm on
# Dann mit pvcreate initialisieren
sudo pvcreate /dev/sda3
=== Mehrere Partitionen auf einmal ===
# Interaktiv mehrere erstellen
sudo parted /dev/sda
(parted) mklabel gpt
(parted) mkpart ESP fat32 1MiB 512MiB
(parted) set 1 esp on
(parted) mkpart primary ext4 512MiB 50GiB
(parted) mkpart swap linux-swap 50GiB 60GiB
(parted) mkpart lvm ext4 60GiB 100%
(parted) set 4 lvm on
(parted) print # Kontrollieren
(parted) quit # Speichern
==== Partitionen ändern ====
=== Größe ändern (Resize) ===
# Partition 2 vergrößern auf 100GiB
sudo parted --script /dev/sda resizepart 2 100GiB
# Oder interaktiv
sudo parted /dev/sda
(parted) resizepart 2 100GiB
(parted) quit
# WICHTIG: Dann Dateisystem selbst vergrößern!
sudo resize2fs /dev/sda2 # ext4
sudo xfs_growfs /dev/sda2 # XFS
=== Partition löschen ===
# Partition 3 löschen
sudo parted --script /dev/sda rm 3
# Oder interaktiv
sudo parted /dev/sda
(parted) rm 3
(parted) quit
=== Partitionstypen ändern ===
# Kommandozeile (oft begrenzt)
sudo parted --script /dev/sda set 1 boot on
# Interaktiv für mehr Optionen
sudo parted /dev/sda
(parted) set 1 boot on
(parted) set 2 lvm on
(parted) set 3 raid on
(parted) quit
==== Fortgeschrittene Operationen ====
=== Ausrichtung prüfen/optimieren ===
# Partitionsausrichtung überprüfen (wichtig für SSD/RAID)
sudo parted /dev/sda align-check optimal 1
# Wenn falsch ausgerichtet:
# 1. Partition löschen
# 2. Mit richtigem Start neu erstellen (2048er-Grenzen beachten)
=== Namen und Labels setzen (GPT) ===
# Bei GPT möglich: Partitionsname
sudo parted /dev/sda name 1 "EFI Boot"
sudo parted /dev/sda name 2 "Linux Root"
# Überprüfen
sudo parted /dev/sda print
=== Partitionstyp-ID bei MBR ===
# Interaktiv ändern
sudo parted /dev/sda
(parted) print # Aktuelle Typen sehen
(parted) set 2 type Linux
=== Flaggen verwalten (MBR) ===
# Boot-Flag für MBR Boot
sudo parted --script /dev/sda set 1 boot on
# Überprüfen
sudo parted /dev/sda print
==== Praktische Beispiele ====
=== Komplettes System (UEFI + Linux) ===
# Auf neuem 500GB SSD
sudo parted --script /dev/sda mklabel gpt
sudo parted --script /dev/sda mkpart ESP fat32 1MiB 512MiB
sudo parted --script /dev/sda set 1 esp on
sudo parted --script /dev/sda mkpart primary ext4 512MiB 100%
# Formatieren
sudo mkfs.fat -F32 /dev/sda1
sudo mkfs.ext4 /dev/sda2
# Mounten und Benutzung
sudo mount /dev/sda2 /mnt
sudo mkdir -p /mnt/efi
sudo mount /dev/sda1 /mnt/efi
=== Festplatte mit Swap und LVM ===
# 2TB Festplatte: 512M EFI + 4GB Swap + Rest LVM
sudo parted --script /dev/sdb mklabel gpt
sudo parted --script /dev/sdb mkpart ESP fat32 1MiB 512MiB
sudo parted --script /dev/sdb set 1 esp on
sudo parted --script /dev/sdb mkpart swap linux-swap 512MiB 4608MiB
sudo parted --script /dev/sdb mkpart lvm ext4 4608MiB 100%
sudo parted --script /dev/sdb set 3 lvm on
# Formatieren
sudo mkswap /dev/sdb2
sudo swapon /dev/sdb2
sudo pvcreate /dev/sdb3
==== Häufige Fehler ====
**Problem: "Resize schlägt fehl, obwohl Platz vorhanden"**
# Oft: Dateisystem muss vorher vergrößert werden
# Lösung: Erst parted resizepart, dann resize2fs
sudo parted --script /dev/sda resizepart 2 200GiB
sudo resize2fs /dev/sda2
**Problem: "parted: Unable to open /dev/xxx. Permission denied"**
# Lösung: Mit sudo ausführen
sudo parted /dev/sda print
**Problem: "Error: Partition table too large"**
# Meist bei MBR: Platz für Partition nicht vorhanden
# Lösung: Zu GPT wechseln (unbegrenzte Partitionen)
sudo parted /dev/sda mklabel gpt
**Problem: "Daten nach parted-Operation weg"**
# Mit testdisk/photorec versuchen zu retten
sudo testdisk /dev/sda
# Backup immer VORHER machen!
==== Vergleich mit anderen Tools ====
| **Tool** | **Fokus** | **Resize** | **Scripts** | **Anfänger** |
| ''fdisk'' | MBR klassisch | Nein | Teilweise | Schwierig |
| ''cfdisk'' | MBR + GPT UI | Nein | Nein | **Sehr gut** |
| ''parted'' | **GPT Modern** | **Ja** | **Ja** | Mittelmäßig |
| ''sgdisk'' | GPT nur | Nein | **Sehr gut** | Mittelmäßig |
| ''gparted'' | Grafisch | Ja | Nein | **Sehr gut** |
==== Best Practices ====
**Empfehlungen:**
* Immer ''print'' nutzen, um Änderungen zu prüfen
* Neue Systeme: Immer GPT wählen (mklabel gpt)
* Bei Resize: Erst parted, dann Dateisystem-Tool
* Scripts mit ''--script'' nur bei Automatisierung
* Nach Operationen: ''partprobe /dev/sdX'' aufrufen
* Live-CD bei System-Festplatten verwenden
* Größenangaben konsistent (z.B. immer GiB oder %)
**KRITISCH:**
* mklabel löscht ALLE Partitionen - Backup essentiell!
* Falsche Festplatte angeben → Kompletter Datenverlust
* Bei Resize: Dateisystem selbst vergrößern nicht vergessen!
* Nicht auf gemounteten System-Partitionen arbeiten
* --script erlaubt keine Fehlerkorrektur
==== Siehe auch ====
* [[sammlung:partitionieren|Partitionieren - Übersicht]]
* [[sammlung:fdisk|fdisk]]
* [[sammlung:cfdisk|cfdisk]]
* [[sammlung:sgdisk|sgdisk]]
* [[sammlung:gparted|gparted]]
* [[sammlung:lvm|LVM - Logisches Volume Management]]
* [[sammlung:mount|mount und Dateisystem-Verwaltung]]
* [[sammlung:resize2fs|resize2fs]]
* [[sammlung:mkfs_ext4|mkfs.ext4]]
==== Quellen ====
* [[https://man7.org/linux/man-pages/man8/parted.8.html|parted - man page]]
* [[https://linux.die.net/man/8/parted|parted - linux.die.net]]
* [[https://www.gnu.org/software/parted/|GNU parted Projekt]]
----
{{tag>parted gpt partition cli automatisierung}}