Stückwerk

GNU-Parted

01.11.2000
,
Das Partitionieren von Festplatten gilt unter Linux immer noch als schwierige Aufgabe für Anfänger und lästige für fortgeschrittene Anwender. Grund genug, sich einmal mit dem relativ neuen Partitionseditor Parted auseinander zu setzen.

Wenn wir von Partitionen reden, geht es (meist) um einzeln verwaltete Teile einer Festplatte. Jede Partition ist für sich unabhängig von anderen Teilen der Festplatte. Das ist besonders dann interessant, wenn Sie mehrere Betriebssysteme verwenden wollen – jedes System ruht dann auf seiner eigenen Partition und stört sich in aller Regel nicht an den anderen, als hätten Sie mehrere Festplatten eingebaut.

Es gibt für die Zahl der Partitionen und ihre Anordnung jedoch Beschränkungen. So darf jede Festplatte maximal vier Partitionen besitzen. Benötigen Sie mehr, müssen Sie eine der vier Partitionen als erweiterte (extended) Partition anlegen und können diese in logische Partitionen aufteilen. Die vier eigentlichen Partitionen werden auch als "primäre Partitionen" bezeichnet und unterscheiden sich von den logischen darin, dass man von ihnen booten kann. Auch können logische Partitionen nur innerhalb einer erweiterten Partition vorkommen.

Insgesamt dürfen Sie nur eine einzige erweiterte Partition pro Festplatte anlegen, diese kann maximal 59 logische Partitionen enthalten – das macht mit den vier primären zusammen 63 Partitionen pro Festplatte. Linux numeriert die Partitionen einfach durch, indem die sogenannte "Minor Device Number" an den Festplattennamen angehängt wird. Die vier primären Partitionen auf der ersten Festplatte am ersten IDE-Controller (also /dev/hda) werden mit /dev/hda1 bis /dev/hda4 fest benannt. Ab /dev/hda5 handelt es sich um logische Partitionen, wobei diese stets aufgerückt werden. Als Beispiel: Haben Sie die logischen Partitionen /dev/hda5, hda6 und hda7 belegt und löschen nun hda5, so werden hda6 und hda7 um eins aufgerückt, es gibt also keine Lücke. Haben Sie hingegen die primären Partitionen hda1 bis hda3 belegt und löschen nun hda2, bleibt die Numerierung der übrigen Partitionen unverändert. Weil in der Praxis selten 63 Partitionen gebraucht werden, stehen im Standard-System nur die Minor Device Numbers 1 bis 15 zur Verfügung, weitere können Sie aber bei Bedarf anlegen.

Große und kleine Zahlen

Ein großes Mysterium insbesondere für Einsteiger sind die Major und Minor Device Numbers, die einem zum Beispiel im Verzeichnis /dev aber auch in der Datei /etc/conf.modules begegnen.

Unter Linux sind viele Namen wie Schall und Rauch, insbesondere die der Gerätedateien wie /dev/hda oder auch /dev/audio. Wenn Sie einmal ls -l /dev/audio eingeben, erhalten Sie folgende Zeile:

crw-rw-rw-   1 root     root      14,   4 Jul 26  1998 /dev/audio

Ungewöhnlich an dieser Darstellung ist, dass ls im Feld Dateigröße "14, 4" angibt. Die "14" steht hierbei für die Major Device Number, die "4" ist die Minor Device Number der Gerätedatei /dev/audio. Auch der erste Buchstabe links, der Dateityp, unterscheidet sich von denen anderer Einträge – wie in der Tabelle "Dateitypen" abzulesen, handelt es sich bei /dev/audio um ein "Character Special File".

Die Major Device Number sagt dem Kernel, welcher Gerätetreiber bei einem Zugriff auf eine Character-Datei mit dieser Nummer zuständig ist. An dieser Stelle kommen der automatische Modul-Lader des Kernels und die Datei /etc/conf.modules ins Spiel: Suchen Sie doch einmal mit dem Befehl grep "char-major-14" /etc/conf.modules alle Definitionen für die Character Major Device Number 14 heraus. Hier vier Beispiele:

