# fdisk — Festplatten partitionieren mit fdisk und parted

> Festplatten unter Linux partitionieren: Partitionstabellen mit fdisk und parted anlegen und ändern, Dateisysteme erstellen, Swap einrichten.

Source: https://www.jpkc.com/db/cheatsheets/shell-system/fdisk/

<!-- PROSE:intro -->
fdisk ist das klassische Werkzeug, um Partitionstabellen unter Linux interaktiv zu bearbeiten – moderne Versionen beherrschen sowohl MBR als auch GPT. parted ergänzt es mit nativer GPT-Unterstützung und der Fähigkeit, Partitionen nachträglich zu vergrößern oder zu verkleinern. Beide greifen tief in deine Datenträger ein: Eine Verwechslung des Geräts oder ein voreiliges Schreiben macht Daten unzugänglich. Prüfe darum **immer** mit `lsblk` oder `fdisk -l`, an welchem Gerät du arbeitest, und sichere die Partitionstabelle vorab mit `sfdisk -d`.
<!-- PROSE:intro:end -->

## fdisk — Partitionen anzeigen

`fdisk -l` — Listet alle Datenträger und ihre Partitionstabellen auf.

```bash
sudo fdisk -l
```

`fdisk -l <device>` — Listet die Partitionen eines bestimmten Datenträgers auf.

```bash
sudo fdisk -l /dev/sda
```

`fdisk -x <device>` — Zeigt erweiterte Partitionsdetails (Expertenansicht).

```bash
sudo fdisk -x /dev/sda
```

## fdisk — Partitionen verwalten

`fdisk <device>` — Startet die interaktive Partitionierung eines Geräts.

```bash
sudo fdisk /dev/sdb
```

`n` — Legt eine neue Partition an (innerhalb von fdisk).

```bash
Command: n → primary → partition number → first/last sector
```

`d` — Löscht eine Partition (innerhalb von fdisk).

```bash
Command: d → partition number
```

`t` — Ändert den Partitionstyp (innerhalb von fdisk).

```bash
Command: t → partition number → type code (83=Linux, 82=swap)
```

`p` — Gibt die Partitionstabelle aus (innerhalb von fdisk).

```bash
Command: p
```

`w` — Schreibt die Änderungen und beendet das Programm (innerhalb von fdisk).

```bash
Command: w
```

`q` — Beendet ohne zu speichern (innerhalb von fdisk).

```bash
Command: q
```

## parted — Anzeigen & Anlegen

`parted -l` — Listet alle Datenträger und Partitionen auf.

```bash
sudo parted -l
```

`parted <device> print` — Zeigt die Partitionstabelle eines Geräts.

```bash
sudo parted /dev/sda print
```

`parted <device> mklabel <type>` — Legt eine neue Partitionstabelle an (gpt oder msdos).

```bash
sudo parted /dev/sdb mklabel gpt
```

`parted <device> mkpart <name> <fs> <start> <end>` — Legt eine Partition an.

```bash
sudo parted /dev/sdb mkpart primary ext4 1MiB 100%
```

`parted <device> rm <number>` — Entfernt eine Partition anhand ihrer Nummer.

```bash
sudo parted /dev/sdb rm 2
```

## parted — Größe ändern & anpassen

`parted <device> resizepart <number> <end>` — Ändert die Größe einer Partition (vergrößern oder verkleinern).

```bash
sudo parted /dev/sda resizepart 2 100%
```

`parted <device> name <number> '<name>'` — Setzt einen Partitionsnamen (nur GPT).

```bash
sudo parted /dev/sda name 1 'boot'
```

`parted <device> set <number> boot on` — Setzt das Boot-Flag auf einer Partition.

```bash
sudo parted /dev/sda set 1 boot on
```

`parted <device> set <number> lvm on` — Markiert eine Partition für LVM.

```bash
sudo parted /dev/sdb set 1 lvm on
```

## Dateisysteme erstellen

`mkfs.ext4 <partition>` — Legt ein ext4-Dateisystem an.

```bash
sudo mkfs.ext4 /dev/sdb1
```

`mkfs.xfs <partition>` — Legt ein XFS-Dateisystem an.

```bash
sudo mkfs.xfs /dev/sdb1
```

`mkfs.vfat -F 32 <partition>` — Legt ein FAT32-Dateisystem an.

```bash
sudo mkfs.vfat -F 32 /dev/sdb1
```

`mkswap <partition>` — Richtet eine Swap-Partition ein.

```bash
sudo mkswap /dev/sdb2
```

`swapon <partition>` — Aktiviert eine Swap-Partition.

```bash
sudo swapon /dev/sdb2
```

<!-- PROSE:outro -->
## Fazit

fdisk und parted sind mächtig, aber unversöhnlich gegenüber Flüchtigkeitsfehlern: Wer das falsche Gerät erwischt, löscht im Zweifel ein ganzes Laufwerk. Verinnerliche darum ein paar Sicherheitsregeln. In fdisk werden Änderungen erst mit `w` (write) auf die Platte geschrieben – bis dahin ist `q` (quit ohne Speichern) dein Rettungsanker; nach `w` gibt es **kein** Undo. Kontrolliere vor jeder Aktion mit `lsblk` und `fdisk -l` die Gerätebezeichnung, und sichere die bestehende Partitionstabelle mit `sfdisk -d /dev/sdX > tabelle.sav`, bevor du etwas änderst. Für Datenträger über 2 TB und moderne UEFI-Systeme nutzt du GPT statt MBR – das kann fdisk inzwischen, traditionell greifen viele aber zu `gdisk` oder `parted`. Und denk daran: Eine neu angelegte Partition ist noch leer – erst `mkfs` erzeugt das Dateisystem, und das löscht alle vorhandenen Daten darauf.

## Weiterführende Links

- [ArchWiki: Partitionierung](https://wiki.archlinux.org/title/Partitioning) – ausführliche, distributionsübergreifende Referenz zu MBR, GPT, fdisk und parted
- [GNU Parted Manual](https://www.gnu.org/software/parted/manual/parted.html) – offizielles Handbuch zu parted mit allen Kommandos und Optionen
<!-- PROSE:outro:end -->

## Verwandte Kommandos

- [lsblk](https://www.jpkc.com/db/cheatsheets/shell-system/lsblk/) – Datenträger und Partitionen als Baum anzeigen, vor jeder fdisk-Aktion zum Geräte-Check
- [mount](https://www.jpkc.com/db/cheatsheets/shell-system/mount/) – Dateisysteme nach dem Partitionieren und Formatieren einhängen
- [dd](https://www.jpkc.com/db/cheatsheets/shell-system/dd/) – Datenträger und Partitionstabellen blockweise sichern oder klonen

