Fdisk

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen
Deutsch.png - in Deutsch English.png - 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).


Ambox warning.png Achtung!
(Falsche) Manipulationen an vorhandenen Partitionen führen zu Datenverlust. Eine Datensicherung ist daher Pflicht, bevor ihr das Programm benutzt.
Ambox notice.png 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.


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.