alias char-major-14       off
alias char-major-14       soundcore
alias char-major-14       es1371
alias char-major-14       sb

Die Zeilen bedeuten, dass bei einem Zugriff auf eine Gerätedatei mit char-major-14 das dahinter stehende Kernel-Modul automatisch geladen werden muss, so es sich nicht bereits im Speicher befindet. Die Angabe "off" aus dem ersten Beispiel bedeutet, dass kein Modul geladen wird – der Treiber ist entweder im Kernel enthalten oder wird von Hand nachgeladen.

Achtung, der Typ einer Gerätedatei ist entscheidend, welcher Treiber Verwendung findet – ein "Block Special File" hat eine Block Major Device Number und wird von einem anderen Treiber bedient als ein "Character Special File" mit der gleichen Character Major Device Number.

Gibt die Major Device Number den zu verwendenden Treiber an, so kann der Treiber anhand der Minor Device Number erkennen, um welches Gerät es sich handeln soll oder ob eine besondere Behandlungsart gewünscht wird. So wird die Block Major Device Number 3 für /dev/hda und /dev/hdb verwendet. Anhand der Minor Device Number erkennt der zugehörige IDE-Treiber, dass mit 0 /dev/hda gemeint ist, und 1 bis 15 für die Partitionen hda1 bis hda15 steht. Die Nummer 64 spricht /dev/hdb an, und 65 bis 79 stehen für hdb1 bis hdb15.

Ein anderes Beispiel ist /dev/st0 mit "9, 0" und /dev/nst0 mit "9, 128". Hinter beidem steckt der erste SCSI-Streamer, mit dem Unterschied, dass bei minor-128 das Band nicht nach jedem Zugriff zurückgespult wird.

Dass die Gerätenamen selbst für Linux keine Bewandnis haben, zeigt folgendes Beispiel, das Sie problemlos einmal ausprobieren können. Legen Sie als Benutzer root im Verzeichnis /tmp ein zweites Audio-Device an:

mknod /tmp/myaudio c 14 4

Nun können Sie mit cat /etc/conf.modules > /tmp/myaudio etwas Krach produzieren, wenn Sie zufällig eine au-Datei zur Hand haben, können Sie sich diese anhören. Mit rm /tmp/myaudio löschen Sie die neu angelegte Gerätedatei wieder.

Dateitypen

Kürzel Bezeichnung Verwendung Beispiel
- regular Normale Datei track1.wav, /etc/passwd, /bin/bash
d directory Verzeichnis /etc, /usr, /tmp
l symbolic link Symbolischer Link /dev/cdrom, /usr/X11R6/bin/X
s socket Kommunikationstunnel, wird oft von Programmen zur Verständigung untereinander verwendet /dev/log
c character special Gerätedatei, die zeichenweise gelesen oder beschrieben werden kann /dev/ttyS0, /dev/nst0, /dev/audio
b block special Gerätedatei, die in Blöcken mit einer bestimmten Länge gelesen oder beschrieben werden kann /dev/hda, /dev/fd0, /dev/sda
p pipe special Gerätedatei, aus der Daten in genau der Reihenfolge gelesen werden können, wie sie hineingeschrieben wurden /dev/initctl

Normalerweise formatieren Sie nicht Ihre Festplatte (was aber prinzipiell geht), sondern nur einzelne Partitionen, die ihrerseits natürlich die ganze Festplatte umfassen können. Dabei wird ein Dateisystem auf die Partition geschrieben, um überhaupt eine Verwaltung der Daten zu ermöglichen. Alle aktuellen Distributionen bieten während der Installation an, die Festplatte nach Gutdünken des Herstellers oder von Hand aufzuteilen ("partitionieren") und anschließend das gewünschte Dateisystem aufzubringen – bei Linux meist ext2 ("Second Extended File System") für die Daten und swap als Auslagerungs-Partition.

