Datenträger

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Ein Terminal öffnen

Inhaltsverzeichnis
  1. "Wo" sind die Datenträger?
    1. Wie erfolgt der Zugriff auf Datenträger?...
    2. Wie heißen die Datenträger?
    3. Alternativen zu "Gerätenamen"
    4. Geräte im Dateimanager verstecken
  2. Welches ist das gesuchte Gerät?
  3. Problembehebung
    1. Optische Laufwerke
  4. Links

Umsteiger von Windows auf Linux fragen sich oft, wo die gewohnten Laufwerksbuchstaben zu finden sind. Die Antwort ist einfach: es gibt sie nicht. Datenträger und Dateisysteme werden unter Linux ganz anders und wesentlich flexibler gehandhabt. Wie, das erklärt dieser Artikel. (Hintergrundinformationen und weitere Erläuterungen finden sich unter Datenverwaltung.)

"Wo" sind die Datenträger?

Datenträger lassen sich auf zweierlei Arten beschreiben:

  1. Sie befinden sich physikalisch an einem bestimmten Ort (Partition einer Festplatte, CD-ROM, Netzwerkfreigabe, MP3-Player,...)

  2. Sie werden im System an einer bestimmten Stelle verwendet (C:, D:, E:, ... oder /home, /home/benutzer/mp3, /media/cdrom, /media/camera, ...)

Die ersten dieser Beispiele sind die von Windows bekannten Buchstaben, die letzteren sind schlicht Verzeichnisse in einem Linux-System. Beliebige Verzeichnisse? Im Prinzip ja. Unter Linux lässt sich der Ort, an dem man auf einen Datenträger zugreifen kann, beliebig festlegen. An der Stelle des Verzeichnisses /home/benutzer/mp3 könnte sich technisch gesehen eine Festplattenpartition befinden, eine CD-ROM, ein mobiles Gerät, eine USB-Platte - ganz wie man es gerade benötigt.

Wozu ist das nun gut? Ein Beispiel: Bei der Installation des Betriebssystems wurde einfach alles auf eine einzige Partition gelegt, das System wie auch die Dateien der einzelnen Benutzer. Was geschieht, wenn man jetzt diese Benutzerdaten auf eine andere Partition verlagern will? Unter Windows sind die Daten dann unter einem anderen Laufwerksbuchstaben erreichbar - statt C:\Dokumente und Einstellungen heißt es D:\Dokumente und Einstellungen. Und unter Linux? /home bleibt /home, ob darunter nun die einzige Partition der einzigen Festplatte liegt, die dritte Partition auf dem externen Firewirelaufwerk oder eine Netzwerkfreigabe auf irgendeinem Server.

Wie erfolgt der Zugriff auf Datenträger?

Jeder beliebige Datenträger kann jederzeit an einer beliebigen Stelle in den großen Verzeichnisbaum "eingehängt" werden. Dieser Vorgang wird auch als "einbinden" oder "mounten" bezeichnet. Zwischen dem physischen Ort und dem Zugriffsort besteht kein erzwungener und oft störender Zusammenhang. Das Einhängen erfolgt mit Hilfe des Befehls mount.

Wie heißen die Datenträger?

Die Geräte sind unter Linux nach einem einfachen Schema benannt:

Dann kommt der Anschluss an die Reihe - es gibt ja mehrere S-ATA-, IDE/ATAPI- oder SCSI-Anschlüsse:

Im Abschnitt Welches ist das gesuchte Gerät? gibt es ein Beispiel, wie man sich die angeschlossenen Festplatten auf der Kommandozeile anzeigen kann.

Hinweis:

Bei Verwendung von mehreren Festplatten an unterschiedlichen Controllern (z.B. IDE, SATA), ist die Vergabe der Device-Bezeichnungen nicht eindeutig. Nach einem Bootvorgang kann es dazu kommen, das mal die eine Festplatte als /dev/sda geführt wird, ein anderes mal eine andere Festplatte.

Bei optischen Laufwerken wurde inzwischen die Benennung vereinfacht (siehe unten).

Alternativen zu "Gerätenamen"

Die Benennung von Geräten (wie /dev/sda5) kann sich verändern, zum Beispiel bei mobilen Datenträgern oder wenn Festplattenkabel im Computer umgesteckt werden. Um dies zu umgehen, können der UUID oder das Label des Geräts (Name der Festplatte, zum Beispiel Daten) angegeben werden:

UUID=fca07690-be07-4520-858b-ff817ceab744  /media/geraet_1  [...]

LABEL=Daten  /media/geraet_2  [...]

Sollten diese Angaben nicht bekannt sein, kann man, nachdem alle Gerät normal eingehängt wurden, mit dem Befehl blkid aus dem folgenden Abschnitt, diese auflisten.

Hinweis:

