===== 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}}