[[Vorlage(Getestet, general)]] [[Vorlage(Fortgeschritten)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:sudo: Administrative Rechte erlangen] [:Systeminformationen_ermitteln#Festplatten:Systeminformationen ermitteln] }}} [[Inhaltsverzeichnis()]] [[Bild(Wiki/Icons/gnu.png, 75, left)]] [http://www.gnu.org/software/parted/index.shtml GNU Parted] {en} ist ein Programm zur Festplatten-Partitionierung und Größenänderung der Partitionen, welches auch zur Auflistung der Datenträgerstruktur genutzt werden kann. Parted unterstützt die gängisten Partitionstabellen, wie [wikipedia:Partitionstabelle:msdos], [wikipedia:GUID_Partition_Table:GPT], aber auch Mac, Sun, BSD ... Das Programm unterstützt voll die [:Dateisystem:Dateisysteme] ext2, ext3, fat (FAT16 und FAT32), ReiserFS und linux-swap. Eingeschränkt unterstützt werden die Dateisysteme HFS (Mac OS), JFS, NTFS, UFS (Sun und HP) sowie XFS. Der Nutzen von GNU Parted zeigt sich beim Erstellen von neuem Raum für Betriebssysteme, Neuorganisation des Festplattengebrauchs und beim Kopieren von Daten auf neue Festplatten. GNU Parted ist das Standard-Werkzeug zur Festplattenpartitionierung in vielen GNU/Linux-Distributionen, wie z.B. die [:Laufwerksverwaltung:] bei [:GNOME:] und [:Unity:], oder der [:Partitionmanager:] bei [:KDE:]. Für allgemeine Informationen zur Partitionierung empfiehlt sich der Artikel [:Partitionierung: Grundlagen zur Partitionierung]. {{{#!vorlage Warnung Veränderungen an einer Partitionstabelle können das System unbrauchbar machen und sollten nie ohne eine vorherige Datensicherung durchgeführt werden. Parted schreibt alle Veränderungen sofort auf den Datenträger. Um Veränderungen an der Partitionstabelle vornehmen zu können, darf die entsprechende Partition oder der gesamte Datenträger nicht [:mount:eingehangen] sein. Grundsätzlich empfiehlt sich der Einsatz eines Live-Mediums, das gilt insbesondere für die [:Verzeichnisstruktur:Systemverzeichnisse], wie z.B. '''/''' (root), [:Homeverzeichnis:/home] oder [:Swap:]. }}} = Installation = Parted ist bei Ubuntu bereits vorinstalliert[1]: {{{#!vorlage Paketinstallation parted }}} ##Neben parted selbst wird auch noch das Modul partprobe mit installiert. ##Je nach Dateisystemen, mit denen gearbeitet werden muss, sind noch die folgenden Pakete erforderlich: ##{{{#!vorlage Paketinstallation ##e2fsprogs, Ext2/3/4 ##reiserfsprogs, ReiserFS ##xfsprogs, XFS ##hfsprogs, universe, HFS / HFS+ ##}}} = Syntax = Das Programm muss immer mit Rootrechten[3] ausgeführt werden. {{{#!vorlage Befehl parted [OPTIONEN] [DEVICE] [KOMMANDOS] }}} = Benutzung = GNU Parted kennt drei Formen des Aufrufs zur Datenträgerbearbeitung[4]: 1. Über [#Optionen Optionen], die direkt eine Auswertung aller angeschlossenen Datenträger ausführen. 1. Mit der Option ''-s'' und Kommandos wird der sog. Batchmodus ausgeführt, dabei werden alle Aufgaben __ohne__ Nachfragen durchgeführt. 1. Interaktiv, dabei wird über [#Kommandos Kommando]-Eingaben jeder einzelne Schritt gesteuert. Eine Erklärung aller Kommandos und Optionen mit ausführlicher Information liefert die [:man:Manpage]. == Optionen == {{{#!vorlage Tabelle <-2 tableclass="zebra_start3" rowclass="titel">Auswahl von Optionen +++ Option Beschreibung +++ `-a` TYP Gibt das [:SSD/Grundlagen#Alignment:Alignment] vor, das für Neuanlagen gelten soll. +++ `-l` Auflistung der Datenträgerstruktur aller angeschlossenen Datenträger[4]. +++ `-m` Ausgabe in einer Form, die zur Weiterverarbeitung geeignet ist. +++ `-s` Veranlasst parted dazu, nicht nach weiteren Kommandos zu fragen - in Skripten geeignet. +++ `-v` Ausgabe der Versionsnummer. }}} == Kommandos == ||<-2 tableclass="zebra_start3" rowclass="titel"> Auswahl von Kommandos || || '''Kommando''' ||<> '''Funktion''' || ||align-check ALIGNMENT-TYPE PARTITION || Führt einen [:SSD/Grundlagen#Alignment Alignment:]-Check bei [:SSD:] durch - optimal (opt) oder minimal (min). || || help ``[COMMAND]`` || Gibt allgemeine Hilfe oder Hilfe zu einem Befehl. || || print ``[devices;free;NUMBER;all]`` || Gibt Informationen über die Partitionstabelle, verfügbare Geräte, freien Speicher, eine Partition, oder alle Festplatten aus. || || mklabel ``LABEL-TYPE`` || Erstellt ein neues Disklabel (Partitionstabelle), z.B. `msdos` oder `GPT`. || || mkpart ``PART-TYPE`` ``[FS-TYPE]`` ``START`` ``END`` || Erstellt eine Partition, optional mit Dateisystem. || || name ``NUMBER`` ``NAME`` || Benennt Partition ``NUMBER`` mit ``NAME`` - nur GPT oder MAC. || || rescue ``START`` ``END`` || Stellt eine verlorene Partition nahe ``START`` und ``END`` wieder her. || || rm ``NUMBER`` || Löscht Partition ``NUMBER``. || || select ``DEVICE`` || Wählt die Festplatte zur Bearbeitung. || || set ``NUMBER`` ``FLAG`` ``STATE`` || Ändert den Status (``on``/``off``) der ``FLAG`` (z.B. ``boot``) auf Partition ``NUMBER``. || || toggle ``[NUMBER [FLAG]]`` || Schaltet den Status der ``FLAG`` auf Partition ``NUMBER``. || || unit ``UNIT`` || Setzt die Standard Einheit auf ``UNIT`` (z.B ``GiB`` oder ``%``), siehe dazu auch [wikipedia:Byte#Vergleich:Dezimalpräfixe/Binärpräfixe]. || || version || Zeigt die aktuell verwendete GNU Parted Version und Copyright Informationen. || || quit || Beendet das Programm. || = Beispiele = {{{#!vorlage Hinweis Im Folgenden wird, sofern eingesetzt, für alle Beispiele der Datenträger[4] '''/dev/sdc''' genutzt. Diese Angabe muss immer auf die eigenen Gegebenheiten abgestellt werden}}} == Auflistung == * Liste aller angeschlossenen Datenträger[4]: {{{#!vorlage Befehl sudo parted -l }}} * Liste des Datenträgers '''/dev/sdc''' mit Andruck der Sektoren: {{{#!vorlage Befehl sudo parted -s /dev/sdc unit s print }}} Die Option `-s` wird verwendet, damit bei evtl. Fehlern keine Abfragen erfolgen. [[BR]] [[BR]] Musterausgabe:{{{ Modell: ATA MAXTOR STM380215 (scsi) Festplatte /dev/sdc: 156301488s Sektorgröße (logisch/physisch): 512B/512B Partitionstabelle: msdos Nummer Anfang Ende Größe Typ Dateisystem Flags 1 63s 20964824s 20964762s primary ext4 boot 2 20964825s 63890504s 42925680s primary ext4 3 72404955s 156296384s 83891430s primary ext4 }}} [[BR]] * Liste des Datenträgers '''/dev/sdb''' inkl. eventuellem freien Platz: (in Bytes und als Sektoren): {{{#!vorlage Befehl sudo parted -s /dev/sdb print free unit s print free }}} [[BR]] Musterausgabe:{{{ Modell: ATA SAMSUNG HD753LJ (scsi) Festplatte /dev/sdb: 750GB Sektorgröße (logisch/physisch): 512B/512B Partitionstabelle: msdos Nummer Anfang Ende Größe Typ Dateisystem Flags 32,3kB 1049kB 1016kB Freier Platz 1 1049kB 50,3MB 49,3MB primary ext4 50,3MB 51,4MB 1048kB Freier Platz 2 51,4MB 750GB 750GB extended 5 51,4MB 4347MB 4296MB logical linux-swap(v1) 6 4348MB 24,3GB 20,0GB logical ext4 boot 7 24,3GB 49,8GB 25,5GB logical ext4 8 49,8GB 692GB 642GB logical ext4 9 692GB 712GB 20,0GB logical ext4 10 712GB 732GB 20,0GB logical ext4 11 732GB 750GB 17,9GB logical ntfs 750GB 750GB 16,8MB Freier Platz 750GB 750GB 909kB Freier Platz Modell: ATA SAMSUNG HD753LJ (scsi) Festplatte /dev/sdb: 1465149168s Sektorgröße (logisch/physisch): 512B/512B Partitionstabelle: msdos Nummer Anfang Ende Größe Typ Dateisystem Flags 63s 2047s 1985s Freier Platz 1 2048s 98303s 96256s primary ext4 98304s 100349s 2046s Freier Platz 2 100350s 1465147391s 1465047042s extended 5 100352s 8491007s 8390656s logical linux-swap(v1) 6 8493056s 47552511s 39059456s logical ext4 boot 7 47554560s 97351679s 49797120s logical ext4 8 97353728s 1351950335s 1254596608s logical ext4 9 1351952384s 1391011839s 39059456s logical ext4 10 1391013888s 1430069247s 39055360s logical ext4 11 1430071296s 1465114623s 35043328s logical ntfs 1465114624s 1465147391s 32768s Freier Platz 1465147392s 1465149167s 1776s Freier Platz }}} [[BR]] * Liste aller Datenträger in einem weiterverarbeitbaren Format: {{{#!vorlage Befehl sudo parted -slm }}} * Und hier die gleiche Auflistungsform, aber auf '''/dev/sdc''' beschränkt: {{{#!vorlage Befehl sudo parted -sm /dev/sdc unit s print }}} [[BR]] Musterausgabe:{{{ BYT; /dev/sdc:156301488s:scsi:512:512:msdos:ATA MAXTOR STM380215; 1:63s:20964824s:20964762s:ext4::boot; 2:20964825s:63890504s:42925680s:ext4::; 3:72404955s:156296384s:83891430s:ext4::; }}} == Alignment == In diesem Beispiel wird das optimale [:SSD/Grundlagen#Alignment:Alignment] der ersten Partition des Datenträgers[4] '''/dev/sdc''' überprüft: {{{#!vorlage Befehl sudo parted /dev/sdc align-check opt 1 }}} == Interaktiv == Im folgenden Beispiel soll auf dem Device '''/dev/sdc''' eine primäre FAT32-Partition erstellt werden. Um eine Übersicht aller angeschlossenen Datenträger[4] zu erhalten, sollte man vorher eine [#Auflistung Auflistung] anfordern. Mit dem folgenden Aufruf wird parted auf dem Datenträger '''/dev/sdc''' gestartet: {{{#!vorlage Befehl sudo parted /dev/sdc }}} Muster des Begrüßungstextes: {{{ GNU Parted 2.2 Verwende /dev/sdc Willkommen zu GNU Parted! Geben Sie 'help' ein, um eine Liste der verfügbaren Kommados zu erhalten. (parted) }}} Durch die Eingabe von `help` erhält man eine Übersicht aller Kommandos und mit {{{#!vorlage Befehl print }}} wird die aktuelle Partitionstabelle angezeigt. Bereits vorhandene Partitionen lassen sich jetzt mit {{{#!vorlage Befehl rm #NUMBER }}} löschen, wobei `#NUMBER` die Partitionsnummer ist. Um die Größe der Partition z.B. prozentual anzugeben, muss die Standardeinheit von parted umgestellt werden. Dies geschieht mit {{{#!vorlage Befehl unit % }}} Weitere mögliche Angaben sind z.B.:{{{ MiB Mebibyte (1048576 bytes) GiB Gibibyte (1073741824 bytes) MB Megabyte (1000000 bytes) GB Gigabyte (1000000000 bytes) % Prozentangabe (zwischen 0 und 100) s Sektorenangabe (bezogen auf die logische Sektorgröße) }}} Wobei Angaben in MiB, GiB (also Bytes mit "i") zu empfehlen sind, da hier die PC übliche [wikipedia:Byte#Vergleich:Basis 1024] beträgt. ##Durch ##{{{#!vorlage Befehl ##mkpartfs primary fat32 8MiB 100% ##}}} ##wird eine primäre FAT32-Partition mit dem Start bei 8MiB und dem Ende (bei 100%) des Device erstellt. Parted lässt sich durch {{{#!vorlage Befehl quit }}} wieder verlassen. = partprobe = Mit parted wird auch das Programm-Modul `partprobe` ausgeliefert, damit lassen sich: * Kurzinformationen zur Partitiontabelle ermitteln. * dem [:Kernel:] eine veränderte Partitionstabelle neu bekannt geben. Eine Erklärung aller Optionen mit ausführlicher Information liefert die [:man:Manpage]. == Syntax == Das Programm muss immer mit Rootrechten[3] ausgeführt und der Datenträger[4] mitgeteilt werden. {{{#!vorlage Befehl partprobe [OPTIONEN] DEVICE }}} == Optionen == {{{#!vorlage Tabelle <-2 tableclass="zebra_start3" rowclass="titel">Auswahl von Optionen +++ Option Beschreibung +++ `-d` Kein [:Kernel:]-Update - unterbindet, dass die Tabelle dem Kernel neu bekannt gegeben wird. +++ `-h` Ausgabe eines Hilfetextes der zur Verfügung stehenden Kommandos. +++ `-s` Zeigt eine Zusammenfassung des Datenträgers, d.h. der Partitionstabelle und der Partitionen an. +++ `-v` Ausgabe der Versionsnummer. }}} == Beispiele == Liste einer Zusammenfassung des Datenträgers '''/dev/sdc''' {{{#!vorlage befehl sudo partprobe -ds /dev/sdc }}} Musterausgabe: {{{ /dev/sdc: msdos partitions 1 2 3 <6 5> }}} Wobei die Partitionen zwischen den '''< >''' logische Partitionen darstellen. Die veränderte Partitionstabelle des Datenträgers '''/dev/sdc''' wird dem Kernel neu bekannt gegeben: {{{#!vorlage befehl sudo partprobe /dev/sdc }}} = Links = * [:Partitionierung:] - Grundlagen der Partitionierung * [:Skripte/Partitionstabellen_sichern:] - Skript zum sichern aller Partitionstabellen MPT und GPT * [:fdisk:] - Ein Partitionierungsprogramm nur für MBR/MPT * [:gdisk:] - Ein Partitionierungsprogramm nur für GPT * [http://www.gnu.org/software/parted/index.shtml Projektseite] {en} * [http://linux.die.net/man/8/parted Manpage] {en} auf linux.die.net # tag: Installation, Shell, System, Partitionierung