Fdisk
- in Deutsch | - in English |
Fdisk (kurz für fixed disk) ist ein Programm, womit Datenträger wie HDDs, USB Stick usw. partitioniert werden. Benutzt wird das Programm in der Kommandozeile der Dreambox. Dazu müsst ihr eine Verbindung via Telnet oder SSH aufbauen.
Eine alternative wäre sfdisk, welches die gleichen Funktionen bereitstellt, jedoch auch über Optionen gesteuert werden kann und somit ideal für die Benutzung von Scripten ist.
Partitionieren kann die Dreambox von Hause aus, wenn man die Speichergeräte Verwaltung in den Einstellungen öffnet. Auch der Gerätemanager vom BluePanel bietet diese Möglichkeit. Bei beiden Varianten können die angeschlossenen Geräte Initialisiert werden. Initialisieren bedeutet, dass das komplette Speichergerät mit einer Partition ausgestattet und anschliessend formatiert wird (z.B. ext3 oder ext4).
Achtung! (Falsche) Manipulationen an vorhandenen Partitionen führen zu Datenverlust. Eine Datensicherung ist daher Pflicht, bevor ihr das Programm benutzt. |
Fdisk kann mit Partitionen bis 2TB umgehen. Unter OE 2.0 basierenden Images steht das "modernere" GNU Parted (parted) zur Verfügung, um grössere Partitionen zu erzeugen. Als Partitionstabelle muss in diesem Fall der Typ gpt eingesetzt werden. |
Inhaltsverzeichnis
Informationen aller Partitionen anzeigen
Mit folgendem Befehl könnt ihr alle Partitionen der angeschlossenen Geräte anzeigen.
fdisk -l
Eine gekürzte Ausgabe kann wie folgt ausschauen.
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 1 121601 976760032 83 Linux Disk /dev/sdf: 8006 MB, 8006926336 bytes 247 heads, 62 sectors/track, 1021 cylinders Units = cylinders of 15314 * 512 = 7840768 bytes Device Boot Start End Blocks Id System /dev/sdf1 1 1021 7817766 83 Linux
Das Beispiel zeigt z.B eine Festplatte (/dev/sda1) mit einer Grösse von 1TB und das zweite Gerät ist ein USB Stick (/dev/sdf1) mit 8GB Speicherplatz. Diese Informationen weiss ich natürlich auch, weil ich die entsprechenden Geräte eingebaut oder angesteckt habe ;) Beide Geräte verfügen jeweils über eine Partition, welche mit der 1 hinter dem Gerätenamen dargestellt wird. Wären z.B. zwei Partitionen vorhanden, dann wäre die Anzeige wie folgt.
Disk /dev/sdf: 8006 MB, 8006926336 bytes 247 heads, 62 sectors/track, 1021 cylinders Units = cylinders of 15314 * 512 = 7840768 bytes Device Boot Start End Blocks Id System /dev/sdf1 1 511 3912696 83 Linux /dev/sdf2 512 1021 3905070 83 Linux
Zurück zum Inhaltsverzeichnis
Benutzung von fdisk
Dieser Abschnitt soll kurz die Bedienung von fdisk zeigen. Unmountet zuerst das Speichergerät (Via Speichergeräte, Gerätemanager oder Konsole), bevor ihr fdisk benutzt. Ihr müsst natürlich auch den Gerätename kennen, z.B. /dev/sdf wie im Beispiel des oberen Abschnittes. Ihr könnt mit dem Befehl mount kontrollieren, ob ein Gerät eingebunden ist oder nicht. Wird der Gerätename nicht angezeigt z.B. wenn ihr mittles UUID (Universally Unique Identifier) arbeitet (Standard von DMM), dann hilft der Befehl blkid.
Startet das Programm wie folgt.
fdisk /dev/sdf
Die folgende Zeile erscheint. Fdisk ist nun bereit, um Partitionen zu manipulieren. Wenn ihr m drückt und mit ↵ Enter bestätigt, dann seht ihr alle verfügbaren Optionen.
Command (m for help):
Die wichtigsten Optionen sind in der folgenden Tabelle beschrieben.
Funktion | Beschreibung |
d | Löscht eine Partition. |
n | Erstellt eine Partition. |
p | Zeigt die Partitionsinformationen des Datenträgers. |
q | Beendet fdisk, ohne Änderungen auszuführen. |
w | Führt alle Änderungen der Partitionierung aus und beendet das Programm. |
Beispiel - Partition löschen und erstellen
Dieser Abschnitt zeigt, wie eine Partition gelöscht und wieder erstellt werden kann. Als Beispiel wird wieder der USB Stick genommen mit dem Gerätenamen /dev/sdf. Die einzelnen Aktionen sind im Beispiel als roter Text beschrieben. Ziel ist es, die Grundfunktionen und Bedienung von fdisk kennenzulernen ;)
root@dm8000:/# fdisk /dev/sdf => fdisk für das entsprechende Gerät starten Command (m for help): p => Mit p wird die momentane Partitionierung angezeigt, also eine Partition als /dev/sdf1 Disk /dev/sdf: 8006 MB, 8006926336 bytes 247 heads, 62 sectors/track, 1021 cylinders Units = cylinders of 15314 * 512 = 7840768 bytes Device Boot Start End Blocks Id System /dev/sdf1 1 1021 7817766 83 Linux Command (m for help): d => d löscht die vorhandene Partition Selected partition 1 Command (m for help): p => p zeigt jetzt keine Partition an, nur das Raw Device Disk /dev/sdf: 8006 MB, 8006926336 bytes 247 heads, 62 sectors/track, 1021 cylinders Units = cylinders of 15314 * 512 = 7840768 bytes Device Boot Start End Blocks Id System Command (m for help): n => n eingeben, um eine neue Partition zu erstellen Command action e extended p primary partition (1-4) p => p eingeben, um eine Primäre Partition zu erstellen Partition number (1-4): 1 => Partitionsnummer eingeben, in diesem Fall 1 First cylinder (1-1021, default 1): Using default value 1 => Beginn der Partition definieren, mit ↵ Enter bestätigen. Last cylinder or +size or +sizeM or +sizeK (1-1021, default 1021): Using default value 1021 => Ende der Partition definieren, mit ↵ Enter bestätigen. Command (m for help): p => p zeigt jetzt 1 Partition an ;) Disk /dev/sdf: 8006 MB, 8006926336 bytes 247 heads, 62 sectors/track, 1021 cylinders Units = cylinders of 15314 * 512 = 7840768 bytes Device Boot Start End Blocks Id System /dev/sdf1 1 1021 7817766 83 Linux Command (m for help): w => w startet die Partitionierung und beendet das Programm The partition table has been altered! Calling ioctl() to re-read partition table root@dm8000:/#
Mit dem Befehl fdisk -l könnt ihr das Ergebnis kontrollieren. Die Partitionierung ist abgeschlossen und das Gerät bereit, für weitere Aktionen.
Formatieren mit dem Wunschdateisystem (z.B. ext3), könnt ihr mit folgendem Befehl. Die Bezeichnung (Label) für das Gerät ist in diesem Beispiel usb. Kontrollieren, dass die Partition nicht gemountet ist, mit dem Befehl mount, ansonsten aushängen, bevor formatiert wird.
mkfs.ext3 -L usb /dev/sdf1
Eine Dateisystemüberprüfung könnt ihr auf ausgehängten Dateisystemen wie folgt ausführen.
fsck.ext3 -p /dev/sdf1
Jetzt kann das Gerät genutzt und im System eingebunden werden z.B. mit der Speichergeräteverwaltung von DMM, dem Gerätemanager vom Blue Panel oder manuell, usw.
Beispiel - Zwei Partitionen erstellen
In diesem Beispiel werden zwei Primäre Partitionen auf dem USB Stick angelegt. Das Gerät ist wieder /dev/sdf mit einer Grösse von 8GB. Die erste Partition erhält eine Grösse von 4GB und der Rest wird für die zweite Partition verwendet. Die einzelnen Aktionen sind im Beispiel als roter Text beschrieben.
root@dm8000:/# fdisk /dev/sdf => fdisk für das entsprechende Gerät starten Command (m for help): p => Mit p wird die momentane Partitionierung angezeigt, also eine Partition als /dev/sdf1 Disk /dev/sdf: 8006 MB, 8006926336 bytes 247 heads, 62 sectors/track, 1021 cylinders Units = cylinders of 15314 * 512 = 7840768 bytes Device Boot Start End Blocks Id System /dev/sdf1 1 1021 7817766 83 Linux Command (m for help): d => d löscht die vorhandene Partition Selected partition 1 Command (m for help): p => p zeigt jetzt keine Partition an, nur das Raw Device Disk /dev/sdf: 8006 MB, 8006926336 bytes 247 heads, 62 sectors/track, 1021 cylinders Units = cylinders of 15314 * 512 = 7840768 bytes Device Boot Start End Blocks Id System Command (m for help): n => n eingeben, um eine neue Partition zu erstellen Command action e extended p primary partition (1-4) p => p eingeben, um eine Primäre Partition zu erstellen Partition number (1-4): 1 => Partitionsnummer eingeben, in diesem Fall 1 First cylinder (1-1021, default 1): Using default value 1 => Beginn der Partition definieren, mit [Enter] bestätigen. Last cylinder or +size or +sizeM or +sizeK (1-1021, default 1021): +4GB => Grösse der ersten Partition definieren, im Beispiel mit +4GB Command (m for help): n => n eingeben, um die zweite Partition zu erstellen Command action e extended p primary partition (1-4) p => p eingeben, um eine Primäre Partition zu erstellen Partition number (1-4): 2 => Partitionsnummer eingeben, in diesem Fall 2 für die zweite First cylinder (512-1021, default 512): Using default value 512 => Beginn der zweiten Partition definieren, mit ↵ Enter bestätigen. Last cylinder or +size or +sizeM or +sizeK (512-1021, default 1021): Using default value 1021 => Ende der zweiten Partition definieren, mit ↵ Enter bestätigen. Command (m for help): p => p zeigt jetzt beide Partitionen an ;) Disk /dev/sdf: 8006 MB, 8006926336 bytes 247 heads, 62 sectors/track, 1021 cylinders Units = cylinders of 15314 * 512 = 7840768 bytes Device Boot Start End Blocks Id System /dev/sdf1 1 511 3912696 83 Linux /dev/sdf2 512 1021 3905070 83 Linux Command (m for help): w => w startet die Partitionierung und beendet das Programm The partition table has been altered! Calling ioctl() to re-read partition table root@dm8000:/#
Mit dem Befehl fdisk -l könnt ihr das Ergebnis kontrollieren. Die Partitionierung ist abgeschlossen und das Gerät bereit, für weitere Aktionen.
Formatieren mit dem Wunschdateisystem (z.B. ext4), könnt ihr mit folgendem Befehl. Die Bezeichnung (Label) für die erste Partition ist in diesem Beispiel usb, die zweite Partition erhält usb1. Kontrollieren, dass keine Partitionen gemountet sind, mit dem Befehl mount, ansonsten aushängen, bevor formatiert wird.
mkfs.ext4 -L usb /dev/sdf1 mkfs.ext4 -L usb1 /dev/sdf2
Eine Dateisystemüberprüfung könnt ihr auf ausgehängten Dateisystemen wie folgt ausführen.
fsck.ext4 -p /dev/sdf1 fsck.ext4 -p /dev/sdf2
Jetzt können die Partitionen benutzt und im System eingebunden werden z.B. mit der Speichergeräteverwaltung von DMM, dem Gerätemanager vom BluePanel oder manuell, usw.