Unter Linux wird festgelegt, welche Dateisysteme beim Systemstart automatisch eingebunden werden, über die Datei /etc/fstab (File System Table). Sie gehört zu den grundlegenden Systemkonfigurationsdateien und existiert praktisch auf jeder Linux-Installation.
Jede Zeile in der fstab beschreibt ein Dateisystem und wie es eingebunden werden soll.
Aufbau einer fstab-Zeile
Eine typische Zeile sieht zum Beispiel so aus:
UUID=1a2b3c4d-xxxx-xxxx-xxxx-xxxxxxxxxxxx /home ext4 defaults 0 1
Die Felder haben folgende Bedeutung:
| Feld | Bedeutung |
|---|---|
| Device | Welches Gerät bzw. Dateisystem eingebunden werden soll |
| Mountpoint | Verzeichnis im Dateisystem, unter dem das Gerät eingehängt wird |
| Dateisystem | Typ des Dateisystems (z. B. ext4, btrfs, vfat, ntfs) |
| Mount-Optionen | Optionen wie defaults, noatime, ro, rw |
| Dump-Flag | Historische Option für Backupprogramme (meist 0) |
| fsck-Reihenfolge | Reihenfolge der Dateisystemprüfung beim Booten |
Beispiel:
UUID=1a2b3c4d-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/datengrab ext4 defaults,noatime 0 2
Hier wird also ein ext4-Dateisystem beim Systemstart unter /mnt/datengrab eingebunden.
Geräte in der fstab definieren
1. Klassisch: Device-Name (/dev/sdXY)
Früher wurde in der fstab häufig direkt das Gerät angegeben:
/dev/sda1 /home ext4 defaults 0 1
Dabei bedeutet:
sda→ erste Festplattesda1→ erste Partition auf dieser Festplatte
Der Nachteil:
Die Reihenfolge der Geräte kann sich ändern.
Wenn z. B.
- eine weitere Festplatte eingebaut wird
- USB-Speicher beim Booten vorhanden sind
- oder sich die Initialisierungsreihenfolge ändert
kann aus /dev/sda1 plötzlich /dev/sdb1 werden. Dann würde die fstab auf das falsche Gerät zeigen.
Die UUID eines Dateisystems
Um dieses Problem zu vermeiden, verwendet Linux heute meist eine UUID (Universally Unique Identifier).
Eine UUID ist eine eindeutige Kennung eines Dateisystems. Sie wird beim Erstellen des Dateisystems generiert, zum Beispiel beim Formatieren mit:
mkfs.ext4
mkfs.btrfs
mkfs.xfs
Beispiel einer UUID:
1a2b3c4d-1234-5678-9abc-abcdef123456
Diese Kennung ist:
- eindeutig
- unabhängig vom Gerätenamen
- stabil über Neustarts hinweg
Selbst wenn sich also aus /dev/sda1 plötzlich /dev/sdb1 entwickelt, bleibt die UUID gleich.
Deshalb ist diese Schreibweise in der fstab heute sehr verbreitet:
UUID=1a2b3c4d-1234-5678-9abc-abcdef123456 /home ext4 defaults 0 1
UUID eines Dateisystems auslesen
Es gibt mehrere Möglichkeiten, sich die UUID anzeigen zu lassen.
Mit lsblk
Sehr übersichtlich ist:
$ lsblk -f
Beispielausgabe:
NAME FSTYPE UUID MOUNTPOINT
sda
└─sda1 ext4 1a2b3c4d-1234-5678-9abc-abcdef123456 /
sdb
└─sdb1 ext4 9f8e7d6c-1111-2222-3333-444444444444
Mit blkid
Alternativ:
$ sudo blkid
Beispiel:
/dev/sdb1: UUID="9f8e7d6c-1111-2222-3333-444444444444" TYPE="ext4"
Alternative Schreibweise: /dev/disk/by-uuid
Neben der direkten UUID=-Syntax gibt es noch eine zweite Variante, die auf vielen Systemen (z. B. Ubuntu/Xubuntu) zu sehen ist:
/dev/disk/by-uuid/1a2b3c4d-1234-5678-9abc-abcdef123456 /home ext4 defaults 0 1
Dabei handelt es sich um einen stabilen Symlink, den udev automatisch erzeugt.
Beispiel:
/dev/disk/by-uuid/1a2b3c4d → /dev/nvme0n1p2
Intern passiert also:
- Die
fstabverweist auf den Symlink - Dieser zeigt auf das tatsächliche Blockgerät
Welche Variante ist besser?
Technisch gibt es keinen echten Unterschied:
| Variante | Beschreibung |
|---|---|
UUID=... | direkte UUID-Angabe |
/dev/disk/by-uuid/... | Symlink auf das Gerät |
Beide Varianten sind:
- stabil gegenüber Geräteänderungen
- zuverlässig
- gleichwertig
Viele Dokumentationen verwenden eher die kürzere Schreibweise UUID=, während einige Installer (z. B. Ubuntu) automatisch die /dev/disk/by-uuid-Pfadform eintragen.
Fazit
Die Verwendung von UUIDs in der fstab sorgt dafür, dass Dateisysteme zuverlässig und unabhängig vom Gerätenamen eingebunden werden. Das vermeidet Probleme, wenn sich die Reihenfolge der Laufwerke ändert – etwa durch zusätzliche Datenträger oder USB-Geräte.
Ob man dabei die Kurzform
UUID=...
oder den udev-Pfad
/dev/disk/by-uuid/...
verwendet, ist letztlich Geschmackssache – funktional sind beide Varianten gleichwertig.