===== fdisk =====
**Kurzfassung:** ''fdisk'' ist ein klassisches Kommandozeilen-Tool zur Partitionsverwaltung. Es funktioniert hauptsächlich mit MBR (Master Boot Record) und bietet eine interaktive Schnittstelle. Neuere Versionen unterstützen auch GPT. Zielgruppe: Systemadministratoren für MBR-Partitionierung.
==== Übersicht ====
''fdisk'' ist eines der ältesten und weit verbreiteten Partitionierungswerkzeuge unter Linux. Mit einfachen interaktiven Befehlen können Partitionen erstellt, gelöscht und modifiziert werden. Das Tool ist standardmäßig auf den meisten Linux-Systemen installiert.
**Hauptmerkmale:**
* MBR-fokussiert (ab Linux-Kernel 5.x auch limitierte GPT-Unterstützung)
* Interaktive Schnittstelle mit Menü
* Keine destruktiven Änderungen bis zur expliziten Speicherung (''w''-Befehl)
* Geringerer Speicherverbrauch, schnelle Ausführung
* Kompatibilität mit älteren Systemen
==== Installation ====
# Debian/Ubuntu
sudo apt install util-linux
# RHEL/CentOS/Fedora
sudo dnf install util-linux
# fdisk ist meist bereits installiert
fdisk --version
==== Grundlegende Befehle ====
=== Festplatte analysieren (Lesemodus) ===
# Alle Festplatten und Partitionen
sudo fdisk -l
# Nur eine Festplatte
sudo fdisk -l /dev/sda
# Mit Größenangaben
sudo fdisk -l /dev/sda | grep -E "Disk|^/dev"
=== Festplatte interaktiv bearbeiten ===
# fdisk starten
sudo fdisk /dev/sda
# Im fdisk-Menü:
m # Hilfe anzeigen (alle Befehle)
p # Partitionstabelle anzeigen
n # Neue Partition anlegen
d # Partition löschen
t # Partitionstyp ändern
a # Boot-Flag setzen/entfernen
w # Änderungen speichern und beenden
q # Ohne Speichern beenden
==== Partitionen erstellen ====
=== Schritt-für-Schritt Beispiel ===
# fdisk starten
sudo fdisk /dev/sda
# Aktuelle Partitionen anzeigen
p
# Neue Partition erstellen
n # "Neue Partition"
p # "Primär" (oder e für erweitert)
1 # Partitionsnummer
# Default - First Sector
+10G # Größe: 10 GB (oder +2048S für Sektoren)
# Weitere Partitionen analog
# ...
# Änderungen anzeigen
p
# Speichern
w
=== Erweiterte Partitionen und logische Partitionen ===
# Im fdisk für komplexere Layouts:
# Primäre Partition
n
p
1
[Enter]
+20G
# Erweiterte Partition (für logische)
n
e # Erweitert
2
[Enter]
[Enter] # Rest der Festplatte
# Logische Partition erstellen
n
l # Logisch (automatische Nummer 5)
[Enter]
+10G
# Weitere logische Partitionen
n
l
[Enter]
+15G
p # Zur Kontrolle
w # Speichern
==== Partitionstypen ====
Die Partitionstyp-ID bestimmt die Partitionsart (Linux, Swap, LVM, RAID, etc.):
# Im fdisk Partitionstyp ändern:
t
1 # Partitionsnummer
83 # Partitionstyp-ID
# Alle verfügbaren Typen anzeigen:
t
L # Liste aller IDs
**Häufige Partitionstypen:**
| **ID** | **Beschreibung** | **Verwendung** |
| 83 | Linux | Standard Linux Dateisystem |
| 82 | Linux Swap | Swap-Bereich |
| 8e | Linux LVM | Logisches Volumen-Management |
| fd | Linux RAID | RAID-Konfiguration |
| ef | EFI System | EFI-Partition (GPT) |
| 1 | FAT12 | Alte MS-DOS Partition |
| c | FAT32 | Windows FAT32 |
==== Boot-Flag setzen ====
Das Boot-Flag kennzeichnet die Partition, von der das System starten soll (wichtig für MBR):
sudo fdisk /dev/sda
a # Boot-Flag toggle
1 # Partitionsnummer
p # Kontrollieren (* zeigt Bootable)
w # Speichern
==== Partitionen löschen ====
sudo fdisk /dev/sda
# Einzelne Partition löschen
d
1 # Partitionsnummer
# Mehrere Partitionen löschen
d
2
d
3
d
5
p # Kontrollieren
w # Speichern
==== Partitionstabelle backen und wiederherstellen ====
**Wichtig vor größeren Änderungen!**
# Backup der Partitionstabelle erstellen
sudo sfdisk -d /dev/sda > sda-partition-table.bak
# Backup anzeigen
cat sda-partition-table.bak
# Wiederherstellen aus Backup
sudo sfdisk /dev/sda < sda-partition-table.bak
# Oder mit dd (MBR-Sektor)
sudo dd if=/dev/sda of=sda-mbr-backup bs=512 count=1
sudo dd if=sda-mbr-backup of=/dev/sda bs=512 count=1
==== Fortgeschrittene Szenarien ====
=== Größenberechnungen ===
# fdisk nutzt Sektoren (üblicherweise 512 Bytes)
# Umrechnung:
# 1 GB ≈ 2097152 Sektoren (1000^3 / 512)
# 1 GiB ≈ 2097152 Sektoren (1024^3 / 512)
# In fdisk Größe in Sektoren eingeben:
+2097152 # = 1 GiB Partition
# Oder Shorthand
+100G # = 100 GB
+100GiB # = 100 GiB
=== Non-interaktiv mit Befehlen ===
# Vorsicht! Keine Fehlertoleranz!
sudo fdisk /dev/sda <
=== Mit sfdisk für Automatisierung ===
# Komplexe Layouts automatisiert
echo "
# Partition Table on /dev/sda
unit: sectors
/dev/sda1 : start= 2048, size=20971520, Id=83
/dev/sda2 : start=20973568, size=41943040, Id=8e
" | sudo sfdisk /dev/sda
==== GPT mit fdisk (neuere Versionen ab 2.33+) ====
# fdisk ab Linux 5.x/fdisk 2.33+ unterstützt GPT:
sudo fdisk /dev/sda
# GPT-Label erstellen (löscht MBR)
g
# Partitionen wie normal erstellen
n
1
[Enter]
+512M # EFI Partition
n
2
[Enter]
[Enter] # Rest
# Partitionstyp ändern (bei GPT andere IDs)
t
1
1 # EFI System
# Speichern
w
**Hinweis:** Für umfassendere GPT-Arbeit wird `sgdisk` oder `parted` empfohlen.
==== Häufige Fehler und Lösungen ====
**Problem: "Can't add partition: Permission denied"**
# Lösung: Mit Sudo ausführen
sudo fdisk /dev/sda
**Problem: Partitionstabelle beschädigt**
# Aus Backup wiederherstellen
sudo sfdisk /dev/sda < sda-partition-table.bak
# Oder mit testdisk (datenrettung)
sudo testdisk /dev/sda
**Problem: Partition nach fdisk nicht sichtbar**
# Kernel-Partitionstabelle neu laden
sudo partprobe /dev/sda
# Oder Reboot
sudo reboot
**Problem: fdisk zeigt falsche Größen**
# Partitionstabelle corruptet? Mit sfdisk prüfen
sudo sfdisk -V /dev/sda
# Oder gparted verwenden
sudo gparted /dev/sda
==== Vergleich mit anderen Tools ====
| **Tool** | **Format** | **UI** | **Stärke** | **Schwäche** |
| ''fdisk'' | MBR, GPT* | Interaktiv | Klassisch, verbreitet | Alte Schnittstelle |
| ''cfdisk'' | MBR, GPT | Menü-UI | Nutzerfreundlicher als fdisk | Weniger Kontrolle |
| ''parted'' | MBR, GPT | Kommandozeile | Resize-Operationen, GPT-fokussiert | Komplexe Syntax |
| ''sgdisk'' | GPT | Kommandozeile | GPT-Spezialist, Scripts | Kein MBR |
| ''gparted'' | MBR, GPT | GUI | Grafisch, sicher | Desktop nur |
==== Best Practices ====
**Empfehlungen:**
* Immer ''p'' nutzen, um Änderungen zu prüfen VOR ''w''
* Backup der Partitionstabelle erstellen: `sfdisk -d /dev/sda > backup.bak`
* Bei Unsicherheit: Live-CD (GParted Live) verwenden
* Non-interaktive Scripts vermeiden (zu fehlerbehaftet)
* Nach Änderungen: `partprobe` oder Reboot
* Für neue Partitionen: `mkfs.ext4 /dev/sdaX` ausführen
**KRITISCH - Datenverlust möglich:**
* Falsche Festplatte angeben → Kompletter Datenverlust!
* ''w'' speichert ALLE Änderungen sofort
* Keine Undo-Funktion - Backup ist essentiell!
* Partition mit ''d'' löschen ist permanent (bis Datenrettung)
* System-Festplatte niemals ohne Backup ändern
==== Siehe auch ====
* [[sammlung:partitionieren|Partitionieren - Übersicht]]
* [[sammlung:cfdisk|cfdisk]]
* [[sammlung:parted|parted]]
* [[sammlung:sgdisk|sgdisk]]
* [[sammlung:gparted|gparted]]
* [[sammlung:lvm|LVM - Logisches Volume Management]]
* [[sammlung:mount|mount und Dateisystem-Verwaltung]]
==== Quellen ====
* [[https://man7.org/linux/man-pages/man8/fdisk.8.html|fdisk - man page]]
* [[https://linux.die.net/man/8/fdisk|fdisk - linux.die.net]]
* [[https://linux.die.net/man/8/sfdisk|sfdisk - man page]]
----
{{tag>fdisk partition mbr cli kommandozeile}}
==== Weitere Informationen ====
man fdisk
{{tag>cli storage}}