ubuntuusers.de

fdisk

Achtung!

Veränderungen der Partitionierung[1] können das System unbrauchbar machen und sollten nie ohne vorherige Datensicherung durchgeführt werden!

Dieser Artikel gilt größtenteils unabhängig von der Ubuntu-Version.

Dieser Artikel wurde für die Ubuntu-Version Noble Numbat getestet. Es wird erwartet, dass er im wesentlichen auch mit darauf folgenden Versionen anwendbar ist. Bitte melde abweichendes Verhalten in der Diskussion zu diesem Artikel.

Wiki/Icons/terminal.png IBM veröffentlichte 1983 mit PC-DOS 2.0 die erste Version vom FDISK.COM (für fixed disk), einem Programm zur Einrichtung und Verwaltung von Festplatten. Seitdem gibt es für jedes Betriebssystem ein eigenständiges Programm mit dementsprechender und erweiterter Funktionalität, so auch für Linux.

Das Paket fdisk enthält Werkzeuge für die Kommandozeile[5] zur Partitionierung[1] von Datenträgern[2] mit Partitionstabellen diverser Standards. Traditionell unterstützt werden die Formate MBR (auch DOS, MBR/DOS, "MBR (DOS)", Legacy u.a. genannt), Sun, SGI und BSD, aber neuere Versionen von fdisk erlauben auch eine Partitionierung[1] des Datenträgers[2] im modernen Format GPT ("GUID Partition Table") wie mit den Werkzeugen aus dem Paket gdisk.

Für Linux relevant sind nur die Formate "MBR (DOS)" und "GPT". (Fdisk verwendet diese Schreibweisen.)

Eine Alternative zu den Werkzeugen aus den Sammlungen fdisk und gdisk ist GNU Parted.

Installation

Das Paket fdisk 🇬🇧 wurde aus dem essenziellen Paket util-linux 🇬🇧 ausgelagert, gehört aber immer noch zum Standardumfang jeder Ubuntu-Installation und bedarf daher in der Regel keiner eigenen Installation.

Das Paket beinhaltet die Werkzeuge:

  • fdisk – zur interaktiven Nutzung auf der Kommandozeile,

  • cfdisk – zur interaktiven Nutzung mit halb grafischer Bedienoberfläche, basierend auf ncurses,

  • sfdisk – zur Verwendung in Skripten.

Die Varianten cfdisk und sfdisk erlauben nicht den vollen Funktionsumfang von fdisk.

fdisk

Das Programm fdisk legt Partitionen an, löscht, manipuliert oder listet sie. Wenn man, abgesehen von Standardoperationen wie Anlegen und Löschen von Partitionen, keine Besonderheiten benötigt, ist cfdisk bequemer.

Aufruf

Die Ausführung und Benutzung erfolgt im Terminal[5] mit Root-Rechten[6]. Die generelle Aufrufsyntax lautet:

sudo fdisk OPTIONen DEVICE 
  • OPTIONen ist eine möglicherweise leere Liste von Optionen nach Tabelle 1. Wenn hier die Option -l angegeben wird, beendet sich der Befehl nach Ausgabe der Liste, anderenfalls wechselt er in den interaktiven Modus. Im interaktiven Modus können Kommandos gemäß Tabelle 2 per Tastendruck erfolgen.

  • DEVICE identifiziert den zu bearbeitenden Datenträger[2][3][4] über seine immer anzugebende Gerätedatei; hierfür verwendet dieser Artikel immer beispielhaft /dev/sdX.

Eine Erklärung aller Kommandos und Optionen mit ausführlicher Information liefert die Manpage:

man fdisk 

Optionen

Tabelle 1: Ausgewählte Optionen
Option Beschreibung
-V Version des Programms anzeigen und beenden.
-h Hilfetext anzeigen und Programm beenden.
-l Partitionen anzeigen und Programm beenden.
-x Wie -l, aber mit weiteren Details.
-t TYP TYP als Typ der Partitionierung erzwingen. TYP kann lauten mbr oder gpt oder anders.
Vorsicht: Wenn man selbst einen unzutreffenden Typ angibt, kann man damit eine vorhandene gültige Partitionierung zerstören!

Kommandos

Hinweis:

Beim interaktiven Gebrauch werden alle Änderungen zuerst nur im Arbeitsspeicher vorgemerkt:

  • Das Programm kann jederzeit mit Q verlassen werden, ohne Veränderungen am Datenträger vorzunehmen.

  • Erst mit dem Kommando W werden alle Informationen unwiderruflich festgeschrieben.

