[[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
+++
<rowclass="kopf">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 ||
||<rowclass="kopf"> '''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
+++
<rowclass="kopf">Option
Beschreibung
+++
`-d` 
Kein [:Kernel:]-Update - unterbindet, dass die Tabelle dem Kernel neu bekannt gegeben wird.
+++
<rowclass="highlight">`-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.
+++
<rowclass="highlight">`-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