Partitionen automatisch beim Systemstart einbinden

Linux bindet jedes Dateisystem einzeln ein, gerade in einer Umgebung ohne Desktop und grafische Tools kann das manuelle mounten für Linux-Neulinge schwer sein. Daher gibt es hier ein Tutorial wie Festplatten automatisch beim Systemstart eingebunden werden können.

fstab-console

So sehen UUIDs und Einträge in /etc/fstab aus

Schnell erklärt läuft der Prozess folgendermaßen ab:

  1. UUID ermitteln mit sudo blkid
  2. Mount-Point erstellen
  3. Dateisystem in /etc/fstab eintragen
  4. sudo mount -a oder reboot

Die 4 Schritte sind schnell erlernt und gehören zum Grundwissen über Linux. Wir werden uns nun jeden Schritt einzeln ansehen und mit etwas Hintergrundwissen weiter erläutern.

Tipp: Diesen Artikel einzeln ansehen (Weiterlesen…) und oben rechts auf den Pfeil „Sidebar verstecken“ neben dem Titel klicken, für eine bessere Darstellung der Code-Blöcke

Identifizierung über UUID

Damit man überhaupt Dateisysteme einbinden kann, sollte man vorher die Funktionsweise in Linux verstehen: Das System stellt die Festplatte als ganzes Gerät bereit. Sind die Festplatten über SATA angeschlossen, heißen sie üblicherweise sdX (also sda, sdb, sdc…) und sind in /dev anzufinden. Wie unter Windows werden allerdings keine Festplatten als solche eingebunden, sondern Dateisysteme, also die einzelnen Partitionen der Festplatte. Diese sind durchnummeriert und beginnen mit 1. Die erste Partition von sda wäre also sda1, dieses „Gerät“ ist ebenfalls in /dev auffindbar.

Man könnte bereits mit den /dev/sdXY Geräten arbeiten, allerdings ist das nicht ratsam, da sich das X beim Umstecken von Kabeln oder durch andere Umstände ändern könnte. Daher besitzen die Partitionen einen Universally Uniqe IDentifier. Mit der UUID kann man sicher sein, auf jeden fall immer das gleiche Dateisystem anzusprechen, auch wenn sich die Laufwerksnummern/Buchstaben ändern.

Eine Liste aller UUIDs im System bekommt man mit dem Kommando

sudo blkid

Hier werden die UUIDs (bei NTFS/FAT die Seriennummern) für alle Dateisysteme aufgelistet. Beispiel:


/dev/sda1: LABEL="xbmcos" UUID="9613af27-97dd-4d0f-9785-c63387e80011" TYPE="ext4"
/dev/sda2: LABEL="OE_SYSTEM" UUID="21e4d098-89d4-4cd9-8353-da0b42fc9eda" TYPE="ext4"
/dev/sda3: LABEL="OE_DATA" UUID="aeb95636-3d57-4a5d-a404-a31e7a04cb85" TYPE="ext4"
/dev/sda4: LABEL="backup" UUID="f9266b88-c1ef-474b-a6df-a782b2a0cbea" TYPE="ext4"
/dev/sdb1: LABEL="Filme" UUID="64A06FB2A06F88FE" TYPE="ntfs"
/dev/sdc1: LABEL="Serien/Spiele" UUID="BA4C87674C871D6F" TYPE="ntfs"
/dev/sdd1: LABEL="Filme2" UUID="da8f50a2-6b26-45d6-b49c-929f8579ac02" TYPE="ext4"

Diese Informationen brauchen wir, um die Festplatte beim Systemstart durch die Datei fstab einbinden zu lassen.

/etc/fstab bearbeiten

In /etc/fstab werden die Dateisysteme aufgeführt, die automatisch vom System gemountet werden sollen. Dazu muss man die UUID angeben, den Mount-Punkt (an dem das System eingebunden werden soll), der Typ des Dateisystems sowie Optionen zum Einbinden, Parameter für das Dump-Programm (Backup) und der Pass-Parameter, welcher zur Dateisystemüberprüfung dient. Wie bei fast allen grundlegenden Sachen gibt es auch eine gute Anleitung im Ubuntuusers.de Wiki.

Wichtig beim Mount-Point ist, dass dieser wirklich existieren muss – er wird nicht automatisch angelegt. Daher sollte dieser erstellt werden, bevor fstab bearbeitet wird: mkdir /pfad/zum/mountpoint erstellt einen normalen Ordner.

Mit der UUID und dem Typ des Dateisystems könnt ihr nun das Dateisystem in eure /etc/fstab eintragen. Dazu sind root-Rechte nötig, zum Beispiel:

sudo nano /etc/fstab

Natürlich könnt ihr auch vi, emacs oder einen GUI Editor verwenden. Wichtig ist nur, dass ihr root-Reche besitzt (sudo).
Hier ist meine /etc/fstab als Beispiel:

#<file system>                           <mountpoint> <type>  <options>                        <dump>  <pass>

UUID=9613af27-97dd-4d0f-9785-c63387e80011 /            ext4   discard,noatime,errors=remount-ro  0       0
UUID=64A06FB2A06F88FE                     /mnt/Filme   ntfs   noatime,errors=remount-ro          0       0
UUID=BA4C87674C871D6F                     /mnt/Serien  ntfs   noatime,errors=remount-ro          0       0
UUID=da8f50a2-6b26-45d6-b49c-929f8579ac02 /mnt/Filme2  ext4   noatime,errors=remount-ro          0       0

Als erstes wird die UUID angegeben, danach der Ordner, in dem das System verfügbar gemacht wird. Als Optionen habe ich bei allen Dateisystemen noatime, das führt einfach dazu, dass nicht jedes mal wenn eine Datei gelesen wird, ein Schreibzugriff für die AccessTime (Letzter Aufruf) erfolgt. errors=remount-ro gibt an, dass das Dateisystem als read-only (ohne Schreibzugriff) eingebunden werden soll, wenn beim normalen Einbinden Fehler auftreten. Die Option discard ist speziell für SSDs und sorgt dafür, dass TRIM aktiviert wird (gelöschte Datenblöcke werden mit Nullen überschrieben anstatt die gespeicherten Informationen nur nicht mehr zu Nutzen).

Als Dump und Pass gebe ich immer 0 an, da ich kein automatisches Backup mit dump erstellen will und meine Dateisysteme auch nicht automatisch überprüft werden sollen.

Wurde die /etc/fstab geändert, können die Änderungen direkt im System mit sudo mount -a übernommen werden. Andernfalls werden sie nach einem Reboot wirksam. Werden keine Fehlermeldungen ausgegeben, sollten die Daten an dem angegebenen MountPoint verfügbar sein.

MfG
Damon Dransfeld

Dieser Eintrag wurde veröffentlicht in Linux
Bookmarken: Permanent-Link Schreibe einen Kommentar oder hinterlasse einen Trackback: Trackback-URL.
Achtung: Wordpress interpretiert bestimmte Zeichenfolgen als Markup und verändert diese. Nutzt für Programmcode lieber Gist oder PasteBin-Services und verlinkt die Code-Schnipsel.

Post a Comment

Sie müssen angemeldet sein, um kommentieren zu können.