Linux / Befehl parted: Partitionen überprüfen und verwalten

parted ist ein GNU-Werkzeug, das Festplattenpartitionstabellen abfragt und Partitionen erstellt, löscht oder deren Größe ändert. Sie müssen die Aufgabe des Lesens von Festplattenstrukturen strikt von der eigentlichen Änderungsaufgabe trennen.

print zeigt die aktuelle Partitionstabelle an, während print free auch den freien Speicherplatz zwischen den Partitionen anzeigt. Die interaktiven Änderungsbefehle von parted können sofort auf die Festplatte angewendet werden, ohne auf eine separate Speicher-Schaltfläche zu warten. resizepart ändert die Partitiongrenzen, und das Ändern des Dateisystems ist ein separates Verfahren.

Grundlegende Syntax

parted [option] [disk] [command]

Die installierte Implementierung und die Optionen können je nach Distribution variieren. Überprüfen Sie die aktuelle Systemdokumentation mit man parted.

Beispiele

Alle Festplattenstrukturen anzeigen

Überprüfen Sie die Partitionstabelle für jede vom System erkannte Festplatte.

sudo parted -l

Freier Speicherplatz auf einer bestimmten Festplatte

Zeigen Sie die Zielplatte und Partitionsgrenzen im Nur-Lese-Modus an.

sudo parted /dev/sdb unit MiB print free

Vergleich mit einem anderen Tool

Überprüfen Sie das Gerätemodell und die Kapazität zusammen mit dem aktuellen Mount-Status.

lsblk -o NAME,SIZE,MODEL,TYPE,MOUNTPOINTS

Unterscheidung von Partitionsgrenzen und Dateisystemen

parted print zeigt den Typ der Partitions Tabelle der Festplatte sowie die Start- und Endpositionen der Partitionen an. Der Abfragebefehl erstellt keine Partitionen oder formatiert Dateisysteme.

sudo parted /dev/sdb print

Struktur der Beispielausgabe (Zahlen variieren je nach Gerät):

Model: ...
Disk /dev/sdb: 20.0GB
Partition Table: gpt
Number  Start   End     Size    File system  Name

Das Erstellen oder Ändern der Größe von Partitionen ist getrennt von der Änderung der Größe des Dateisystems. Das Ändern der Grenzen in parted vergrößert oder verkleinert das bestehende Dateisystem nicht automatisch und sicher. Insbesondere das Verkleinern erfordert zuvor die Überprüfung von Datensicherungen, ob es aushängbar ist, und die Unterstützung des Werkzeugs für jedes Dateisystem.

Hauptoptionen und Format

Optionen/Format Beschreibung
-l Listen Sie die Partitionstabellen aller Geräte auf.
-s Im Skriptmodus ausführen. Die Prüfverfahren können während der Änderungen reduziert werden.
unit unit Stellen Sie die Anzeige- und Eingabeeinheiten ein.
print free Partitionen und freien Speicherplatz anzeigen.
resizepart number end Ändern Sie die Endgrenze der Partition. Die Dateisystemgröße ist getrennt.

Vorsichtsmaßnahmen bei der Verwendung

mklabel ersetzt die vorhandene Partitionstabelle und rm löscht Partitions-Einträge, führen Sie es also nicht ohne Backup aus. -s kann den interaktiven Schutz während Änderungsoperationen reduzieren. Beim Ändern von Größen planen Sie die Reihenfolge von Dateisystem-, Verschlüsselungs- und LVM-Ebenen gemeinsam und befolgen Sie Wartungsverfahren auf in realen Umgebungen verwendeten Festplatten.

Häufig gestellte Fragen

Müssen Änderungen gespeichert werden, bevor parted beendet wird?

Interaktive parted-Änderungsbefehle werden normalerweise sofort auf die Festplatte angewendet. Es ist gefährlich, es wie fdisk zu sehen, wo man am Ende mit w speichert.

Ändern Sie Grenzen in einer neuen Image-Datei anstelle einer echten Festplatte

Dieses Beispiel bearbeitet nur eine neu erstellte 64-MiB-Datei, die dem Benutzer gehört. Es wird kein /dev-Gerät verwendet, nichts eingehängt und kein echtes Dateisystem erstellt. Verwenden Sie Linux mit installiertem GNU Parted und truncate. ext4 in mkpart ist ein Hinweis auf den Partitionstyp, kein Aufruf von mkfs.ext4. Der Skriptmodus reduziert die Eingabeaufforderungen, daher sollte niemals ein Produktionsplattenpfad für die Image-Datei ersetzt werden.

(
set -eu
labdir=$(mktemp -d)
image="$labdir/disk.img"
truncate -s 64M "$image"
parted --script "$image" mklabel gpt
parted --script "$image" mkpart lab ext4 1MiB 33MiB
parted "$image" unit MiB print free
parted --script "$image" resizepart 1 49MiB
parted "$image" unit MiB print free
printf 'Lab image: %s\n' "$image"
)

Die erste Ausgabe zeigt, dass die GPT-Partition 1 nahe 1 MiB beginnt und nahe 33 MiB endet; nach resizepart liegt ihr Ende nahe 49 MiB. Die Rundung der Anzeige kann variieren. Es wurde kein Dateisystem erstellt, daher überprüft das Lab nur die Partitionsgrenzen. Eine echte Festplatte erfordert eine separate Betrachtung der von jeder Ebene unterstützten Wachstums- oder Schrumpfoperationen und der Reihenfolge. Zum Bereinigen entfernen Sie nur disk.img im temporären Verzeichnis, das von diesem Lab ausgegeben wird, niemals ein echtes /dev-Gerät.

Offizielle Dokumentation

Das genaue Verhalten der Optionen und Unterschiede in der Implementierung können in der offiziellen parted-Dokumentation nachgeprüft werden.