Zum Inhalt springen
Diese Seite ist veraltet. Bitte beachten Sie die neueste Dokumentation unter /configuration/automount_with_fstab/

Zusätzliche Laufwerke beim Start über fstab automatisch einbinden

Diese Anleitung beschreibt die Grundlagen der Verwendung der fstab-Datei in /etc/, um statische Laufwerke beim Hochfahren einzubinden. Sie erklärt kurz, wie du die UUID einer Partition oder eines Laufwerks findest, was einige Optionen bewirken und wo du weiterlesen kannst, falls die bereitgestellten Informationen nicht ausreichen.

  • Root- oder Sudo-Zugriff
Öffne ein Terminal und führe den folgenden Befehl aus
lsblk -f
Beispielausgabe
# NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
# zram0 [SWAP]
# nvme0n1
# ├─nvme0n1p1 vfat FAT32 E04D-9F05
# ├─nvme0n1p2
# ├─nvme0n1p3 ntfs 08A24E90A24E81E4 715.4G 50%
# ├─nvme0n1p4 vfat FAT32 E09C-D4DA 628.1M 39% /boot
# ├─nvme0n1p5 ext4 1.0 187a9f06-9411-48d9-b941-f03c2e605812 203.6G 47% /
# └─nvme0n1p6 ntfs

In unserem Beispiel wissen wir, dass wir eine Windows-Partition einbinden wollen, die ntfs ist. Wir wissen auch, dass etwa die Hälfte ihres Speichers frei ist. Daher können wir feststellen, dass die Partition, die wir einbinden wollen, nvme0n1p3 ist und ihre UUID 08A24E90A24E81E4 lautet, mit dem Dateisystem ntfs in diesem Beispiel.

Oft liefert lsblk -f an dieser Stelle bereits alle Informationen, die du brauchst, um deine Festplatte über /etc/fstab einzubinden. Wenn du dir immer noch unsicher bist, welche die richtige Partition ist, kannst du den folgenden Befehl ausführen:

Terminal window
sudo fdisk -l
Beispielausgabe
# Device Start End Sectors Size Type
# /dev/nvme0n1p1 2048 206847 204800 100M EFI System
# /dev/nvme0n1p2 206848 239615 32768 16M Microsoft reserved
# /dev/nvme0n1p3 239616 2997384182 2997144567 1.4T Microsoft basic data
# /dev/nvme0n1p4 2997385216 2999482367 2097152 1G EFI System
# /dev/nvme0n1p5 2999482368 3905454079 905971712 432G Linux root (x86-64)
# /dev/nvme0n1p6 3905454080 3907026943 1572864 768M Windows recovery environment

Wir kennen unsere UUID in diesem Beispiel bereits. fdisk -l kann es uns aber noch etwas deutlicher machen, indem es die genaue Größe der Partition (1.4T) sowie ihren Typ (Microsoft basic data) anzeigt.

Das sollte uns überdeutlich machen, dass die gewünschte Partition nvme0n1p3 mit der UUID 08A24E90A24E81E4 ist, wie bereits beschrieben. Wir wussten es schon vorher, aber jetzt wissen wir es ganz sicher.

Sobald du dir sicher bist, die richtige Partition gefunden zu haben, kopiere die UUID. Das Kopieren aus dem Terminalemulator erfolgt normalerweise mit Strg+Umschalt+C.

Jetzt, da wir die UUID unserer Partition haben, ist es an der Zeit, die fstab-Datei zu öffnen.

Du kannst gerne deinen Texteditor deiner Wahl verwenden. In diesem Beispiel werden wir nano benutzen. Um die fstab-Datei zu bearbeiten, muss sie als root geöffnet werden:

Terminal window
sudo nano /etc/fstab

Navigiere mit den Pfeiltasten zum Ende der fstab-Datei und erstelle dann unseren neuen Eintrag in einer leeren neuen Zeile:

Terminal window
UUID=08A24E90A24E81E4 /media/windows ntfs3 defaults,nofail,uid=1000,gid=1000,rw,user,exec,umask=000 0 0