Der Typ einer vorhandenen Partitionierung wird automatisch (empfohlen!) erkannt oder kann beim Aufruf per Option eingestellt werden. Das Menü unterscheidet sich geringfügig abhängig vom Typ der Partitionierung.

Hauptmenü bei MBR

Tabelle 2a: Ausgewählte Kommandos ohne Veränderungen der Partitionierung
Kommando Beschreibung
m Hilfetext mit den zur Verfügung stehenden Kommandos ausgeben.
p Die Partitionstabelle ausgeben.
u Die Einheit für die Anzeige/Eingabe umschalten. (Sektoren ←→ Zylinder)
x Die zweite Menü-Ebene aufrufen: Zusätzliche Funktionen (nur für Experten). Siehe Tabelle 2b
q Programms ohne Speichern der Änderungen auf dem Datenträger beenden.

⚓︎

Tabelle 2b: Auswahl von Kommandos mit Veränderungen der Partitionierung
Kommando Beschreibung
a (De)Aktivieren des "bootfähig"-Flag einer Partition
c (De)Aktivieren des DOS-Kompatibilitätsflags
d Eine Partition löschen. Die Nummer der Partition wird abgefragt.
n Eine neue Partition anlegen. Nummer und Typ der Partition sowie Anfang und Ende/Größe werden abgefragt.
o Neue leere Partitionstabelle des Typs "MBR (DOS)" erstellen.
g Neue leere GPT-Partitionstabelle erstellen.
t Typ einer Partition ändern. Nummer der Partition und neuer Typ werden abgefragt.
w Die Tabelle im Arbeitsspeicher auf den Datenträger schreiben und das Programm beenden.

Expertenmenü

Tabelle 2c: Auswahl von zusätzlichen Funktionen mit/ohne Veränderungen
Kommando Beschreibung
b Datenanfang einer Partition eines Datenträgers verschieben.
f Einträge in Partitionstabelle aufsteigend ordnen.
r Zurück zur Menü-Ebene 1 (Hauptmenü) wechseln.
v Partitionstabelle überprüfen.

Partitionierung auflisten

Die Anzeige einer Partitionstabelle ist in der Praxis die wichtigste Anwendung des Befehls fdisk.

Hinweis:

In allen Befehlen wird als Datenträger /dev/sdX genutzt, dieser muss auf die eigenen Belange abgestellt werden!

  • Auflisten der Informationen zu den Partitionen:

    sudo fdisk -l /dev/sdX 

    Beispielausgabe für einen mit GPT partitionierten USB-Stick mit 16 GB (so beworben, tatsächliche Größe aber nur 15,4 GB):

    Festplatte /dev/sdc: 14,34 GiB, 15401484288 Bytes, 30081024 Sektoren
    Festplattenmodell:  SanDisk 3.2Gen1
    Einheiten: Sektoren von 1 * 512 = 512 Bytes
    Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
    E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
    Festplattenbezeichnungstyp: gpt
    Festplattenbezeichner: 1C1AD315-042D-427C-A72F-BBFF308CAECB
    
    Gerät        Anfang     Ende Sektoren Größe Typ
    /dev/sdc1      2048 30015447 30013400 14,3G Microsoft Basisdaten
    /dev/sdc2  30015448 30080983    65536   32M Microsoft Basisdaten
  • Ausführliche Liste der Informationen zu den Partitionen:

    sudo fdisk -x /dev/sdX 

    Beispielausgabe für denselben Stick wie vorstehend:

    Festplatte /dev/sdc: 14,34 GiB, 15401484288 Bytes, 30081024 Sektoren
    Festplattenmodell:  SanDisk 3.2Gen1
    Einheiten: Sektoren von 1 * 512 = 512 Bytes
    Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
    E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
    Festplattenbezeichnungstyp: gpt
    Festplattenbezeichner: 1C1AD315-042D-427C-A72F-BBFF308CAECB
    Erster nutzbarer LBA: 34
    Letzter nutzbarer LBA: 30080990
    Alternative LBA: 30081023
    Partition entries starting LBA: 2
    Zugeordnete Partitionseinträge: 128
    Partition entries ending LBA: 33
    
    Gerät        Anfang     Ende Sektoren Typ-UUID                             UUID                                 Name    Attr.
    /dev/sdc1      2048 30015447 30013400 EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 F4B863C7-39A1-41E7-A13A-D2974A8658CA Ventoy  
    /dev/sdc2  30015448 30080983    65536 EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 B423B518-C6D6-495D-9364-5D3399E4FE81 VTOYEFI RequiredPartition GUID:62,63


    Beispielausgabe für einen mit "MBR (DOS)" partitionierten USB-Stick mit 32 GB (so beworben, tatsächliche Größe aber nur 31,9 GB):

    Festplatte /dev/sdc: 29,69 GiB, 31876710400 Bytes, 62259200 Sektoren
    Festplattenmodell: Alu Line        
    Einheiten: Sektoren von 1 * 512 = 512 Bytes
    Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
    E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
    Festplattenbezeichnungstyp: dos
    Festplattenbezeichner: 0xf71d721a
    
    Gerät      Boot   Anfang     Ende Sektoren Kn Typ                Start-C/H/S Ende-C/H/S Attr.
    /dev/sdc1  *        2048 62193663 62191616  7 HPFS/NTFS/exFAT          4/4/1 1023/254/2    80
    /dev/sdc2       62193664 62259199    65536 ef EFI (FAT-12/16/32)  1023/254/2 1023/254/2 