Unpraktisch ist dabei, dass Sie nach jeder Veränderung der Festplatten-Aufteilung die betroffenen Partitionen neu formatieren müssen und somit alle enthaltenen Daten verloren gehen. Es galt bisher, die Festplattenaufteilung so zu wählen, dass man sie für immer beibehalten kann. Doch gerade Einsteiger können schwer abschätzen, was die optimale Partitionierung für den heimischen PC ist, und auch Fortgeschrittene haben immer mal wieder mit der bei der Erstinstallation getroffenen Entscheidung zu ringen.

Hier setzt nun der Partitionseditor Parted von Andrew Clausen an. Er bietet umfangreiche Möglichkeiten, die drei gebräuchlichsten Partitionstypen Linux-native, Linux-swap und FAT/VFAT neu einzurichten, sie zu testen, zu löschen, Dateisysteme zwischen verschiedenen Partitionen umzukopieren und einiges mehr.

Tabelle 1: Features von Parted im Überblick

  Linux-native Linux-swap FAT/VFAT
Partitionen anlegen ja ja ja
Partitionen löschen ja ja ja
Partitionen prüfen ja, aber besser e2fsck verwenden ja ja
Partitionen kopieren nur in gleich große oder größere Partitionen ja ja
Partitionsgrenzen verschieben nur obere Grenze ja beliebig verkleinerbar, begrenzt vergrößerbar
Partition verstecken/sichtbar machen nein nein ja

Aktuell hat Parted keine grafische Oberfläche. Aber keine Angst, umständliche Parameter brauchen Sie sich nicht zu merken, die Entwickler haben eine interaktive Textoberfläche à la fdisk eingebaut.

Installation von Parted

Die meisten Distributionen kommen leider ohne Parted, deshalb müssen Sie den Partitions-Editor selbst nachinstallieren. Dazu können Sie entweder das auf der CD enthaltene RPM-Paket verwenden, oder die Quellen von der CD selbst kompilieren. Hinweise zur Installation finden Sie im Kasten. Die jeweils aktuelle Version von Parted finden Sie im Internet unter http://www.gnu.org/software/parted/ und ftp://ftp.gnu.org/gnu/parted.

Installation

Das RPM-Archiv parted-1.2.9-0.i386.rpm wird mit

rpm -i parted-1.2.9-0.i386.rpm

installiert. Das sollte mit allen RPM-basierenden Distributionen funktionieren, getestet haben wir SuSE 6.4, SuSE 7.0, RedHat 6.2 sowie Mandrake 7.1.

Für den Fall, dass Sie zur Installation von Linux Ihre Windows-Partition verkleinern wollen, Ihre Distribution dies aber nicht anbietet, haben wir einen Abzug einer Boot-Diskette mit Parted beigelegt. Leider handelt es sich hierbei um eine komplett englische Version, es gibt nicht einmal eine deutsche Tastaturbelegung. Die Abzugsdatei können Sie unter Linux mit

dd if=partboot.img of=/dev/fd0

auf eine Diskette im ersten Laufwerk schreiben. Wenn Sie nur Windows oder DOS zur Verfügung haben, verwenden Sie das im Unterverzeichnis beigelegte Programm rawrite, indem Sie es einfach aufrufen und die Abzugs-Datei und das zu verwendende Diskettenlaufwerk angeben.

Sollten Sie die Quellen übersetzen wollen, entpacken Sie zunächst die Datei parted-1.2.9.tar.gz von der CD und wechseln in das Verzeichnis:

tar xvzf parted-1.2.9.tar.gz
  cd parted-1.2.9

Zusätzlich benötigen Sie die Bibliotheken libreadline.so und libuuid.so, diese befinden sich meist im Verzeichnis /lib. Die nächsten Schritte sind Vorbereitung der Übersetzung, Kompilliation und anschließende Installation.

