FDISK(8) | System-Administration | FDISK(8) |
fdisk - manipuliert die Festplatten-Partitionstabelle
fdisk [Optionen] Gerät
fdisk -l [Gerät …]
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.
-b, --sector-size Sektorgröße
-B, --protect-boot
-c, --compatibility[=Modus]
-h, --help
-V, --version
-L, --color[=WANN]
-l, --list
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
--lock[=Modus]
-n, --noauto-pt
-o, --output Liste
Die voreingestellte Liste der Spalten kann erweitert werden, indem Sie die Liste im Format +Liste angeben (beispielsweise -o +UUID).
-s, --getsz
-t, --type Typ
-u, --units[=Einheit]
-C, --cylinders Zahl
-H, --heads Zahl
-S, --sectors Zahl
-w, --wipe WANN
-W, --wipe-partitions WANN
-V, --version
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).
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.
fdisk kann (mit dem Befehl »I«) sfdisk(8)-kompatible Skriptdateien verarbeiten. Das Skript wird auf die im Speicher vorgehaltene Partitionstabelle angewendet, wodurch es möglich ist, die Partitionstabelle vor dem eigentlichen Speichern auf dem Laufwerk zu verändern.
Umgekehrt können Sie mit dem Befehl »O« die im Speicher vorgehaltene Partitionsaufteilung in eine Skriptdatei schreiben.
Die Skriptdateien sind zu cfdisk(8), sfdisk(8), fdisk und weiteren libfdisk-Anwendungen kompatibel. Weitere Details finden Sie in sfdisk(8).
GPT (GUID-Partitionstabelle)
Beachten Sie, dass der erste Sektor gemäß der GPT-Spezifikation stets für einen geschützten MBR reserviert ist. Dies verhindert, dass Partitionierungswerkzeuge, die nur auf den MBR zugreifen, GPT-Festplatten falsch erkennen und überschreiben.
GPT ist stets vor MBR zu bevorzugen, insbesondere auf moderner Hardware mit einem UEFI-Bootloader.
DOS-Typ (MBR)
In einer DOS-Partitionstabelle wird der Startversatz (starting offset) und die Größe der einzelnen Partitionen auf zwei Arten gespeichert: als absolute Anzahl der Sektoren (angegeben in 32 Bit) und als Zylinder/Köpfe/Sektoren-Tripel (CHS, angegeben in 10/8/6 Bit). Ersteres ist in Ordnung - mit 512-Byte-Sektoren funktioniert das bis zu 2 TB. Letzteres hat zwei Probleme. Erstens können die C/H/S-Felder nur dann ausgefüllt werden, wenn die Anzahl der Köpfe und die Anzahl der Sektoren pro Spur bekannt sind. Und zweitens, selbst wenn diese Zahlen bekannt sind, reichen die 24 verfügbaren Bit nicht aus. DOS verwendet C/H/S, Windows beides, Linux verwendet C/H/S nie. Die C/H/S-Adressierung ist veraltet, daher ist es möglich, dass diese in zukünftigen Versionen von fdisk nicht mehr unterstützt wird.
Bitte lesen Sie den Abschnitt zum DOS-Modus, wenn Sie DOS-kompatible Partitionen benötigen. fdisk beachtet in der Voreinstellung keine Zylindergrenzen.
BSD/Sun-Typ
IRIX/SGI-Typ
Die Aufrufe sync(2) und ioctl(BLKRRPART) werden nach der Aktualisierung der Partitionstabelle ausgeführt (wobei die Partitionstabelle auf der Platte neu eingelesen wird), bevor das Programm beendet wird.
Beachten Sie, dass all dies veraltet ist. Sie müssen sich eigentlich auf modernen Betriebssystemen nicht mit Dingen wie Geometrie und Zylindern befassen. Wenn Sie wirklich DOS-kompatible Partitionierung benötigen, dann müssen Sie den DOS-Modus und Zylinder-Einheiten mit den Befehlszeilenoptionen »-c=dos -u=cylinders« für fdisk aktivieren.
Der FORMAT-Befehl von DOS 6.x sucht im ersten Sektor des Datenbereichs der Partition nach ein paar Informationen und behandelt diese Informationen als zuverlässiger als die Informationen in der Partitionstabelle. Der DOS-FORMAT-Befehl erwartet vom DOS-FDISK-Befehl, dass die ersten 512 Byte des Datenbereichs einer Partition bei jeder Größenänderung gelöscht werden. DOS FORMAT wird dieser zusätzlichen Informationen suchen, auch wenn der /U-Schalter gesetzt ist - die Programmautoren betrachten dies als einen Fehler in DOS FORMAT und DOS FDISK.
Die Quintessenz ist: Wenn Sie mit fdisk oder cfdisk(8) die Größe eines Eintrags in der DOS-Partitionstabelle ändern, dann müssen Sie auch mit dd die ersten 512 Byte der Partition auf Null setzen, bevor Sie mit dem DOS-FORMAT-Befehl die Partition formatieren. Wenn Sie beispielsweise mit fdisk auf einer DOS-Partitionstabelle einen Eintrag für /dev/sda1 erstellt haben, dann würden Sie (nach dem Verlassen von fdisk und dem Neustart von Linux, damit die Informationen in der Partitionstabelle gültig sind) mit dem Befehl dd if=/dev/zero of=/dev/sda1 bs=512 count=1 die ersten 512 Byte der Partition auf Null setzen.
Wenn möglich, wird fdisk die Festplattengeometrie automatisch ermitteln. Dies ist nicht unbedingt die physische Geometrie des Datenträgers. Tatsächlich haben moderne Festplatten nicht wirklich so etwas wie eine physische Geometrie; sicherlich kann sie nicht in der vereinfachenden CHS-Form beschrieben werden. Aber diese Geometrie wird halt für die MS-DOS-Partitionstabelle verwendet.
In der Regel geht standardmäßig alles gut. Es gibt keine Probleme, wenn Linux das einzige System auf der Festplatte ist. Wenn allerdings der Datenträger mit anderen Betriebssystemen gemeinsam genutzt wird, ist es oft ratsam, ein fdisk eines anderen Betriebssystems mindestens eine Partition anlegen zu lassen. Beim Start liest Linux die Partitionstabelle aus und versucht abzuleiten, welche (fingierte) Geometrie für eine gute Zusammenarbeit mit anderen Systemen erforderlich ist.
Jedesmal, wenn im DOS-Modus eine Partitionstabelle ausgegeben wird, werden die Einträge in der Partitionstabelle auf Konsistenz geprüft. Es wird geprüft, ob die physikalischen und logischen Start- und Endpunkte übereinstimmen und ob jede Partition (mit Ausnahme der ersten) an einer Zylindergrenze startet und endet.
Einige Versionen von MS-DOS erstellen eine erste Partition, die nicht auf einer Zylindergrenze beginnt, sondern auf Sektor 2 des ersten Zylinders. Partitionen, die auf Zylinder 1 anfangen, können nicht auf einer Zylindergrenze beginnen. Wenn Sie nicht auch OS/2 auf Ihrer Maschine installiert haben, werden Sie wahrscheinlich trotzdem keine Schwierigkeiten bekommen.
Um die besten Ergebnisse zur erzielen, sollten Sie ein betriebssystemspezifisches Partitionierungsprogramm einsetzen. Beispielsweise sollten Sie DOS-Partitionen mit dem DOS-FDISK erzeugen und Linux-Partitionen mit den Linux-Programmen fdisk oder cfdisk(8).
Die farbige Darstellung der Ausgabe wird über die Funktionen in terminal-colors.d(5) gesteuert. Die implizierte Einfärbung kann deaktiviert werden, indem Sie folgende (leere) Datei anlegen:
/etc/terminal-colors.d/fdisk.disable
Dies gilt für den Befehl fdisk. Die farbige Darstellung bei allen Werkzeugen erreichen Sie mit
/etc/terminal-colors.d/disable
Die benutzerspezifischen $XDG_CONFIG_HOME/terminal-colors.d oder $HOME/.config/terminal-colors.d setzen die globale Einstellung außer Kraft.
Beachten Sie, dass die Einfärbung der Ausgabe standardmäßig aktiviert sein könnte und in diesem Fall die terminal-colors.d-Verzeichnisse noch nicht zwangsläufig vorhanden sein müssen.
Folgende logische Farbnamen werden von fdisk unterstützt:
header
help-title
warn
welcome
FDISK_DEBUG=all
LIBFDISK_DEBUG=all
LIBBLKID_DEBUG=all
LIBSMARTCOLS_DEBUG=all
LIBSMARTCOLS_DEBUG_PADDING=on
LOCK_BLOCK_DEVICE=<Modus>
Karel Zak <kzak@redhat.com>, Davidlohr Bueso <dave@gnu.org>
Die Originalversion wurde von Andries E. Brouwer, A. V. Le Blanc und anderen geschrieben.
Verwenden Sie zum Melden von Fehlern das Fehlererfassungssystem auf <https://github.com/util-linux/util-linux/issues>.
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/>.
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>, Mario Blättermann <mario.blaettermann@gmail.com>, Dr. Tobias Quathamer <toddy@debian.org> und Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.
11. Mai 2022 | util-linux 2.38.1 |