Fdisk
fdisk - Bearbeiten von Partitionstabellen topic - Kurzbeschreibung
Beschreibung
fdisk ist ein menügesteuertes Programm für die Erzeugung und Manipulation von Partitionstabellen. Es kann DOS-Partitionstabellen in den Formaten GPT, MBR, Sun, SGI und BSD verarbeiten.
Blockorientierte Geräte können in eine oder mehrere logische Platten (Partitionen) unterteilt werden. Diese Unterteilung wird in der Partitionstabelle notiert, die sich auf dem Sektor 0 der Platte befindet. (In der BSD-Welt spricht man von »disk slices« und einem »disklabel«.)
In der Voreinstellung werden jegliche Partitionierungsvorgänge durch die E/A-Grenzen (die Topologie) des Gerätes bestimmt. fdisk ist in der Lage, das Platten-Layout für eine 4K-Sektorengröße zu optimieren und den Ausrichtungsversatz auf modernen Geräten für MBR und GPT zu nutzen. Es ist immer eine gute Wahl, den Voreinstellungen von fdisk zum Beispiel im Hinblick auf den jeweils ersten und letzten Sektor einer Partition zu folgen, und die durch die +/-<Größe>{M,G,…}-Notation angegebenen Partitionen werden stets entsprechend den Gegebenheiten des Gerätes ausgerichtet sein.
Die CHS-Adressierung (»Cylinder-Head-Sector«, Zylinder-Kopf-Sektor) gilt als veraltet und wird standardmäßig nicht verwendet. Bitte folgen Sie keinen veralteten Artikeln und Empfehlungen wie fdisk -S <n> -H <n> für SSD-Geräte oder solche mit 4k-Sektoren.
Beachten Sie, dass partx(8) eine leistungsfähige Schnittstelle für Skripte zum Ausgeben von Platten-Layouts bietet, während fdisk eher für Normalbenutzer entworfen wurde. Abwärtskompatibilität in der Ausgabe von fdisk kann nicht garantiert werden. Die Eingabe (die Befehle) dagegen sollten immer abwärtskompatibel sein.
Option | Beschreibung |
---|---|
Interaktiver Modus |
|
Nicht-interaktiver Modus |
|
Installation
Syntax
Optionen
Parameter
Umgebungsvariablen
Exit-Status
Anwendung
Fehlerbehebung
Konfiguration
Dateien
Anhang
Siehe auch
Dokumentation
RFC
RFC | Titel |
---|---|
0000 |
Man-Pages
Info-Pages
Links
Projekt
Weblinks
- https://linux.die.net/man/8/fdisk
- https://manpages.debian.org/stretch/manpages-de/fdisk.8.de.html
- https://wiki.ubuntuusers.de/fdisk/
TMP
Installation
Der Befehl fdisk ist Teil des Pakets util-linux, welches heruntergeladen werden kann von: Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.
Syntax
# fdisk [Optionen] DATENTRAEGER # fdisk [Optionen] Gerät # fdisk -l [Gerät …]
Optionen
Unix | GNU | Beschreibung |
---|---|---|
-b | --sector-size SEKTORGROESSE | Ändern der Sektorgröße. Gültige Werte: 512, 1024, 2048 oder 4096. fdisk unterscheidet zwischen logischer und physischer Sektorgröße. Option ändert beide Sektorgrößen auf SEKTORGROESSE. |
-B | --protect-boot | Verhindert das Löschen des 1. Sektors des Datenträgers, wenn eine neue Festplattenbezeichnung erzeugt wird. |
-c | --compatibility[=MODUS] | Legt den Kompatibilitätsmodus fest (dos oder nondos). Für Abwärtskompatibilität, kann die Option ohne MODUS-Argument verwendet werden, dann wird der Standardwert nondos verwendet. Beachten: Optionales MODUS-Argument darf nicht durch ein Leerzeichen von der -c-Option getrennt werden => -c=dos. |
-h | --help | Zeigt Hilfe an und beendet Programm. |
-L | --color[=WANN] | Stellt Ausgabe farbig dar. Optionales WANN-Argument kann auto, never oder always sein. Ohne Angabe des WANN-Arguments, ist auto der Standardwert. Farben können deaktiviert werden. |
-l | --list | Gibt Partitionstabellen für angegebene Datenträger aus u. beendet das Programm. Ohne Angabe eines Datenträgers, werden die Datenträger aus /proc/partitions verwendet. |
-o | --output SPALTE | Gibt an, welche Spalten in der Ausgabe angezeigt werden sollen. Mit --help erhalten Sie eine Liste aller unterstützten Spalten. -l, --list muss ebenfalls angegeben werden. Die voreingestellte Liste der Spalten kann erweitert werden, indem man die Liste im Format +SPALTE angibt (z. B. -o +UUID). |
-t | --type TYP | Aktiviert die Unterstützung für Plattenbezeichnungen des angegebenen TYPs, z. B. gpt od. dos und deaktiviert die Unterstützung für alle anderen Typen. |
-u | --units[=EINHEIT] | Legt fest, ob bei der Ausgabe von Partitionstabellen die Größe in Sektoren oder Zylindern angegeben wird. Ohne das EINHEIT-Argument wird als Standard die Größe in Sektoren ausgegeben. Beachten: Optionales EINHEIT-Argument darf nicht durch ein Leerzeichen von der -u-Option => -u=cylinders. |
-H | --heads ZAHL | Legt die Anzahl der Köpfe der Festplatte, die für Partitionstabellen verwendet werden sollen fest, nicht die physikalische Anzahl. Vernünftige Werte sind 255 und 16. |
-S | --sectors ZAHL | Legt fest, wie viele Sektoren sich auf einer Spur der Platte befinden, die für Partitionstabellen verwendete, nicht die physikalische Anzahl. Ein sinnvoller Wert ist 63. |
-w | --wipe WANN | Löscht Dateisystem-, RAID- und Partitionstabellensignaturen von dem Gerät, um mögliche Kollisionen zu vermeiden. Mögliche WANN-Argumente: auto, never oder always. Ohne das WANN-Argument wird als Standard auto verwendet, d.h. die Signaturen werden nur im interaktiven Modus gelöscht. |
-V | --version | Zeigt Versionsinformationen an und beendet das Programm. |
Unix | GNU | Beschreibung |
---|---|---|
-b | --sector-size Sektorgröße | gibt die Sektorgröße der Festplatte an. Gültige Werte sind 512, 1024, 2048 oder 4096. (Neuere Kernel kennen die Sektorgröße. Verwenden Sie diese Option nur mit alten Kerneln oder um die Sicht des Kernels außer Kraft zu setzen.) Seit util-linux-2.17 unterscheidet fdisk zwischen logischer und physischer Sektorgröße. Diese Option ändert beide Sektorgrößen auf Sektorgröße. |
-B | --protect-boot | verhindert das Löschen des ersten Sektors des Geräts, wenn eine neue Festplattenbezeichnung erzeugt wird. Dieses Funktionsmerkmal wird für GPT
und MBR unterstützt. |
-c | --compatibility[=Modus] | legt den Kompatibilitätsmodus (»dos« oder »nondos«) fest. Der Standardwert ist »nondos«. Um Abwärtskompatibilität zu gewährleisten, kann die Option ohne Modus-Argument verwendet werden. In diesem Fall wird der Standardwert verwendet. Beachten Sie, dass das optionale Modus-Argument nicht durch ein Leerzeichen von der -c-Option getrennt werden darf, die korrekte Form ist beispielsweise -c=dos. |
-h | --help | zeigt einen Hilfetext an und beendet das Programm. |
-V | --version | zeigt die Versionsnummer an und beendet das Programm. |
-L | --color[=WANN] | stellt die Ausgabe farbig dar. Das optionale Argument wann kann auto, never oder always sein. Falls wann nicht angegeben ist, ist auto die Voreinstellung. Die Farben können deaktiviert werden. Die jeweilige einkompilierte Voreinstellung zeigt Ihnen die Option --help an. Siehe auch den Abschnitt FARBEN. |
-l | --list | gibt Partitionstabellen für die angegebenen Geräte aus und beendet das Programm. Wurden keine Geräte angegeben, werden bei Existenz von /proc/partitions die dort erwähnten Geräte verwendet. Die Geräte werden stets in der Reihenfolge aufgelistet, wie sie in der Befehlszeile angegeben werden, oder wie sie der Kernel in /proc/partitions auflistet. |
-x | --list-details | erzeugt eine Ausgabe wie mit --list, aber detailreicher. |
--lock[=Modus] | verwendet eine exklusive BSD-Sperre für das Gerät oder die Datei, auf dem/der es agiert. Das optionale Argument Modus kann yes, no (oder 1 und 0) oder nonblock sein. Falls das Argument Modus weggelassen wird, wird standardmäßig yes angenommen. Diese Option setzt die Umgebungsvariable $LOCK_BLOCK_DEVICE außer Kraft. Standardmäßig wird überhaupt keine Sperre gesetzt, dies wird aber empfohlen, um Kollisionen mit systemd-udevd(8) oder anderen Werkzeugen zu vermeiden. | |
-n | --noauto-pt | erstellt auf einem leeren Gerät nicht automatisch eine neue Standard-Partitionstabelle. Die Partitionstabelle muss explizit vom Benutzer erstellt werden (mit einem Befehl wie »o«, »g« usw.). |
-o | --output Liste | gibt die anzuzeigenden Spalten an. Mit --help erhalten Sie eine Liste aller unterstützten Spalten. Die voreingestellte Liste der Spalten kann erweitert werden, indem Sie die Liste im Format +Liste angeben (beispielsweise -o +UUID). |
-s | --getsz | gibt die Größe jedes der angegebenen blockorientierten Geräte in 512-Byte-Sektoren aus. Diese Option ist veraltet, verwenden Sie stattdessen blockdev(8). |
-t | --type Typ | aktiviert die Unterstützung für Plattenbezeichnungen des angegebenen Typs und deaktiviert die Unterstützung für alle anderen Typen. |
-u | --units[=Einheit] | legt fest, ob bei der Ausgabe von Partitionstabellen die Größe in »Sektoren« oder »Zylindern« angegeben wird. Standardmäßig wird die Größe in Sektoren angezeigt. Um Abwärtskompatibilität zu gewährleisten, kann die Option ohne das Einheit-Argument verwendet werden. In diesem Fall wird der Standardwert verwendet. Beachten Sie, dass das optionale Einheit-Argument nicht von der -u-Option durch ein Leerzeichen getrennt werden kann, die korrekte Form ist beispielsweise »-u=cylinders«. |
-C | --cylinders Zahl | gibt die Zylinderzahl der Platte an. Und wozu soll das jemand verwenden wollen? |
-H | --heads Zahl | legt die Anzahl der Köpfe der Festplatte fest. (Natürlich nicht die physikalische Anzahl, sondern die für Partitionstabellen verwendete). Vernünftige Werte sind 255 und 16. |
-S | --sectors Zahl | legt fest, wie viele Sektoren sich auf einer Spur der Platte befinden, allerdings nicht die physikalische Anzahl, sondern die für Partitionstabellen verwendete. Ein sinnvoller Wert ist 63. |
-w | --wipe WANN | entfernt Dateisystem, RAID und Partitionstabellensignaturen von dem Gerät, um mögliche Kollisionen zu vermeiden. Das Argument WANN kann auto, never oder always lauten. Wenn diese Option nicht angegeben ist, ist die Vorgabe auto. In diesem Fall werden die Signaturen nur im interaktiven Modus entfernt. In allen Fällen werden erkannte Signaturen durch Warnmeldungen berichtet, bevor eine neue Partitionstabelle erstellt wird. Siehe auch den Befehl wipefs(8). |
-W | --wipe-partitions WANN | Löscht Dateisystem-, RAID- und Partitionstabellensignaturen von einer new erstellten Partition, um mögliche Kollisionen zu vermeiden. Das Argument WANN kann auto, never oder always lauten. Wenn diese Option nicht angegeben ist, ist die Vorgabe auto. In diesem Fall werden die Signaturen nur im interaktiven Modus und nach Bestätigung durch den Benutzer gelöscht. In allen Fällen werden die erkannten Signaturen durch Warnmeldungen berichtet, bevor eine neue Partition erstellt wird. Siehe auch den Befehl wipefs(8). |
-V | --version | zeigt Versionsinformationen an und beendet das Programm. |
Kommandos
Hauptmenü
Auswahl von Kommandos ohne Veränderungen an einer MBR-Partitionstabelle
Kommando | Beschreibung |
---|---|
m | Ausgabe eines Hilfetextes der zur Verfügung stehenden Kommandos. |
p | Anzeige der Informationen zu MBR-Partitionen eines Datenträgers. |
u | Umschalten der Einheiten-Anzeige. |
x | Aufruf der Menü-Ebene 2 (zusätzliche Funktionen - nur für Experten). |
q | Verlassen des Programms ohne Veränderungen auf den Datenträger zu schreiben. |
Auswahl von Kommandos mit Veränderungen an einer MBR-Partitionstabelle
Kommando | Beschreibung |
---|---|
a | (De)Aktivieren des "bootfähig"-Flag einer MBR-Partition eines Datenträgers. |
c | (De)Aktivieren des DOS-Kompatibilitätsflags. |
d | Löschen einer MBR-Partition. |
n | Neuanlage einer MBR-Partition. |
o | Neuanlage einer leeren DOS-Partitionstabelle (Typ msdos) |
t | Änderung des Dateisystemtyps (ID) einer Partition. |
w | Abspeichern aller Änderungen in die MBR-Partitionstabelle eines Datenträgers. |
Expertenmenü
Auswahl von zusätzlichen Funktionen mit/ohne Veränderungen
Kommando | Beschreibung |
---|---|
b | Datenanfang einer Partition eines Datenträgers verschieben. |
f | Einträge in einer MBR-Partitionstabelle in Reihenfolge bringen. |
r | Zurückwechseln zur Menüebene 1 (Hauptmenü). |
v | Überprüfen einer MBR-Partitionstabelle. |
Parameter
Das Gerät ist normalerweise /dev/sda, /dev/sdb oder so. Ein Gerätename gilt für die ganze Platte. Alte Systeme ohne libata (eine im Linux-Kernel verwendete Bibliothek für ATA-Controller und -Geräte) unterscheiden zwischen IDE- und SCSI-Platten. Dort ist der Gerätename /dev/hd* (IDE) oder /dev/sd* (SCSI).
Die Partition besteht aus einem Gerätenamen und einer folgenden Partitionsnummer. Beispielsweise ist /dev/sda1 die erste Partition auf der ersten Festplatte des Systems (siehe auch in der Dokumentation des Linux-Kernels die Datei Documentation/admin-guide/devices.txt).
Größe
Im »Letzter Sektor«-Dialog können Partitionsgrößen als Anzahl der Sektoren oder in der Notation +/-<Größe>{K,B,M,G,…} angegeben werden.
Wird der Größenangabe ein »+« vorangestellt, so wird diese als Anzahl der Bytes relativ zum ersten Sektor der Partition interpretiert. Falls der Größenangabe ein »-« vorangestellt wird, dann wird sie als relativ zu der Größenbegrenzung (dem letzten verfügbaren Sektor für die Partition) interpretiert.
Falls die Größe in Byte angegeben ist, dann kann eines der multiplikativen Suffixe KiB=1024, MiB=1024*1024 usw. für GiB, TiB, PiB, EiB, ZiB und YiB folgen. Dabei ist »iB« optional, beispielsweise ist »K« gleichbedeutend mit »KiB«.
Die relativen Größenangaben sind stets auf die E/A-Grenzen des Gerätes ausgerichtet. Die Notation +/-<Größe>{K,B,M,G,…} wird daher empfohlen.
Aus Gründen der Abwärtskompatibilität akzeptiert fdisk auch die Suffixe KB=1000, MB=1000*1000 usw. für GB, TB, PB, EB, ZB und YB. Diese Dezimalsuffixe gelten jedoch als veraltet und sollten nicht mehr verwendet werden.
Umgebungsvariablen
Option | Beschreibung |
---|---|
FDISK_DEBUG=all | aktiviert die Debug-Ausgabe für fdisk |
LIBFDISK_DEBUG=all | aktiviert die Debug-Ausgabe für libfdisk |
LIBBLKID_DEBUG=all | aktiviert die Debug-Ausgabe für libblkid |
LIBSMARTCOLS_DEBUG=all | aktiviert die Debug-Ausgabe für libsmartcols |
LIBSMARTCOLS_DEBUG_PADDING=on | verwendet sichtbare Auffüllzeichen |
LOCK_BLOCK_DEVICE=<Modus> | verwendet eine exklusive BSD-Sperre. Der Modus ist »1« oder »0«. Siehe --lock für weitere Details |