Zum Inhalt springen

fdisk

Aus Foxwiki

fdisk - Menügesteuertes Programm für die Erzeugung und Manipulation von Partitionstabellen

Beschreibung

Option Beschreibung
Interaktiver Modus
  • Wird über Kommandos gesteuert
  • Alle Änderungen werden erst vorgemerkt
  • Kann jederzeit mit Q (quit) verlassen werden, ohne Veränderungen am Datenträger vorzunehmen
  • Erst mit W (write) werden alle Informationen unwiderruflich festgeschrieben
Nicht-interaktiver Modus
  • Wird über Optionen gesteuert
  • Ist geeignet, um in Scripten verwendet zu werden
  • Im Gegensatz zum interaktiven Modus

TMP

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

Installation

Der Befehl fdisk ist Teil des Pakets util-linux

Aufruf

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ü

Kommandos ohne Veränderungen
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
Kommandos mit Veränderungen
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

Argumente

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)

Umgebung

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

Konfiguration

Dateien

  1. /etc/fstab


Anhang

Siehe auch

Dokumentation

Man-Page
Info-Page

Links

Projekt
Weblinks
  1. https://linux.die.net/man/8/fdisk
  2. https://manpages.debian.org/stretch/manpages-de/fdisk.8.de.html
  3. https://wiki.ubuntuusers.de/fdisk/