./configure --prefix=/usr
  make
  make all-recursive
  make install

Der Parameter --prefix=/usr sorgt dafür, dass Parted wie ein normales Systemprogramm eingestuft wird und nicht in /usr/local landet wie von den Programmierern vorgesehen. Für Installation sollten Sie als root angemeldet sein. Fehlermeldungen während configure sind problematisch und weisen auf fehlende Pakete oder eine von Parted unerwartete Verzeichnisstruktur hin. Der häufigste Fehler ist, dass die Bibliothek libuuid, zuständig für die Dateisystem-Zugriffe, fehlt. Die Datei befindet sich im Entwicklungspaket für ext2fs, oft mit ext2fs_d oder ext2fs-devel bezeichnet. Nach erfolgreicher Installation können Sie das Verzeichnis von Parted löschen.

Rufen Sie parted ohne weitere Parameter auf, versucht das Programm, die Standard-Festplatte zu finden, und vermeldet dies zum Beispiel mit Benutze /dev/hda. Sollte Sie Parted in Englisch begrüßen, müssen Sie die Sprach-Variable explizit setzen:

export LANG="de"
  export LANGUAGE="de"

Beim Aufruf von Parted sollten Sie besser die zu bearbeitende Festplatte mit anzugeben, zu leicht übersieht man, was Parted als Standard verwendet und bearbeitet womöglich das falsche Laufwerk. Folgendes Beispiel verwendet die zweite Festplatte am ersten IDE-Controller:

parted /dev/hdb

Vorsicht, geben Sie auf keinen Fall den Namen einer Partition wie /dev/hdb1 an. Dann geht Parted nämlich davon aus, dass es sich bei /dev/hdb1 um eine ganze Festplatte handelt und wird versuchen, die Partition noch einmal mit Partitionen zu versehen – ein sinnloses Unterfangen.

Bei jedem Programmstart werden Sie gebeten, die Festplatten-Geometrie im BIOS zu überprüfen. Der Hintergund ist, dass Parted auf die vom Kernel erkannten Daten zurückgreift, und alle Veränderungen auf Basis dieser Zahlen macht. Ein anderes System, das die BIOS-Daten verwendet, aber auch Bootloader wie LiLo oder GRUB können auf eine solche falsche Geometrie hereinfallen und später ihren Dienst versagen. Es lohnt sich also, beim ersten mal die Festplatten-Daten zum Beispiel vom BIOS-Startbildschirm abzuschreiben oder direkt im BIOS nachzusehen.

Die Nummern innerhalb von Parted entsprechen den Minor Device Numbers der jeweiligen Festplatte, also "1" für hda1 oder hdb1. Achten Sie unbedingt darauf, dass die zu bearbeitenden Partitionen keinesfalls im Gebrauch sind (also nicht gemountet), eine Liste der gerade verwendeten Partitionen bekommen Sie mit mount. Im Unterschied zu fdisk führt Parted alle Aktionen sofort und nicht erst beim Verlassen aus – es gibt also (fast) keinen Weg zurück, wenn Sie eine Partition erst einmal gelöscht haben.

Partitionen anzeigen und prüfen

Werfen Sie zunächst mit p einen Blick auf Ihre aktuelle Partitionierung. Start und Ende der einzelnen Partitionen werden Ihnen nicht in Zylindern angegeben, wie fdisk das tut, sondern in Megabytes. Intern rundet Parted auf ganze Zylinder, wie die Partitionstabelle der Festplatte dies verlangt. Das führt dazu, dass sich die eingegebenen Größen oft von den eingegebenen Zahlen unterscheiden.

Parted verfügt über eine Prüffunktion für ext2, swap und FAT/VFAT. Bei ext2 empfiehlt sich jedoch das deutlich leistungsfähigere e2fsck, das bei jeder Distribution beiliegt. Parted macht auch keinen Hehl daraus; werden beispielsweise bei Überprüfung der zweiten Partition mit check 2 Fehler gefunden, verweist Parted direkt auf e2fsck als Hilfsmittel. Auch bei fehlerlosem Durchlauf wird darauf aufmerksam gemacht, dass es sich nur um einen oberflächlichen Test handelt und e2fsck die bessere Alternative ist.

