Datenträger
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
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:
Sie befinden sich physikalisch an einem bestimmten Ort (Partition einer Festplatte, CD-ROM, Netzwerkfreigabe, MP3-Player,...)
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:
Zuerst steht immer das Verzeichnis /dev/. In diesem Verzeichnis finden sich alle "Gerätedateien"; über Gerätedateien lässt sich die Hardware ansprechen (Anmerkung: Unter Linux ist alles eine Datei, was Daten annehmen und/oder liefern kann - also buchstäblich alles. Das ist eins der ebenso simplen wie genialen Grundprinzipien von unixartigen Systemen). An nächster Stelle kommt die Art des Geräts:
SATA-Festplatten (neuere interne Festplatten) und IDE-Festplatten (ältere interne Festplatten) beginnen mit den Buchstaben sd
Hinweis:
Vor der Einführung von libata wurde bei IDE- und SATA-Festplatten die Geräteangabe differenziert dargestellt. Seit Einführung von Ubuntu 7.04 im April 2007 werden alle Festplatten mit sd angesprochen. Im Internet findet man ab und zu noch die "alte Angabe" hd für IDE-Festplatten.
CD/DVD-Laufwerke (IDE, S-ATA) beginnen mit sr
SCSI-Festplatten und alle externen Speichermedien, die über USB oder Firewire angeschlossen sind, beginnen ebenfalls mit sd
externe oder SCSI-CD/DVD-Laufwerke beginnen mit scd
Dann kommt der Anschluss an die Reihe - es gibt ja mehrere S-ATA-, IDE/ATAPI- oder SCSI-Anschlüsse:
bei SATA- und SCSI-Festplatten werden die Buchstaben der Reihe nach verwendet (/dev/sda, /dev/sdb, /dev/sdc usw.)
bei IDE-Geräten (interne Festplatten und CD-ROM-Laufwerke) ist wichtig, mit welchem IDE-Anschluss das Gerät verbunden ist. Jeder Anschluss kann zwei Geräte aufnehmen (sogenannte "Master" und "Slave"; bei S-ATA nicht relevant):
Das Master-Gerät am ersten IDE-Anschluss bekommt den Buchstaben a (/dev/sda)
Das Slave-Gerät am ersten IDE-Anschluss bekommt den Buchstaben b (/dev/sdb)
Das Master-Gerät am zweiten IDE-Anschluss bekommt den Buchstaben c (/dev/sdc)
Das Slave-Gerät am zweiten IDE-Anschluss bekommt den Buchstaben d (/dev/sdd)
SCSI- oder externe CD-ROMS werden mit Zahlen bei 0 beginnend nummeriert (/dev/scd0, /dev/scd1 usw.)
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, dass 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).
Festplatten sind darüber hinaus in Partitionen unterteilt. Es gibt zwei Partitionsschemata:
Das klassische DOS/MBR-Schema unterscheidet 2 Arten von Partitionen:
Die "primären" Partitionen werden von 1 bis 4 nummeriert (/dev/sda1 bis /dev/sda4),
eine der primären Partitionen kann als "erweiterte" Partition weitere Partitionen, die sogenannten "logischen Laufwerke" enthalten. Deren Benennung beginnt in jedem Fall bei der Ziffer 5 (/dev/sda5, /dev/sda12 usw.).
Das modernere GPT-Schema nummeriert alle Partitionen von 1 bis 128 (z.B. /dev/sda14).
RAID-Geräte beginnen mit md und werden dann mit 0 beginnend hochgezählt (dev/md0, /dev/md1 usw.)
Logische Volumes, wie sie von LVM oder EVMS erzeugt werden, finden sich an gesonderter Stelle. Hierzu empfiehlt sich die Lektüre der jeweiligen Anleitung.
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¶
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.
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:
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
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.
Links¶
Datenverwaltung - Verwendung von Datenträgern
blkid und lsblk - Ermitteln wichtiger Informationen über die angeschlossenen Datenträger
Dateisysteme und Datenträger Übersicht über weitere Artikel zum Thema