Es gibt viele Dienstprogramme, wie z. B. fdisk, cdisk, um die Festplatte in Linux- und Unix-ähnlichen Systemen zu partitionieren. In diesem Artikel konzentrieren wir uns darauf, wie Sie mit dem Dienstprogramm parted unter Linux eine Partition erstellen und Festplattenpartitionen verwalten (Größe ändern, Partitionen löschen).
Was ist Getrennt?
GNU Parted ist eine Befehlszeilensuite zum Erstellen und Bearbeiten von Partitionstabellen in Linux- und Unix-Systemen. Mit Parted kann man Partitionen erstellen, in der Größe ändern, löschen, die Festplattennutzung reorganisieren, Daten kopieren und Disk-Images erstellen.
Parted enthält eine Bibliothek, libparted , sowie ein Befehlszeilen-Frontend, parted , die auch in Skripten verwendet werden kann. Parted wurde entwickelt, um den möglichen Datenverlust zu minimieren. Es führt viele Sicherheitsprüfungen durch, um Datenverluste in unvorhergesehenen Situationen, z. B. Stromausfall, zu vermeiden.
Parted ist ein kostenloses Open-Source-Programm, das standardmäßig mit modernen Linux-Betriebssystemen ausgeliefert wird.
Installieren Sie Parted unter Linux
Parted wird mit allen Linux-Distributionen installiert. Falls parted in Ihrer Distribution nicht verfügbar ist, können Sie die folgenden Befehle ausführen, um es zu installieren.
Um Parted unter Alpine Linux zu installieren, führen Sie Folgendes aus:
$ sudo apk add parted
Führen Sie unter Arch Linux, EndeavourOS und Manjaro Linux Folgendes aus:
$ sudo pacman -S parted
Führen Sie für Debian/Ubuntu und seine Derivate den folgenden Befehl aus.
$ sudo apt -y install parted
Fedora, RHEL, AlmaLinux und Rocky Linux:
$ sudo dnf install parted -y
Das richtige Gerät auswählen
Das erste, was Sie beachten müssen, bevor Sie parted verwenden, ist, welche Festplatte Sie partitionieren werden. Wenn Sie den parted-Befehl ausführen, ohne den Festplattennamen als Argument zu übergeben, nimmt er das erste gefundene Blockgerät und verwendet es.
$ sudo parted GNU Parted 3.2 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
Vorsicht: Sie sollten entweder sudo verwenden oder als Root-Benutzer wechseln und den parted-Befehl ausführen.
Um das jeweilige Gerät zu verwenden, müssen Sie das Gerät übergeben (z. B. /dev/sdc
) als Argument für den parted-Befehl.
$ sudo parted /dev/sdc GNU Parted 3.2 Using /dev/sdc Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
Alternativ können Sie innerhalb des parted-Dienstprogramms mit "select"
zwischen verschiedenen Laufwerken wechseln Befehl.
(parted) select /dev/sdb
Using /dev/sdb
(parted) select /dev/sdc
Using /dev/sdc
Geteilten Hilfeabschnitt drucken
Um die Liste der geteilten Befehle zu erhalten, führen Sie help
aus Befehl.
(parted) help align-check TYPE N check partition N for TYPE(min|opt) alignment help [COMMAND] print general help, or help on COMMAND mklabel,mktable LABEL-TYPE create a new disklabel (partition table) mkpart PART-TYPE [FS-TYPE] START END make a partition name NUMBER NAME name partition NUMBER as NAME print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition quit exit program rescue START END rescue a lost partition near START and END resizepart NUMBER END resize partition NUMBER rm NUMBER delete partition NUMBER select DEVICE choose the device to edit disk_set FLAG STATE change the FLAG on selected device disk_toggle [FLAG] toggle the state of FLAG on selected device set NUMBER FLAG STATE change the FLAG on partition NUMBER toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER unit UNIT set the default unit to UNIT version display the version number and copyright information of GNU Parted
Jeder dieser Befehle hat einen separaten Hilfeabschnitt. Zum Beispiel, wenn Sie die unterstützenden Optionen für den print
erhalten möchten Befehl können Sie den folgenden Befehl ausführen.
(parted) help print
Drucken Sie die Partitionstabelle
Wenn Sie die Partitionstabelle für alle verfügbaren Blockgeräte sehen möchten, führen Sie den folgenden Befehl vom Terminal aus.
$ sudo parted -l
Um die Partitionstabelle innerhalb des parted-Dienstprogramms anzuzeigen, verwenden Sie "print"
Befehl.
Der print
Der Befehl gibt Ihnen schließlich Informationen wie Festplattenmodell, Festplattengröße, Partitionsschema und die Partitionstabelle. Da dies eine neue Festplatte ist, werden keine Partitionen erstellt.
Um das Partitionsschema der Festplatte zu erhalten, können Sie entweder print
ausführen Befehl in der partierten Konsole oder führen Sie den folgenden Befehl direkt vom Terminal aus.
$ sudo parted /dev/sdc print | grep -i table Partition Table: gpt
Sie können die Namen der Blockgeräte allein erhalten, indem Sie "devices"
übergeben als Argument für den Druckbefehl.
(parted) print devices
/dev/sdc (21.5GB)
/dev/sda (53.7GB)
/dev/sdb (21.5GB)
/dev/sr0 (61.1MB)
Sie können den verbleibenden freien Speicherplatz auf der Festplatte abrufen, indem Sie "free"
übergeben als Argument für print
Befehl.
(parted) print free Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdc: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 17.4kB 21.5GB 21.5GB Free Space
Um alle Geräteinformationen innerhalb von parted zu drucken, übergeben Sie "list,all"
als Argument für print
Befehl.
(parted) print list,all
Unbenannter Datenträger
Vor dem Erstellen von Partitionen mit dem Laufwerk sollte das Laufwerk für die Verwendung eines bestimmten Partitionsschemas gekennzeichnet werden. Wenn Sie den Druckbefehl auf einer unbeschrifteten Diskette ausführen, sehen Sie ERROR.
(parted) print
Error: /dev/sdc: unrecognised disk label
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdc: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
Um ein Label zu erstellen, können Sie entweder mklabel
verwenden oder mktable
Befehl. Wenn Sie keine Ahnung von der Liste der unterstützten Labels haben, führen Sie "help mklabel
" aus " oder "help mktable
".
Ich werde dieses Laufwerk so kennzeichnen, dass es das GPT-Schema verwendet. Wenn Sie ein MBR-Partitionsschema benötigen, verwenden Sie msdos .
(parted) mklabel gpt
Wenn Sie nun print
ausführen Befehl erneut, können Sie das Label sehen.
Achtung: Stellen Sie vor dem Ausführen dieses Befehls sicher, dass Sie die richtige Festplatte verwenden. Weil dieser Befehl die gesamten Partitionen einer Festplatte mit ihren Daten löschen kann.
Neue Partitionen mit Parted erstellen
Um Partitionen zu erstellen, müssen Sie das mkpart
verwenden Befehl.
Bevor Sie den Befehl mkpart ausführen, werfen Sie einen Blick auf die Hilfeinformationen, die Einzelheiten über die Liste der Optionen enthalten.
help mkpart
Ich werde zwei Partitionen mit einer Größe von jeweils 10 GB erstellen. Lassen Sie uns die erste Partition erstellen.
(parted) mkpart Partition name? []? project File system type? [ext2]? ext4 Start? 1 End? 10GB
Dieser Schritt ist interaktiv.
- Wählen Sie einen Namen für die Partition.
- Wählen Sie den Dateisystemtyp. Standardmäßig ist es auf
ext2
eingestellt . - Wählen Sie den Startort der Festplatte. Sie können in MB, GB angeben. Hier habe ich 1 angegeben, also ab 1MB.
- Wählen Sie den Endspeicherort der Festplatte. Hier, 10 GB gegeben.
Führen Sie print
aus Befehl und Sie können die erstellte Partition sehen.
(parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdc: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 10.0GB 9999MB project
Lassen Sie uns die zweite Partition erstellen. Sie können alle interaktiven Eingaben kombinieren und sie als Argumente an mkpart
übergeben Befehl.
(parted) mkpart project1 ext4 10001MB 19999MB
Die von Ihnen erstellten Partitionen sind noch nicht gespeichert. Sie müssen die "partprobe
verwenden " Befehl, um den Kernel über die von Ihnen vorgenommenen Änderungen an der Partitionstabelle zu informieren.
Beenden Sie das parted Utility, indem Sie "quit
" eingeben " und führen Sie die partprobe
aus Befehl.
$ sudo partprobe
Partitionen löschen
Sie können die Partitionen mit rm
entfernen Befehl. Der rm
Der Befehl akzeptiert die Partitionsnummer als Argument und löscht diese Partition.
help rm
Wenn die Partition aktiv ist und bereits ein Dateisystem gemountet ist, empfiehlt es sich, zuerst die Daten zu bereinigen, das Dateisystem zu unmounten und dann die Partition zu löschen.
Wenn Sie versuchen, die Partition zu löschen, während sie verwendet wird, werden Sie mit einer Bestätigung aufgefordert, die Partition zu entfernen, und es wird Ihnen eine Fehlermeldung ausgegeben, die besagt, dass die Änderungen nach dem Neustart wirksam werden. Wählen Sie „Ignore
".
(parted) rm 1 Warning: Partition /dev/sdc1 is being used. Are you sure you want to continue? Yes/No? yes Error: Partition(s) 1 on /dev/sdc have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes. Ignore/Cancel? ignore
Markieren des Namens auf der Partition
Sie können den "name
verwenden " Befehl, um die Partition umzubenennen oder ihr einen Namen zuzuweisen. Der name
Der Befehl akzeptiert die Partitionsnummer als erstes Argument, gefolgt vom neuen Namen.
(parted) name 2 p1
Hier ändere ich den Namen von Partition 2 von project1 zu p1 .
Größe der Partition ändern
Sie können die Partition mit dem resizepart
verkleinern oder erweitern Befehl. Der Befehl resizepart
nimmt die Partitions-ID als Argument. Es wird Sie fragen, wie groß es sein soll (Ende?).
Lassen Sie uns die erste Partition, die ich erstellt habe, verkleinern. Die Partitions-ID ist 1 und die Partitionsgröße beträgt 10 GB . Hier verkleinere ich die Partition auf 5 GB .
(parted) resizepart 1
End? [10.0GB]? 5 GB
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? yes
Ich habe meine zweite Partition mit 5 GB Speicherplatz und möchte 2 weitere GB hinzufügen und daraus 7 GB machen.
(parted) resizepart 2 End? [15.0GB]? 17GB
Wenn ich jetzt meine Partitionstabelle drucke, wird meine erste Partition auf 5 GB verkleinert und die zweite Partition auf 7 GB erweitert.
Number Start End Size File system Name Flags 1 1049kB 5000MB 4999MB ext4 p1 2 10.0GB 17.0GB 7000MB ext4 p2
Partitions-Flags ändern
Mit dem set
Befehl können Sie der Partition ein Flag zuweisen. Um die Liste der unterstützten Flags zu erhalten, führen Sie die folgende help
aus Befehl.
(parted) help set
Nehmen wir an, wenn Sie eine Partition als Swap-Partition markieren möchten, müssen Sie den Befehl wie folgt ausführen
set [partition name] [flag] [ON/OFF] (parted) set 1 swap ON
Dateisystem erstellen
Bis jetzt haben Sie gelernt, wie Sie mit parted arbeiten, um verschiedene Vorgänge zur Festplattenpartitionierung durchzuführen. Wie Sie vielleicht bereits wissen, müssen Sie die Partition formatieren und einhängen, um die Partition verwenden zu können.
Sie können die erstellten Partitionen überprüfen, indem Sie lsblk
ausführen Befehl.
$ lsblk
Lassen Sie uns ein Dateisystem vom Typ ext4
erstellen für /dev/sdc1
indem Sie den folgenden Befehl ausführen.
$ mkfs.ext4 /dev/sdc1
Hängen Sie nun das Dateisystem in ein beliebiges Verzeichnis ein und verwenden Sie die Partition.
$ mount /dev/sdc1 /mnt/
$ df -h /dev/sdc1 Filesystem Size Used Avail Use% Mounted on /dev/sdc1 4.6G 19M 4.3G 1% /mnt
Schlussfolgerung
In diesem Artikel haben wir besprochen, wie Sie das Parted-Dienstprogramm zum Erstellen und Verwalten von Festplattenpartitionen mit dem Parted-Programm in Linux verwenden. Wir haben uns auch angesehen, wie die neu erstellten Partitionen mit dem ext4-Dateisystem formatiert und in unserem System gemountet werden.
Ab RHEL Version 8 schlägt Red Hat vor, das Dienstprogramm parted anstelle von fdisk zu verwenden. Wenn Sie sich also auf die RHCSA-Zertifizierung vorbereiten, ist dieser Artikel für Sie von großem Nutzen.
Für Benutzer von Linux-Desktops gibt es eine GUI-Version von parted namens GParted . Wir werden in Kürze in einem separaten Artikel ausführlich über Gparted sprechen. Bleiben Sie dran!