Haben Sie eine fehlerbehaftete ext2-Partition gefunden, empfiehlt sich in jedem Fall eine Reparatur mittels e2fsck. Dazu müssen Sie zunächst Parted beenden oder auf eine andere Konsole wechseln. Im einfachsten Fall überlassen Sie e2fsck alle Schritte, hier am Beispiel der ersten logischen Partition:

e2fsck -c -p -v -y /dev/hda5

Der Beispielaufruf sorgt für eine automatische Korrektur eventuell gefundener Fehler. Falls die Partition noch gemountet ist, wird e2fsck zurückfragen, ob Sie wirklich die Überprüfung starten wollen – in diesem Fall antworten Sie bitte stets mit "Nein". Andernfalls droht im schlimmsten Fall ein Systemabsturz und/oder Datenverlust.

Für FAT- und VFAT-Partitionen können Sie alternativ zum Parted-Check auch das Programm dosfsck verwenden. Folgender Aufruf – ebenfalls im System und nicht von Parted aus – testet und korrigiert automatisch eine FAT oder VFAT-Partition:

dosfsck -a -t -v /dev/hdb3

Je nach Distribution gehört dosfsck unter Umständen nicht zur Standardinstallation und muss nachinstalliert werden.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

  • Platten partitionieren mit QtParted
    Um Festplatten zu partitionieren, verwendet man unter Linux klassisch das Kommandozeilen-Tool fdisk – Größenveränderungen vorhandener Partitionen sind damit aber nicht möglich. Wer bisher das kommerzielle Partition Magic einsetzte, findet in QtParted einen freien Clone für Linux.
  • Shell-Tools für GPT-Partitionstabellen
    Um Platten zu partitionieren, greift man unter Linux traditionell zu "fdisk" – doch mit modernen GPT-Platte kann das Programm nicht umgehen. Die Alternativen heißen "gdisk" und "parted".
  • Sauber eingeräumt
    Jeder Benutzer weiß, dass er eine Datei speichern muss, damit diese beim nächsten Start des Rechners noch vorhanden ist. Welche Speichermedien sich dazu eignen und wie die Dateien auf das Medium gelangen, erklärt dieser Basics-Artikel.
  • Mit Tar eine Linux-Installation für den Notfall präparieren
    Wer seine Daten schlau sichert, den schockt selbst ein Festplattencrash nicht sonderlich: Auch ohne Neuinstallation restauriert er sein System im Handumdrehen.
  • Dr. Linux
    Komplizierte Organismen, wie Linux-Systeme es nun einmal sind, haben so ihre ganz eigenen Wehwehchen. Dr. Linux beobachtet die Patienten in den Linux-Newsgruppen, stellt Rezepte für aktuelle Probleme aus und alternative Heilmethoden vor.
Kommentare

Infos zur Publikation

title_2014_08

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 0 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...
Öhm - wozu Benutzername, wenn man dann hier mit Klarnamen angezeigt wird?
Thomas Kallay, 03.07.2014 20:30, 1 Antworten
Hallo Team von Linux-Community, kleine Zwischenfrage: warum muß man beim Registrieren einen Us...
openSUSE 13.1 - Login-Problem wg. Fehler im Intel-Grafiktreiber?
Thomas Kallay, 03.07.2014 20:26, 8 Antworten
Hallo Linux-Community, habe hier ein sogenanntes Hybrid-Notebook laufen, mit einer Intel-HD460...
Fernwartung für Linux?
Alfred Böllmann, 20.06.2014 15:30, 7 Antworten
Hi liebe Linux-Freunde, bin beim klassischen Probleme googeln auf www.expertiger.de gestoßen, ei...