FDISK(8) System-Administration FDISK(8) BEZEICHNUNG fdisk - manipuliert die Festplatten-Partitionstabelle UBERSICHT fdisk [Optionen] Gerat fdisk -l [Gerat...] BESCHREIBUNG fdisk ist ein menugesteuertes Programm fur die Erzeugung und Manipulation von Partitionstabellen. Es kann DOS-Partitionstabellen in den Formaten GPT, MBR, Sun, SGI und BSD verarbeiten. Blockorientierte Gerate konnen 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 Partitionierungsvorgange durch die E/A-Grenzen (die Topologie) des Gerates bestimmt. fdisk ist in der Lage, das Platten-Layout fur eine 4K-Sektorengrosse zu optimieren und den Ausrichtungsversatz auf modernen Geraten fur 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 +/-E{M,G,...}-Notation angegebenen Partitionen werden stets entsprechend den Gegebenheiten des Gerates ausgerichtet sein. CHS (Cylinder-Head-Sector) addressing is deprecated and not used by default. Please, do not follow old articles and recommendations with fdisk -S -H advice for SSD or 4K-sector devices. Beachten Sie, dass partx(8) eine leistungsfahige Schnittstelle fur Skripte zum Ausgeben von Platten-Layouts bietet, wahrend fdisk eher fur Normalbenutzer entworfen wurde. Abwartskompatibilitat in der Ausgabe von fdisk kann nicht garantiert werden. Die Eingabe (die Befehle) dagegen sollten immer abwartskompatibel sein. OPTIONEN -b, --sector-size Sektorgrosse Specify the sector size of the disk. Valid values are 512, 1024, 2048, and 4096. The kernel is aware of the sector size for regular block devices. Use this option only on very old kernels, when working with disk images, or to override the kernel's default sector size. Since util-linux-2.17, fdisk distinguishes between logical and physical sector size. This option changes both sector sizes to the specified sectorsize. -B, --protect-boot verhindert das Loschen des ersten Sektors des Gerats, wenn eine neue Festplattenbezeichnung erzeugt wird. Dieses Funktionsmerkmal wird fur GPT und MBR unterstutzt. -c, --compatibility[=mode] legt den Kompatibilitatsmodus (>>dos<< oder >>nondos<<) fest. Der Standardwert ist >>nondos<<. Um Abwartskompatibilitat zu gewahrleisten, kann die Option ohne Modus-Argument verwendet werden. In diesem Fall wird der Standardwert verwendet. Beachten Sie, dass das optionale Modus-Argument nicht von der -c-Option durch ein Leerzeichen getrennt werden darf, die korrekte Form ist beispielsweise -c=dos. -L, --color[=when] 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 konnen deaktiviert werden. Die jeweilige einkompilierte Voreinstellung zeigt Ihnen die Option --help an. Siehe auch den Abschnitt FARBEN. -l, --list gibt Partitionstabellen fur die angegebenen Gerate aus und beendet das Programm. Wurden keine Gerate angegeben, werden bei Existenz von /proc/partitions die dort erwahnten Gerate verwendet. Die Gerate 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[=mode] verwendet eine exklusive BSD-Sperre fur das Gerat 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 standardmassig yes angenommen. Diese Option setzt die Umgebungsvariable $LOCK_BLOCK_DEVICE ausser Kraft. Standardmassig wird uberhaupt 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 Gerat 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 unterstutzten Spalten. Die voreingestellte Liste der Spalten kann erweitert werden, indem Sie die Liste im Format +Liste angeben (beispielsweise -o +UUID). -s, --getsz gibt die Grosse jedes der angegebenen blockorientierten Gerate in 512-Byte-Sektoren aus. Diese Option ist veraltet, verwenden Sie stattdessen blockdev(8). -t, --type Typ aktiviert die Unterstutzung fur Plattenbezeichnungen des angegebenen Typs und deaktiviert die Unterstutzung fur alle anderen Typen. -u, --units[=unit] legt fest, ob bei der Ausgabe von Partitionstabellen die Grosse in >>Sektoren<< oder >>Zylindern<< angegeben wird. Standardmassig wird die Grosse in Sektoren angezeigt. Um Abwartskompatibilitat zu gewahrleisten, 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=Zylinder<<. -C, --cylinders Zahl gibt die Zahl der Zylinder der Platte an. Und wozu soll das jemand verwenden wollen? -H, --heads Zahl legt die Anzahl der Kopfe der Festplatte fest (naturlich nicht die physikalische Anzahl, sondern die fur Partitionstabellen verwendete). Vernunftige 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 fur Partitionstabellen verwendete. Ein sinnvoller Wert ist 63. -w, --wipe wann entfernt Dateisystem, RAID und Partitionstabellensignaturen von dem Gerat, um mogliche 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 Fallen werden erkannte Signaturen durch Warnmeldungen berichtet, bevor eine neue Partitionstabelle erstellt wird. Siehe auch den Befehl wipefs(8). -W, --wipe-partitions wann loscht Dateisystem-, RAID- und Partitionstabellensignaturen von einer neu erstellten Partition, um mogliche 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 Bestatigung durch den Benutzer geloscht. In allen Fallen werden die erkannten Signaturen durch Warnmeldungen berichtet, bevor eine neue Partition erstellt wird. Siehe auch den Befehl wipefs(8). -h, --help zeigt einen Hilfetext an und beendet das Programm. -V, --version Display version and exit. GERATE Das Gerat ist normalerweise /dev/sda, /dev/sdb oder so. Ein Geratename gilt fur die ganze Platte. Alte Systeme ohne libata (eine im Linux-Kernel verwendete Bibliothek fur ATA-Controller und -Gerate) unterscheiden zwischen IDE- und SCSI-Platten. Dort ist der Geratename /dev/hd* (IDE) oder /dev/sd* (SCSI). Die Partition besteht aus einem Geratenamen 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). GROSSEN Im >>Letzter Sektor<<-Dialog konnen Partitionsgrossen als Anzahl der Sektoren oder in der Notation +/-{K,B,M,G,...} angegeben werden. Wird der Grossenangabe ein >>+<< vorangestellt, so wird diese als Anzahl der Bytes relativ zum ersten Sektor der Partition interpretiert. Falls der Grossenangabe ein >>-<< vorangestellt wird, dann wird sie als relativ zu der Grossenbegrenzung (dem letzten verfugbaren Sektor fur die Partition) interpretiert. Falls die Grosse in Byte angegeben ist, dann kann eines der multiplikativen Suffixe KiB (1024 Byte), MiB (1024*1024 Byte) usw. fur GiB, TiB, PiB, EiB, ZiB und YiB folgen. Dabei ist >>iB<< optional, beispielsweise ist >>K<< gleichbedeutend mit >>KiB<<. The relative sizes if specified with multiplicative suffixes (e.g. +100MiB) are always aligned according to device I/O limits. The +/-{K,B,M,G,...} notation is recommended. The last sector of the partition is strictly calculated as + (without -1) if the size is specified by the + notation. In this case, the size is not aligned to the device I/O limits. Aus Grunden der Abwartskompatibilitat akzeptiert fdisk auch die Suffixe KB (1000 Byte), MB (1000*1000 Byte) usw. fur GB, TB, PB, EB, ZB und YB. Diese Dezimalsuffixe gelten jedoch als veraltet und sollten nicht mehr verwendet werden. SKRIPTDATEIEN fdisk kann (mit dem Befehl >>I<<) sfdisk(8)-kompatible Skriptdateien verarbeiten. Das Skript wird auf die im Speicher vorgehaltene Partitionstabelle angewendet, wodurch es moglich ist, die Partitionstabelle vor dem eigentlichen Speichern auf dem Laufwerk zu verandern. Umgekehrt konnen Sie mit dem Befehl >>O<< die im Speicher vorgehaltene Partitionsaufteilung in eine Skriptdatei schreiben. Die Skriptdateien sind zu cfdisk(8), sfdisk(8), fdisk(8) und weiteren libfdisk-Anwendungen kompatibel. Weitere Details finden Sie in sfdisk(8). DISKLABEL GPT (GUID-Partitionstabelle) GPT ist ein moderner Standard fur das Layout der Partitionstabelle. GPT verwendet logische 64-Bit-Blockadressen, Prufsummen, UUIDs und Namen fur Partitionen sowie eine unbegrenzte Anzahl der Partitionen (wobei diese Anzahl in vielen Partitionierungswerkzeugen auf 128 begrenzt ist). Beachten Sie, dass der erste Sektor gemass der GPT-Spezifikation stets fur einen geschutzten MBR reserviert ist. Dies verhindert, dass Partitionierungswerkzeuge, die nur auf den MBR zugreifen, GPT-Festplatten falsch erkennen und uberschreiben. GPT ist stets vor MBR zu bevorzugen, insbesondere auf moderner Hardware mit einem UEFI-Bootloader. DOS-Typ (MBR) Eine DOS-Partitionstabelle kann eine unbegrenzte Anzahl von Partitionen enthalten. In Sektor 0 gibt es Raum fur die Beschreibung von 4 Partitionen (die als >>primare<< bezeichnet werden). Eine von ihnen kann logische Partitionen enthalten und wird erweiterte Partition genannt. Jeder logischen Partition geht eine verkettete Liste von Sektoren voraus. Fur die vier primaren Partitionen sind unabhangig von deren Existenz die Nummern 1 bis 4 reserviert, die Nummerierung der logischen Partitionen beginnt bei 5. In einer DOS-Partitionstabelle wird der Startversatz (starting offset) und die Grosse der einzelnen Partitionen auf zwei Arten gespeichert: als absolute Anzahl der Sektoren (angegeben in 32 Bit) und als Zylinder/Kopfe/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 konnen die C/H/S-Felder nur dann ausgefullt werden, wenn die Anzahl der Kopfe und die Anzahl der Sektoren pro Spur bekannt sind. Und zweitens, selbst wenn diese Zahlen bekannt sind, reichen die 24 verfugbaren 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 moglich, dass diese in zukunftigen Versionen von fdisk nicht mehr unterstutzt wird. Bitte lesen Sie den Abschnitt zum DOS-Modus, wenn Sie DOS-kompatible Partitionen benotigen. fdisk beachtet in der Voreinstellung keine Zylindergrenzen. BSD/Sun-Typ Eine BSD/SUN-Festplattenbezeichnung kann acht Partitionen beschreiben. Die dritte Partition sollte eine Partition beschreiben, die fur eine >>ganze Platte<< steht. Partitionen, die (wie eine Auslagerungspartition) ihren ersten Sektor auf Zylinder 0 nutzen, sollten nicht benutzt werden, weil dadurch die Festplattenbezeichnung beschadigt wird. Beachten Sie, dass eine BSD-Bezeichnung ublicherweise innerhalb einer DOS-Partition verschachtelt ist. IRIX/SGI-Typ Eine IRIX/SGI-Festplattenbezeichnung kann 16 Partitionen beschreiben; die elfte sollte eine vollstandige >>volume<<-Partition sein, wahrend die neunte als >>volume header<< gekennzeichnet werden sollte. Der Volume Header wird auch die Partitionstabelle umfassen, d. h. er beginnt bei Block Null und erstreckt sich standardmassig uber funf Zylinder. Der verbleibende Platz im Volume Header kann durch Header-Verzeichniseintrage belegt werden. Es durfen keine Partitionen mit dem Volume Header uberlappen. Legen Sie dort kein Dateisystem an und verandern Sie nicht seinen Typ, weil Sie dadurch die Partitionstabelle verlieren. Verwenden Sie diese Bezeichnung nur, wenn Sie mit Linux auf IRIX-/SGI-Maschinen arbeiten oder auf IRIX-/SGI-Festplatten zugreifen. Die Aufrufe sync(2) und ioctl(BLKRRPART) werden nach der Aktualisierung der Partitionstabelle ausgefuhrt (wobei die Partitionstabelle auf der Platte neu eingelesen wird), bevor das Programm beendet wird. WARNUNG ZUM DOS-MODUS UND DOS-6.X- Beachten Sie, dass all dies veraltet ist. Sie mussen sich eigentlich auf modernen Betriebssystemen nicht mit Dingen wie Geometrie und Zylindern befassen. Wenn Sie wirklich DOS-kompatible Partitionierung benotigen, dann mussen Sie den DOS-Modus und Zylinder-Einheiten mit den Befehlszeilenoptionen >>-c=dos -u=cylinders<< fur 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 zuverlassiger 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 Grossenanderung geloscht werden. DOS FORMAT wird diese zusatzlichen 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 Grosse eines Eintrags in der DOS-Partitionstabelle andern, dann mussen 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 fur /dev/sda1 erstellt haben, dann wurden Sie (nach dem Verlassen von fdisk und dem Neustart von Linux, damit die Informationen in der Partitionstabelle gultig 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 moglich, wird fdisk die Festplattengeometrie automatisch ermitteln. Dies ist nicht unbedingt die physische Geometrie des Datentragers. Tatsachlich 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 fur die MS-DOS-Partitionstabelle verwendet. In der Regel geht standardmassig alles gut. Es gibt keine Probleme, wenn Linux das einzige System auf der Festplatte ist. Wenn allerdings der Datentrager 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 fur eine gute Zusammenarbeit mit anderen Systemen erforderlich ist. Jedesmal, wenn im DOS-Modus eine Partitionstabelle ausgegeben wird, werden die Eintrage in der Partitionstabelle auf Konsistenz gepruft. Es wird gepruft, ob die physikalischen und logischen Start- und Endpunkte ubereinstimmen 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, konnen 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). FARBEN Die farbige Darstellung der Ausgabe wird uber die Funktionen in terminal-colors.d(5) gesteuert. Die implizierte Einfarbung kann deaktiviert werden, indem Sie folgende (leere) Datei anlegen: /etc/terminal-colors.d/fdisk.disable fur den Befehl fdisk oder fur alle Befehle mit /etc/terminal-colors.d/disable Since version 2.41, the $NO_COLOR environment variable is also supported to disable output colorization unless explicitly enabled by a command-line option. Die benutzerspezifischen Dateien $XDG_CONFIG_HOME/terminal-colors.d oder $HOME/.config/terminal-colors.d setzen die globale Einstellung ausser Kraft. Beachten Sie, dass die Einfarbung der Ausgabe standardmassig aktiviert sein konnte und in diesem Fall die terminal-colors.d-Verzeichnisse noch nicht zwangslaufig vorhanden sein mussen. Folgende logische Farbnamen werden von fdisk unterstutzt: header Die Kopfzeilen der ausgegebenen Tabellen. help-title Die Titel des Hilfebereichs. warn Die Warnmeldungen. welcome Die Begrussungsnachricht. UMGEBUNGSVARIABLEN FDISK_DEBUG=all aktiviert die Debug-Ausgabe fur fdisk. LIBFDISK_DEBUG=all aktiviert die Debug-Ausgabe fur libfdisk. LIBBLKID_DEBUG=all aktiviert die Debug-Ausgabe fur libblkid. LIBSMARTCOLS_DEBUG=all aktiviert die Debug-Ausgabe fur libsmartcols. LIBSMARTCOLS_DEBUG_PADDING=on verwendet sichtbare Auffullzeichen. LOCK_BLOCK_DEVICE= verwendet eine exklusive BSD-Sperre. Der Modus ist >>1<< oder >>0<<. Siehe --lock fur weitere Details. AUTOREN Karel Zak , Davidlohr Bueso Die Originalversion wurde von Andries E. Brouwer, A. V. Le Blanc und anderen geschrieben. SIEHE AUCH cfdisk(8), mkfs(8), partx(8), sfdisk(8) FEHLER MELDEN For bug reports, use the issue tracker . VERFUGBARKEIT Der Befehl fdisk ist Teil des Pakets util-linux, welches aus dem Linux-Kernel-Archiv heruntergeladen werden kann. util-linux 2.41 2025-03-29 FDISK(8)