cfdisk

Das Programm cfdisk kommt mit einer via ncurses realisierten Textoberfläche. Es ist interaktiv, selbsterklärend und stellt die wichtigsten Aufgaben über eine Menüsteuerung bereit. Einfache Routine-Aufgaben wie Anlegen und Löschen ganzer Partitionen erledigt man daher bequemer mit cfdisk anstelle von fdisk.

Aufruf:

sudo cfdisk OPTIONen DEVICE 
  • OPTIONen ist auch hier eine möglicherweise leere Liste von Optionen nach folgender Tabelle 3.

  • DEVICE identifiziert den zu bearbeitenden Datenträger wie beim Aufruf von fdisk.

Tabelle 3: Ausgewählte Optionen beim Start von cfdisk
Option Beschreibung
-V Version des Programms anzeigen und beenden.
-h Hilfetext anzeigen und Programm beenden.
-r Programm im nur-Lesen-Modus starten.
-z Vorhandene Partitionstabelle ignorieren und mit leerer („ausgenullter“) Tabelle im Arbeitsspeicher beginnen.

Die Steuerung erfolgt über

  • den Pfeiltasten und zur Auswahl der zu bearbeitenden Partition oder freien Bereiches,

  • den Pfeiltasten und zur Auswahl der auszuführenden Aktion,

  • und der Eingabetaste zur Auslösung der gewählten Aktion auf dem gewählten Bereich.

Auch cfdisk bearbeitet zunächst wie fdisk nur eine Kopie der Partitionstabelle im Arbeitsspeicher und schreibt diese erst mit Ausführen der Aktion Schreiben auf den Datenträger. Vorsichtige Leute verwenden trotzdem die Option -r, wenn nur eine Besichtigung der Partitionstabelle erfolgen soll.

Weitere Erklärungen und ausführliche Information liefert die Manpage:

man cfdisk 

sfdisk

Das Programm sfdisk ist für Skripte vorgesehen. Es wird komplett über mitgegebene Optionen, Befehle und Eingabedaten von stdin gesteuert. Für interaktive Bedienung eignet es sich schlechter als cfdisk und fdisk.

Achtung!

Das Programm sfdisk arbeitet anders als seine Schwestern fdisk und cfdisk:

  • Während die beiden anderen Programme die Partitionstabelle auf dem Datenträger erst überschreiben, wenn man es selbst per Befehl erlaubt/anfordert, schreibt sfdisk bei jedem Aufruf Änderungen direkt auf den Datenträger, sofern man es nicht beim Aufruf mit der Option --no-act verbietet.

  • Bei falschem Einsatz wird der Datenträger evtl. unbenutzbar. Der Einsatz in Skripten sollte gut überlegt werden.

Syntax

Üblicherweise benutzt man das Programm sfdisk als root, entweder in einem Terminal[5] mit einer Root-Shell[6] oder in einem Skript, welches unter dem Benutzer root ausgeführt wird.

Ein typischer Aufruf sieht beispielsweise so aus:

  • sfdisk OPTIONen DEVICE <SFDISK–SKRIPT 
  • cat SFDISK–SKRIPT | sfdisk OPTIONen DEVICE 

Die Eingabeumleitung bzw. Pipe kann in manchen Fällen entfallen.

  • OPTIONen ist eine Liste von Optionen und Befehlen gemäß folgender Tabelle 4.

  • DEVICE identifiziert den zu bearbeitenden Datenträger wie beim Aufruf von fdisk.

