Geräte in der /etc/fstab per UUID einbinden

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:

FeldBedeutung
DeviceWelches Gerät bzw. Dateisystem eingebunden werden soll
MountpointVerzeichnis im Dateisystem, unter dem das Gerät eingehängt wird
DateisystemTyp des Dateisystems (z. B. ext4, btrfs, vfat, ntfs)
Mount-OptionenOptionen wie defaults, noatime, ro, rw
Dump-FlagHistorische Option für Backupprogramme (meist 0)
fsck-ReihenfolgeReihenfolge 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 Festplatte
  • sda1 → 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:

  1. Die fstab verweist auf den Symlink
  2. Dieser zeigt auf das tatsächliche Blockgerät

Welche Variante ist besser?

Technisch gibt es keinen echten Unterschied:

VarianteBeschreibung
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.

Schreibe einen Kommentar


PHPCo.de
Datenschutz-Übersicht

Diese Website verwendet Cookies, damit wir dir die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in deinem Browser gespeichert und führen Funktionen aus, wie das Wiedererkennen von dir, wenn du auf unsere Website zurückkehrst, und hilft unserem Team zu verstehen, welche Abschnitte der Website für dich am interessantesten und nützlichsten sind.