[[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(2)]] 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,...) 1. 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 [:Verzeichnisstruktur: Verzeichnisbaum] "eingehängt" werden. Dieser Vorgang wird auch als [:Datenverwaltung#Geraete-zugreifbar-machen-Das-Einhaengen: "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:]. [[Anker(Geraetename)]] == 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ätes: * [wikipedia:Serial_ATA:SATA]-Festplatten (neuere interne Festplatten) und [wikipedia:ATA/ATAPI:IDE]-Festplatten (ältere interne Festplatten) beginnen mit den Buchstaben '''sd''' {{{#!vorlage Hinweis Vor der Einführung von '''libata''' wurde bei IDE- und SATA-Festplatten die Geräteangabe differenziert dargestellt. Seit Einführung von [:Feisty: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. }}} * "Normale" CD/DVD-Laufwerke (IDE) 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 SATA-, 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 SATA 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 numeriert ('''/dev/scd0''', '''/dev/scd1''' usw.) Im Abschnitt [#Welches-ist-das-gesuchte-Geraet Welches ist das gesuchte Gerät?] gibt es ein Beispiel, wie man sich die angeschlossenen Festplatten auf der Kommandozeile anzeigen kann. {{{#!vorlage 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. }}} * Festplatten sind darüber hinaus in Partitionen unterteilt. Es gibt zwei Arten von Partitionen: * die "klassischen" ''primären'' Partitionen werden von 1 bis 4 numeriert ('''/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.) * RAID-Geräte beginnen mit ''md'' und werden dann mit ''0'' beginnend hochgezählt ('''dev/md0''', '''/dev/md1''' usw.) * Logische Volumes, wie sie von [:Logical_Volume_Manager:LVM] oder EVMS erzeugt werden, finden sich an gesonderter Stelle. Hierzu empfiehlt sich die Lektüre der jeweiligen Anleitung. [[Anker(UUID)]] == 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 [:Labels: 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 [#Welches-ist-das-gesuchte-Geraet folgenden Abschnitt], diese auflisten. {{{#!vorlage 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`. }}} = 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: {{{#!vorlage Befehl 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/''':{{{#!vorlage Befehl 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/'''{{{#!vorlage Befehl 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 }}} 1. Eine Übersicht der Partitionen in Form einer Liste {{{#!vorlage Befehl 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 [:Systeminformationen_ermitteln#Festplatten:Systeminformation ermitteln] beschrieben, benutzen. = Problembehebung = == Optische Laufwerke == CD-/DVD-Laufwerke waren bis [:Raring:Ubuntu 13.04] über zusätzliche Gerätedateien ansprechbar, die ihre Fähigkeiten darstellten (Beispiele: ''' /dev/cdrom''' für CD-ROMs, '''/dev/cdrw''' für CD-Brenner, '''/dev/dvd''' für DVD-Laufwerke). Mit [:Saucy:Ubuntu 13.10] wurde eine bereits vor Jahren erfolgte Änderung bei der Hardwareerkennung in Ubuntu umgesetzt ([bug:926976:]), so dass diese ehemaligen Gerätedatei 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''' oder das Anlegen eines Symlinks (der allerdings beim nächsten Systemstart verloren geht). Beispiel: {{{#!vorlage Befehl sudo ln -s /dev/sr0 /dev/dvd }}} Besitzt man mehr als ein optisches Laufwerk, wird einfach hochgezählt ('''/dev/sr1''' usw.) = Links = * [:System#Dateisystem-und-Datentraeger: Dateisysteme und Datenträger] {Übersicht} - Übersicht über weitere Artikel zum Thema * [:Datenverwaltung:] - Verwendung von Datenträgern # tag: System, Festplatte