Die Aufschlüsselung dieses Eintrags ist wie folgt:

  • UUID=08A24E90A24E81E4 ist das Dateisystem, das wir einbinden wollen, identifiziert durch seine UUID. Es gibt andere Methoden, um dein Dateisystem zu identifizieren, obwohl UUID in der Regel die sicherste ist. Weitere Methoden sind hier aufgelistet.

  • /media/windows ist der Einhängepunkt unseres Laufwerks. Der Linux Filesystem Hierarchy Standard besagt, dass /media/ der richtige Ort ist, um Wechseldatenträger einzubinden. windows gibt das Verzeichnis an, in das wir unser Laufwerk einbinden möchten. Jedes Laufwerk, das wir einbinden wollen, benötigt ein eigenes Verzeichnis.

  • ntfs3 ist der zu verwendende Dateisystemtyp. In unserem Beispiel verwenden wir explizit den ntfs3-Kerneltreiber. Andere Beispiele wären ext4, xfs oder Ähnliches. Diese explizite Angabe des Dateisystemtyps kann durch auto ersetzt werden, damit der mount-Befehl seine beste Vermutung anstellen kann.

  • defaults,nofail,uid=1000,gid=1000,rw,user,exec,umask=000: Das sind die Einhängeoptionen:

    • defaults: ein Standardsatz von Optionen, einschließlich rw, suid, dev, exec, auto, nouser und async.

    • nofail: ermöglicht es dem Bootvorgang, auch dann fortzufahren, wenn dieses Einhängen fehlschlägt.

    • uid=1000 und gid=1000: setzt den Benutzer- und Gruppenbesitz der eingebundenen Dateien auf den Benutzer und die Gruppe mit der ID 1000.

    • rw: bindet das Dateisystem als Lese-/Schreibzugriff ein.

    • user: erlaubt einem Nicht-Root-Benutzer, das Dateisystem einzubinden.

    • exec: erlaubt die Ausführung von Binärdateien auf dem eingebundenen Dateisystem.

    • umask=000: setzt die Dateiberechtigungsmaske, um Lese-, Schreib- und Ausführungsrechte für alle zu erlauben.

    • die erste 0 (dump) ist in modernen Systemen typischerweise veraltet. Dies auf 0 zu lassen, schadet nicht. Du kannst gerne mehr darüber hier lesen.

    • die zweite 0 legt die Reihenfolge für Dateisystemprüfungen beim Booten fest. Für eine Root-Partition sollte dies 1 sein, es sei denn, dein Root-Dateisystem ist btrfs, das ansonsten auf 0 gesetzt werden sollte. Alle anderen Dateisysteme in deiner fstab sollten entweder 0 (deaktiviert) oder 2 sein. Mehr Informationen hier.

Für einen detaillierteren Einblick in jede Option, besuche diese beiden Seiten: fstab man page und mount man page

Nebenbei bemerkt sind alle Optionen nach der Angabe des Dateisystemtyps optional, wenn du sie nicht vom Standard abänderst.

Somit sind

UUID=<Partitions-UUID> /media/foo somefs

und

UUID=<Partitions-UUID> /media/foo somefs defaults 0 0

gleichwertig. somefs, gefolgt von nichts, bedeutet implizit somefs defaults 0 0

Wenn du das Laufwerk, für das du einen Eintrag erstellt hast, jetzt einbinden möchtest, musst du Folgendes ausführen:

Terminal window
sudo systemctl daemon-reload

und dann:

Terminal window
sudo mount -a

Dein Laufwerk sollte nun unter /media/windows erscheinen und wird dort bei jedem Neustart wieder auftauchen.

Terminal window
ls /media/windows
# '$Recycle.Bin' Linux SteamLibrary
# AMD Modding swapfile.sys
# Apps pagefile.sys 'System Volume Information'
# bootTel.dat PerfLogs Users
# Development ProgramData WiiU
# 'Documents and Settings' 'Program Files' Windows
# DumpStack.log.tmp 'Program Files (x86)' XboxGames
# FanControl Recovery xiv_modding
# Games RetroArch-Win64
# Intel 'Ship of Harkinian'

Wenn du einen Link zu deinem neu eingebundenen Laufwerk in deinem Home-Verzeichnis erstellen möchtest, kannst du Folgendes ausführen:

Terminal window
ln -s /media/windows ~/Windows

Um zu zeigen, dass es funktioniert hat:

Terminal window
ls ~/Windows
# '$Recycle.Bin' Linux SteamLibrary
# AMD Modding swapfile.sys
# Apps pagefile.sys 'System Volume Information'
# bootTel.dat PerfLogs Users
# Development ProgramData WiiU
#'Documents and Settings' 'Program Files' Windows
# DumpStack.log.tmp 'Program Files (x86)' XboxGames
# FanControl Recovery xiv_modding
# Games RetroArch-Win64
# Intel 'Ship of Harkinian'
  • Finde die UUID deiner Partition
Terminal window
lsblk -f
  • Öffne /etc/fstab
Terminal window
sudo nano /etc/fstab
  • Erstelle einen Eintrag am Ende der Datei
Terminal window
UUID=<Partitions-UUID> /media/foo somefs defaults 0 0

Ersetze dabei <Partitions-UUID>, foo und somefs durch deine UUID, dein Verzeichnis und dein Dateisystem (z.B. ext4) und lege alle weiteren Optionen fest, die du nach defaults haben möchtest, wie z.B. _netdev für ein NAS oder nofail für jedes nicht-kritische Laufwerk.

  • Lade deinen Daemon neu
Terminal window
sudo systemctl daemon-reload
  • Binde dein Laufwerk ein
Terminal window
sudo mount -a

Dieses Laufwerk ist jetzt eingebunden und wird von nun an auch beim Start eingebunden.