Weitere Erklärungen mit ausführlicher Information liefert die Manpage:

man sfdisk 

Optionen

Tabelle 4: Auswahl Optionen und Befehle für sfdisk
Option Beschreibung
-v Version des Programms anzeigen und beenden.
-h Hilfetext anzeigen und Programm beenden.
-l Partitionen anzeigen und Programm beenden.
-n (no-act) Alles bis auf den tatsächlichen Schreibvorgang auf den Datenträger ausführen.
-d (--dump) Komplette Partitionstabelle als Klartext auf stdout ausgeben. Die Ausgabe kann später wieder von sfdisk eingelesen und angewendet werden.
-T Bekannte Schemata zu Partitionierung (ID) und deren Bezeichnung (Name) auflisten.
--no-reread Vor Schreiben der Partitionstabelle nicht überprüfen, ob das Gerät benutzt wird.
Die Angabe dieser Option ist normalerweise eine schlechte Idee!
--force Jegliche Konsistenzprüfungen vor Schreiben der Partitionstabelle abschalten.
Die Angabe dieser Option ist normalerweise eine extrem schlechte Idee!

Beispiele

Hinweis:

In den Beispielen wird als Datenträger /dev/sdX genutzt, dieser muss auf die eigenen Belange abgestellt werden!

Partitionstabelle anzeigen

Listen der Partitionstabelle:

sudo sfdisk -l /dev/sdX 

Das ergibt dieselbe Ausgabe wie die entsprechende von fdisk.

Partitionstabelle sichern

In vielen Anweisungen wird zur Sicherung einer Partitionstabelle das Programm dd vorgeschlagen. Dies ist mit Vorsicht anzuwenden, da dabei oft nur Teile gesichert werden und beispielsweise bei MBR die Einträge zu den logischen Laufwerken in der erweiterten Partition fehlen. Beim Einsatz von MBR mit einer erweiterten Partition ist sfdisk zum Sichern und Rückspielen der einfachste und schnellste Weg, um die Datenintegrität zu gewährleisten. Das Programm funktioiert aber auch mit GPT.

  • Quelle: Partitionstabelle des Datenträgers /dev/sdX

  • Ausgabe: Backup_sdX im eigenen Benutzerverzeichnis (HOME)

sudo sfdisk -d /dev/sdX >${HOME}/Backup_sdX 

▶ Im Artikel Skripte/Partitionstabellen sichern findet man ein Skript zum Sichern aller Partitionstabellen der Typen "MBR (DOS)" und GPT.

Partitionstabelle zurückladen

  • Eingabe: Backup_sdX aus dem Verzeichnis /backup (Das ist ein Skript für sfdisk.)

  • Ziel: Partitionstabelle des Datenträgers /dev/sdX

sudo sfdisk --no-act /dev/sdX </backup/Backup_sdX 

Dies simuliert ein Zurückladen der gespeicherten Partitionstabelle und zeigt ein Verlaufsprotokoll an, welches man sorgfältig prüfen sollte.

Achtung!

Beachte dabei: Die im Skript gespeicherte, damals gültige Gerätebezeichnung kann jetzt ganz anders lauten!

Wenn man die Anwendung des Skripts wirklich wünscht, wiederholt man den Befehl ohne die Option --no-act.

Problembehebung

Das Programm fdisk zeigt zuweilen beim Start diese Warnung an, möglicherweise sogar in roter Schrift:

This disk is currently in use - repartitioning is probably a bad idea.
It's recommended to umount all file systems, and swapoff all swap
partitions on this disk.

Die Warnung besagt, dass eine Bearbeitung von in das Dateisystem eingebundenen Partitionen eine ganz schlechte Idee ist, weil so etwas fast unvermeidlich zum Datenverlust führt. Wenn man diese Warnung sieht, sollte man daher, spätestens nach einer Abfrage der vorhandenen Partitionen, unverzüglich das Programm mit der Taste Q beenden und dann die Partitionen auf der Kommandozeile[3] manuell aushängen:

umount /dev/sdX1 

Dieser Befehl ist für alle Partitionen zu wiederholen. Man benutze nicht die GUI für das Aushängen bzw. Auswerfen, dann dabei wird oft auch die noch benötigte Gerätedatei /dev/sdX entfernt.

Diese Revision wurde am 19. Februar 2026 11:07 von kB erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Partitionierung, System