Parted ist ein kostenloses GNU-Dienstprogramm zum Verwalten von Festplattenpartitionen über die Befehlszeile. Es kann Festplattenpartitionen erstellen, löschen, in der Größe ändern und drucken und mehr unter Linux.
Häufiger verwenden wir das parted-Tool für die Festplattenpartitionierung, um mehrere Betriebssysteme auszuführen, bestimmten Systemspeicherplatz zuzuweisen oder wertvolle Dateien zu trennen oder Volumes zu erweitern.
Traditionell verwenden viele Benutzer das fdisk-Tool zum Partitionieren, der Hauptgrund für die Verwendung von parted, wenn die Festplattengröße größer als 2 TB ist. Anfänglich trennte sich nur unterstütztes GPT, und ab util-linux 2.23 begann fdisk auch mit der Unterstützung von GPT.
In diesem Tutorial zeige ich, wie man den Parted-Befehl für die Datenträgerverwaltung in Linux verwendet
Parted unter Linux installieren
Parted ist standardmäßig auf den meisten modernen Linux-Distributionen installiert. Wenn es nicht in Ihrer Distribution enthalten ist, installieren Sie es manuell.
Parted auf Distributionen mit Ubuntu- und Debian-Flair installieren:
$ sudo apt-get install parted
Installation parted auf CentOS und RHEL:
$ sudo yum install parted
Wenn Sie den parted-Befehl ohne Optionen ausführen, wird die parted-Paketversion gedruckt, wählen Sie standardmäßig das erste Laufwerk und warten Sie an der Eingabeaufforderung auf zusätzliche Befehle. Der Parted-Befehl muss als Root oder als Benutzer mit Sudo-Zugriff ausgeführt werden.
$ sudo parted
GNU Parted 3.2
Using /dev/xvda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
Geben Sie quit
ein um die getrennte Eingabeaufforderung zu verlassen.
Wichtig: Alle Änderungen werden auf der Festplatte vorgenommen, sobald Sie Ihren Befehl eingegeben haben.
Festplattenpartitionen auflisten
Lassen Sie uns überprüfen, wie alle Festplatteninformationen und ihre Partitionen gedruckt werden. Standardmäßig wird das erste Laufwerk ausgewählt. Um alle Festplattenpartitionen zu drucken, geben Sie print all
ein .
Hinweis:Die Warnung, die in der Ausgabe angezeigt wird, liegt daran, dass dieser Datenträger nicht zugeordneten Speicherplatz hat, der noch bereitgestellt werden muss.
ubuntu@linoxide:~$ sudo parted
GNU Parted 3.2
Using /dev/xvda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print all
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 8590MB 8589MB primary ext4 boot
Warning: Not all of the space available to /dev/xvdb appears to be
used, you can fix the GPT to use all of the space (an extra 25165824
blocks) or continue with the current setting?
Fix/Ignore? Ignore
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 1024MB 1024MB ext4 primary
2 1024MB 2048MB 1023MB ext4 primary
(parted)
Stattdessen können Sie auch einen einzelnen Befehl verwenden:
$ sudo parted /dev/xvda print all
Wenn Sie mehrere Datenträger haben, können Sie mit dem Befehl select zwischen den Datenträgern auswählen:
Finden Sie nicht zugeordneten Speicherplatz auf der Festplatte
Um den nicht zugeordneten Speicherplatz zu finden, wählen Sie Ihre Festplatte aus und führen Sie dann print free
aus Befehl.
Später werden wir besprechen, wie Sie den Befehl resizepart verwenden, um die Partition zu erweitern, wenn Sie mehr nicht zugeordneten Speicherplatz haben.
Neue Festplattenpartition mit parted erstellen
Normalerweise wird ein Betriebssystem auf der ersten Platte /dev/sda
installiert . Wenn Sie eine neue Festplatte hinzufügen, wählt das Betriebssystem die nächste Nummer als /dev/sdb
. Zur Veranschaulichung verwende ich eine virtuelle Xen-Festplatte, die die Namenskonvention /dev/xvd
verwendet .
Ich habe eine neue 20-GB-Festplatte hinzugefügt und Sie können sie als unrecognised disk label
sehen .
Der erste Schritt wäre, die erforderliche Datenträgerbezeichnung festzulegen. Unterstützte Datenträgerbezeichnungen sind bsd, loop, gpt, mac, msdos, pc98 und sun.
(parted) mklabel msdos
Jetzt werde ich /dev/xvdb in zwei primäre Partitionen mit der ersten Partition mit 10 GB und der zweiten Partition mit 5 GB segmentieren.
Um eine neue Partition zu erstellen, verwenden wir mkpart
Befehl mit Start 0 und Ende 10000:
Um die zweite Partition zu erstellen, führen Sie den mkpart-Befehl erneut aus und geben Sie die Start- und Endgröße
anHinweis:Das Konzept von „primär“ spiegelt sich von MBR wider, GPT kümmert sich nicht darum, muss aber trotzdem einen Namen hinzufügen.
Sie können auch mkpart verwenden, um die Partition so zu erstellen, dass sie das gesamte Laufwerk umfasst, indem Sie den zu verwendenden Prozentsatz angeben (hier 0 % bis 100 %).
Zum Beispiel:
$ sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%
Anstatt den Druckbefehl zu verwenden, können Sie alternative Befehle wie lsblk
ausführen , fdisk -l
to see partitions created.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 18M 1 loop /snap/amazon-ssm-agent/1566
loop1 7:1 0 93.8M 1 loop /snap/core/8935
loop2 7:2 0 93.9M 1 loop /snap/core/9066
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 20G 0 disk
├─xvdb1 202:17 0 9.3G 0 part
└─xvdb2 202:18 0 4.7G 0 part
$
Jetzt können wir die Partition (/dev/xvdb1) mit dem ex4-Dateisystem formatieren, verwenden Sie mkfs.ext4 wie folgt:
$ sudo mkfs.ext4 /dev/xvdb1
Größe der Festplattenpartition mit resizepart ändern
Um die Partition zu vergrößern, muss sie zuerst in der Größe geändert werden. Einfache Größenänderung bedeutet, dass die Endposition einer Partition verschoben wird.
Hier werde ich die Größe der zweiten Partition von /dev/xvdb ändern und die Endposition auf 20000 verschieben:
(parted) resizepart
Hinweis:growpart ist ein weiteres praktisches Tool, das unter Linux verfügbar ist, um eine Partition zu erweitern.
Um die Größe jedes Dateisystems an die neue Kapazität anzupassen, müssen Sie einen dateisystemspezifischen Befehl ausführen. Um das Dateisystem unter Linux zu erweitern, verwenden Sie resize2fs
Befehl wie folgt:
$ sudo resize2fs /dev/xvdb2
resize2fs 1.44.1 (24-Mar-2018)
Resizing the filesystem on /dev/xvdb2 to 2441340 (4k) blocks.
The filesystem on /dev/xvdb2 is now 2441340 (4k) blocks long.
Partition von einer ausgewählten Festplatte löschen
Um eine Partition zu löschen, sollten Sie die Partitionsnummer auf der Festplatte kennen. Verwenden Sie print
Befehl in parted, um alle Partitionen und ihre entsprechende Nummer anzuzeigen.
Zum Löschen können Sie den Befehl rm gefolgt von der Partitionsnummer verwenden. Hier löschen wir die zweite Partition wie unten gezeigt:
(parted) rm 2
Flags auf Partitionen setzen
Parted erlaubt das Setzen von Flags auf der Partition. Seien Sie nicht überrascht, dass einige Flags von Datenträgerbezeichnungen abhängen. Ein Flag kann entweder ein- oder ausgeschaltet sein. Die gängigsten Flags sind boot, lab, swap, raid, LVM usw.
Der folgende Befehl setzt das LVM-Flag auf Partition 2:
(getrennt) setze 2 LVM ein
Ein weiteres praktisches Beispiel, wenn wir eine Boot-Partition festlegen müssen:
(parted) set 2 boot on
Linux-Festplattenpartition retten
Rescue kommt zu Hilfe, wenn Sie versehentlich eine Partition löschen. Eine verlorene Partition kann wiederhergestellt werden, indem zwischen Start und Ende gesucht wird.
Löschen wir Partition 1 auf /dev/xvdb und verwenden Sie den Rescue-Befehl, um sie wiederherzustellen:
(parted) rescue
Standardeinheit festlegen
Der Einheitenbefehl in parted hilft beim Festlegen einer Standardeinheit zum Anzeigen von Kapazitäten und Standorten.
Unterstützte Einheiten sind:
KiB- kibibyte
MiB - mebibyte
GiB - gibibyte
TiB - tebibyte
kB - kilobyte
MB - megabyte
GB - gigabyte
TB - terabyte
% - percentage of the device
cyl - cylinders
chs - cylinders, heads, sectors addressing
compact - Use human-readable representation for output
Der folgende Befehl setzt unit auf compact:
(parted) unit compact
(parted) print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 8590MB 8589MB primary ext4 boot
(parted)
Sie können auch wie folgt in Einheiten drucken:
(parted) unit GB print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 8.59GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 0.00GB 8.59GB 8.59GB primary ext4 boot
(parted)
Schlussfolgerung
Zum Zeitpunkt der Aktualisierung dieses Tutorials verwenden wir die Parted-Version 3.1 und können die derzeit unterstützten Befehle mit -h
überprüfen Möglichkeit. Parted schreibt direkt auf die Festplatte, seien Sie also vorsichtig, wenn Sie Befehle ausführen.
Stellen Sie bei Änderungen sicher, dass Sie das richtige Laufwerk auswählen, da dies sonst zu Datenverlust führen kann.
Wenn Sie Fragen oder Gedanken zu diesem Thema haben, verwenden Sie bitte den Kommentarbereich unten.