Laufwerke werden daher unter Ubuntu aktuell nicht mehr per Geräteangabe /dev/... eingebunden, sondern per UUID. In manchen Fällen geht dies aber schief. Dann kann man nach wie vor die herkömmliche Angabe benutzen, also statt der UUID die alte Bezeichnung wie beispielsweise /dev/sda1.

Geräte im Dateimanager verstecken

Ab Ubuntu 12.10

Die Anzeige lässt sich unterbinden, indem man mit Root-Rechten eine Datei /etc/udev/rules.d/99-hide-partitions.rules anlegt und dort folgendes einträgt:

1
KERNEL=="sdXY", ENV{UDISKS_IGNORE}="1"

Es ist darauf zu achten, dass XY durch die zu versteckende Partition ersetzt wird.

Bis Ubuntu 12.04

1
KERNEL=="sdXY", ENV{UDISKS_PRESENTATION_HIDE}="1"

Welches ist das gesuchte Gerät?

Wenn man nicht sofort weiß, welche Platten angeschlossen sind, welche Partitionen oder welches Dateisysteme vorhanden sind usw., kann man sich alle angeschlossenen Geräte (auch Wechseldatenträger) im Terminal [1] mit den folgenden Befehlen anzeigen lassen:

  1. Angeschlossene Festplatten und Wechseldatenträger inkl. der Partitionen anzeigen:

    • aus den Systeminformationen ohne /dev/-Angabe:

      cat /proc/partitions 

      Das Ergebnis sieht dann so ähnlich aus:

      major   minor    #blocks name
      
         8        0  156290904 sda
         8        4          1 sda1
         8        5   99996561 sda5
         8       16  312571224 sdb
         8       17          1 sdb1
    • nur die Festplatten - ohne Partitionen - inkl. /dev/:

      sed -ne 's/.*\([sh]d[a-zA-Z]\+$\)/\/dev\/\1/p' /proc/partitions 

      Das Ergebnis sieht dann so ähnlich aus:

      /dev/sda
      /dev/sdb
    • nur die Partitionen - inkl. /dev/:

      sed -ne 's/.*\([sh]d[a-zA-Z]\+[0-9]\+$\)/\/dev\/\1/p' /proc/partitions 

      Das Ergebnis sieht dann so ähnlich aus:

      /dev/sda1
      /dev/sda5
      /dev/sdb1
  2. Eine Übersicht der Partitionen in Form einer Liste:

    sudo blkid -o list -w /dev/null 

    Das Ergebnis sieht dann so ähnlich aus:

    device               fs_type        label           mount point                    UUID
    ------------------------------------------------------------------------------------------------------------------------
    /dev/sda1             ntfs          WindowsXP       /media/windows                5339e963-71a9-4e60-aee5-63f1122f9f9a
    /dev/sda2             ext4          Ubuntu          /                             1847456f-c740-48ac-bff9-198f2591c90c
    /dev/sda5             ext4          Home            /home                         69979c60-4739-4a50-aac2-f74654478544
    /dev/sdb1             ext3                          /media/Daten                  0f8ad5b2-381d-4a79-9c47-d3cefb83bf32
    /dev/sdb2             ext4          Musik           /media/Musik                  4e7beaec-1991-446d-86b7-25433c0237d8
    /dev/sdc1             vfat          PENDRIVE        (not mounted)                 CCB6-9B80

Sollten dann immer noch Schwierigkeiten bei der Zuordnung bestehen, kann man weitere Auflistungsformen, wie unter Systeminformation ermitteln beschrieben, benutzen.

Problembehebung

Optische Laufwerke

CD-/DVD-Laufwerke waren bis Ubuntu 13.04 über zusätzliche Gerätedateien ansprechbar, die ihre Fähigkeiten darstellten (/dev/cdrom für CD-ROMs, /dev/cdrw für CD-Brenner, /dev/dvd für DVD-Laufwerke usw.). Mit Ubuntu 13.10 wurde endgültig eine bereits vor Jahren erfolgte Änderung bei der Hardwareerkennung auch in Ubuntu umgesetzt (926976), so dass diese ehemals verwendeten Gerätedateien nun fehlen können.

Während die automatische Hardwareerkennung von Linux und neuere Programme in der Regel damit keine Probleme haben, stolpern viele ältere Programme z.B. über ein scheinbar fehlendes DVD-Laufwerk. Abhilfe schafft die Angabe der bzw. die Umstellung auf die Gerätedatei /dev/sr0, in seltenen Fällen auch /dev/scd0 oder das Anlegen eines Symlinks. Beispiel:

sudo ln -s /dev/sr0 /dev/dvd 

Besitzt man mehr als ein optisches Laufwerk, wird einfach hochgezählt. Beispiel:

sudo ln -s /dev/sr0 /dev/dvd
sudo ln -s /dev/sr1 /dev/cdrom 

Diese Symlinks gehen allerdings beim nächsten Systemstart verloren. Abhilfe schafft ein fester Eintrag in der Datei /etc/rc.local.