[[Vorlage(Kopie, Windows-Partitionen_einbinden)]] [[Vorlage(Getestet, )]] {{{#!vorlage Wissen [:mount:mount (Partitionen temporär einbinden)] [:fstab:fstab (Partitionen statisch einbinden)] [:MS-Windows Integration:Parallel-Betrieb von Linux und Windows] [:Terminal:Ein Terminal öffnen] [:Editor#Root-Rechte-Bearbeiten-von-Systemdateien:Einen Editor mit Root-Rechten öffnen] }}} [[Bild(./MS-Windows_Integration/win-ubuntu.png, align=left)]] [[Inhaltsverzeichnis (3)]] Es kann verschiedene Gründe geben, von Linux aus auf eine mit einem Windows-Dateisystem formatierte Partition zuzugreifen. Es kann sein, dass man in einem Dual-Boot-System eine interne Partition von Windows und von Linux aus gemeinsam nutzen möchte. Oder man möchte eine externe Partition (Festplatte, SD-Karte oder USB-Stick) abwechselnd in Windows und Linux benutzen. Externe Geräte wie Musikplayer oder Fernseher, Kameras oder Navigationsgeräte können oftmals nur mit Datenträgern umgehen, die mit einem Windows-Dateisystem formatiert sind usw. Ubuntu kann die Windows-Dateisysteme [wikipedia:VFAT:] (FAT12, FAT16, FAT32) und [wikipedia:NTFS:] automatisch erkennen und auf diese lesend und schreibend zugreifen. Interne Partitionen mit Windows-Dateisystemen lassen sich wie Partitionen mit original Linux-Dateisystemen automatisch oder einfach mit einem Mausklick einbinden, und USB-Sticks oder externe Festplatten mit Windows-Dateisystemen werden nach dem Anschließen automatisch eingebunden und auf dem Desktop angezeigt. Trotzdem gibt es wesentliche Unterschiede zwischen Windows- und Linux-Dateisystemen und dadurch bedingt einige Einschränkungen, die es zu beachten gilt. {{{#!vorlage Hinweis Dieser Artikel betrifft nicht den Zugriff auf Windows-Partitionen über ein Netzwerk. Siehe dazu z.B. [:Samba:] oder [:Heimnetzwerk:]. }}} = Besonderheiten und Einschränkungen = == Dateirechte == Linux-Dateisysteme verwenden die [:Rechte:UNIX-Dateirechte] und ggf. noch die [:ACL:POSIX ACL]. Das Dateisystem VFAT kennt hingegen überhaupt keine Dateirechte, und NTFS verwendet die für Windows konzipierten, völlig anders strukturierten [wikipedia:Security Identifier:SID] ggf. mit eigener, nicht POSIX-konformer [wikipedia:Access Control List:ACL]. Deshalb wird die Rechteverwaltung von Linux auf Windows-Partitionen nicht bzw. nicht direkt unterstützt. === Simulierte Dateirechte === Damit sich eingebundene Windows-Dateisysteme in Linux-Dateistrukturen einfügen, werden für diese dann Dateirechte simuliert. Dabei gelten folgende Standard-Einstellungen: 1. Interne Partitionen: * VFAT: Eigentümer und Gruppe sind `root/root`; Eigentümer und Gruppe haben vollen Zugriff, andere nur Lesezugriff (`umask=0002`). Auch der eingeloggte Benutzer kann also ohne [:sudo:Administrator-Rechte] auf dieser Partition nicht schreiben. * NTFS: Eigentümer und Gruppe sind `root/root`; alle haben vollen Zugriff (`umask=0000`). 1. Externe Partitionen (automatisch beim Booten oder per [wikipedia:Hotplug:] eingebundene Datenträger): * Eigentümer ist der jeweils eingeloggte Benutzer. Nur dieser hat vollen Zugriff, Gruppe und Andere haben gar keinen (`umask=0077`). {{{#!vorlage Warnung Wenn auf einer NTFS-Partition nicht eigens eine [:/Windows-Partitionen_einbinden/NTFS-3G#UNIX-Dateirechte-und-POSIX-ACL:Linux-Rechteverwaltung] mit [:Windows-Partitionen_einbinden/NTFS-3G#User-Mapping:User-Mapping] eingerichtet ist, dann werden bei der Neuerstellung von Dateisystemobjekten unter Linux die Windows-Dateirechte immer auf "Vollzugriff" für ''"Jeder"'' gesetzt. Da dies auch innerhalb von durch Windows geschützten Ordnern, z.B. '''/Users/BENUTZER''' passiert, ist dadurch der von Windows vorgesehene Schutz gewissermaßen unterwandert. Um dies zu verhindern wurden bereits vorläufige Patches bereitgestellt. Diese und die damit verbundenen Besonderheiten werden im [https://tuxera.com/forum/viewtopic.php?f=3&t=30642&sid=a3ff74ba36e26ef673d65c4fc7e70c38 NTFS-3G-Forum] {en} behandelt. Auch ein [bug:1249674:Ubuntu-Fehlerbericht] {en} liegt dazu bereits vor. }}} Manchmal möchte oder muss man diese Dateirechte verändern. Simulierte Dateirechte lassen sich nicht nachträglich im Dateimanager (z.B. [:Nautilus:]) oder mit den Befehlen [:chown:], [:chgrp:] und [:chmod:] verändern. Man kann diese aber bereits beim Einbinden mit den Mount-Optionen `uid` und `gid` sowie `umask`, `fmask` und `dmask` anders festlegen. Dies ist hier im Artikel [:mount#Windows-Dateisysteme:mount] genauer beschrieben. Die simulierten Dateirechte beziehen sich immer auf die gesamte Partition. Sie werden dort nicht eingetragen und gelten deshalb nur für die jeweilige Sitzung bis zum Aushängen der Partition; beim erneuten Einhängen können sie unabhängig davon wieder neu und ganz anders festgelegt werden. === Echte Dateirechte unter NTFS === Seit der Version 2009.11.14 (in Ubuntu seit 10.04 [:Lucid:Lucid Lynx]) bietet der von Ubuntu für NTFS verwendete Dateisystem-Treiber [wikipedia:ntfs-3g:NTFS-3G] optional auch die Möglichkeit, Linux- bzw. UNIX-Dateirechte und -ACL auf die in NTFS verwendeten SID mit Windows-ACL abzubilden und so auf NTFS-Partitionen eine echte Verwaltung von Linux-Dateirechten einzurichten. Mit [:Windows-Partitionen_einbinden/NTFS-3G#Windows-Kompatibilitaet:User-Mapping] lässt sich sogar erreichen, dass in Dual-Boot-Systemen Windows und Linux (mit gewissen Einschränkungen) gegenseitig die Dateirechte anerkennen. Im Artikel [:Windows-Partitionen einbinden/NTFS-3G#UNIX-Dateirechte-und-POSIX-ACL:NTFS-3G] ist dies näher erklärt. Aus Gründen der Kompatibilität mit VFAT und mit früheren Treiber-Versionen wird beim automatischen Einhängen von NTFS-Partitionen standardmäßig keine UNIX-Rechteverwaltung eingerichtet (Stand: April 2014). == Datum und Uhrzeit == Werden in Linux-Dateisystemen Ordner oder Dateien kopiert oder verschoben, dann bleiben dabei standardmäßig Besitzer und Gruppe unverändert. Als Folge davon bleibt auch der Zeitstempel (Datum und Uhrzeit) gleich. Beim Kopieren oder Verschieben auf Windows-Partitionen mit simulierten Dateirechten ändern sich jedoch in vielen Fällen Besitzer und Gruppe. Linux interpretiert dann die kopierte bzw. verschobene Datei als neu angelegt und trägt den momentanen Zeitpunkt als Zeitstempel ein. Dies kann vor allem bei der Dateisicherung (Backup) sehr lästig sein. Weitgehend vermeiden lässt sich das Problem, indem man die Windows-Partitionen von vorne herein so einbindet, dass sich beim Kopieren Eigentümer und Gruppe möglichst nicht ändern. Ein weiteres Problem besteht darin, dass zwar NTFS - wie auch die Linux-Dateisysteme - eine Unterstützung für Zeitzonen und Sommerzeit kennt, FAT hingegen nicht. Deshalb erscheinen Dateien auf FAT-Partitionen nach der Sommerzeit/Zeitzonen-Umstellung ggf. um eine/mehrere Stunde(n) verschoben. Bei Backup-Programmen (z.B. [:rsync:] oder [:FreeFileSync:]) kann dies erhebliche Probleme verursachen. == Datei- und Ordnernamen == Linux-Kernel und NTFS-3G unterstützen standardmäßig den Zeichensatz [wikipedia:UTF-8:]. Deshalb werden auch (westeuropäische) Sonderzeichen in Datei- und Ordnernamen richtig wiedergegeben. Ausnahmen sind allerdings Sonderzeichen in den Namen von Dateien, die von MS-DOS oder älteren Windows-Versionen angelegt wurden. Wenn man in solchen Fällen die Verwendung von Sonderzeichen nicht vermeiden kann, muss bei den Mount-Optionen evtl. noch die Codepage angegeben werden. Abgesehen von den nationalen Sonderzeichen (Umlaute, Akzente usw.) gibt es sowohl in Windows als auch in Linux noch Zeichen, die in Dateinamen nicht zulässig sind. Um die Verwendung Windows-kompatibler Zeichen zu erzwingen, kann unter [:NTFS-3G:] die [https://www.tuxera.com/community/ntfs-3g-manual/#4 mount Option `windows_names`] {en} verwendet werden. Linux unterscheidet auch auf Windows-Partitionen konsequent Groß- und Kleinschreibung. '''Erika.JPG''' und '''erika.jpg''' sind in Linux zwei voneinander unabhängige Dateinamen, die im selben Ordner nebeneinander verwendet werden dürfen. In Windows ist dies nicht zulässig. Auch wenn Groß- und Kleinbuchstaben angezeigt werden, gelten in Windows beide Namen dennoch als identisch. Ein weiteres Problem kann die Interpretation von Ziffern in der Ordnungsstruktur sein. Während Windows auch Zahlen alphabetisch ordnet, ordnet sie Linux numerisch. Die selben Dateien auf dem selben Datenträger können deshalb in Windows und Linux verschieden angeordnet erscheinen. == Ausführbare Dateien == Interne Windows-Partitionen werden standardmäßig so eingebunden, dass alle darauf befindlichen Dateien als "ausführbar" erscheinen, selbst wenn sie dies gar nicht sind (Mount-Option `exec`). Es ist deshalb hier nicht nötig, Skripte oder Binärdateien eigens als "ausführbar" zu kennzeichnen. Bereits in Windows installierte Programme können in der Regel unter [:Wine:] ohne Neuinstallation nicht gestartet werden. Dagegen lassen sich portable Windows-Programme oftmals direkt durch einen Doppelklick auf die '''.exe'''-Datei mittels Wine starten. Aus Sicherheitsgründen werden externe Windows-Partitionen jedoch standardmäßig als "nicht ausführbar" eingebunden (Option `noexec`). Skripte, Binärdateien und '''.exe'''-Dateien können auf diesen dann nicht direkt ausgeführt werden. Es ist jedoch jederzeit möglich, diese Option durch Aushängen und wieder Einhängen (nicht Aus- und Einstecken!) zu ändern ([#Windows-Partitionen-einhaengen s.u.]). {{{#!vorlage Warnung Werden externe Windows-Datenträger als "ausführbar" eingehängt (Option `exec`), dann lässt es sich nicht sicher ausschließen, dass ggf. Schadprogramme über [:Wine:] aktiv werden. }}} == Verknüpfungen == Von VFAT-Dateisystemen aus sind weder [wikipedia:Harter_Link:harte] noch [wikipedia:Symbolische_Verknüpfung:symbolische] [:ln:Verknüpfungen] (Symlinks) möglich. Von Linuxdateisystemen aus sind aber symbolische Verknüpfungen zu Zielen auf VFAT-Partitionen erlaubt. Anders als bei VFAT sind auf NTFS-Partitionen [:Windows-Partitionen_einbinden/NTFS-3G/#Verknuepfungen:sowohl harte als auch symbolische Verknüpfungen ohne Einschränkungen zulässig]. == Sonstiges == Dateien können systembedingt bei FAT16 (veraltet) nicht mehr als 2 GB und bei FAT32 nicht mehr als 4 GB umfassen. Wenn die Voraussetzungen für die Verwendung von NTFS-3G nicht erfüllt sind, dann verwendet Ubuntu stattdessen das NTFS-Kernelmodul und hängt damit die Partitionen ohne Schreibzugriff (`ro`) ein. = Windows-Partitionen einhängen = {{{#!vorlage Warnung Windows darf sich nicht im Ruhezustand befinden, und der Schnellstart muss (ab Version 8) in den Energieoptionen abgeschaltet sein. Ansonsten kommt beim Versuch zu mounten bestenfalls der Hinweis, das Windows nicht ordnungsgemäß heruntergefahren wurde usw., schlimmstenfalls können auch unbemerkt Daten korrumpiert werden (genaueres in der [:Windows-Partitionen_einbinden/NTFS-3G/#Probleme-und-Loesungen:Achtung-Box hier]). }}} Möchte man für die simulierten Dateirechte die Standard-Einstellungen verwenden, werden Windows-Partitionen in der gleichen Weise temporär [1] eingehängt wie andere Partitionen. Zur Kennzeichnung der einzuhängenden Partition kann wie immer deren [:UUID:], aber auch deren Eintrag in '''/dev/''' oder deren [:Labels:Label] verwendet werden. In folgender Befehlszeile wird - abweichend von den Standardeinstellungen - der Benutzer mit der UID 1000 ("Erstbenutzer") als Eigentümer festgelegt, und nur diesem werden Schreibrechte eingeräumt: {{{#!vorlage Befehl sudo mount -t ntfs -o uid=1000,umask=0022 /dev/sda5 /media/Musik }}} Die Angabe `-t ntfs` ist optional, da Ubuntu das Dateisystem selbständig erkennt. Soll die Partition statisch [2] eingehängt werden, lautet der entsprechende Eintrag in '''/etc/fstab''': {{{ /dev/sda5 /media/Musik ntfs uid=1000,umask=0022 0 0 }}} Statt `ntfs` und `vfat` kann auch `auto` angegeben werden; anders als oben beim Befehl `mount` darf aber hier das Feld nicht einfach ausgelassen werden. Wichtig ist auch, dass im 6. (letzten) Feld immer die Ziffer `0` (Null) steht, weil eine automatische Überprüfung von Windows-Partitionen beim Bootvorgang nicht vorgesehen ist. Auch externe Laufwerke können auf diese Weise mit geänderten Optionen eingehängt werden. Ist ein Eintrag in '''/etc/fstab''' vorhanden, dann werden externe Partitionen genau so behandelt wie interne. Sollen externe Partitionen ohne Eintrag in '''/etc/fstab''' temporär eingehängt werden, müssen sie ggf. vorher ausgehängt werden. Die Kennzeichnung über '''/dev/''' ist für externe Partitionen weniger geeignet. In diesem Beispiel wird ein FAT-formatierter USB-Stick in das Verzeichnis '''/media/usbstick''' eingehängt: {{{#!vorlage Befehl sudo mount -t vfat -o uid=simon,gid=plugdev,umask=0027 UUID=36FF-F3BA /media/usbstick }}} Die UUID des Sticks wurde mit dem Befehl `sudo blkid` ermittelt. Für Eigentümer und Gruppe hätte man auch die Zahlenwerte `uid=1000,gid=46` angeben können. Wegen `umask=0027` hat der Eigentümer `Simon` vollen Zugriff, Mitglieder der Gruppe `plugdev` dürfen lesen und andere haben gar keinen Zugriff. Der entsprechende Eintrag in '''/etc/fstab''' wäre dann: {{{ UUID=36FF-F3BA /media/usbstick vfat uid=simon,gid=plugdev,umask=0027 0 0 }}} Auch hier darf `auto` an der Stelle von `vfat` stehen. Weitere Beispiele findet man im Artikel [:mount#Beispiele:mount]. = Überprüfung und Wartung = Für die Wartung von FAT-Partitionen bietet Linux einige Shell-Befehle an: ## <-2 rowclass="titel">"ntfsprogs" ## +++ {{{#!vorlage Tabelle < rowclass="kopf">Befehl Beschreibung +++ `mkdosfs` formatiert eine Partition mit einem FAT-Dateisystemen. +++ `dosfsck` überprüft und repariert nötigenfalls eine FAT-Partition +++ `dosfslabel` Zeigt das [:Labels:Label] einer FAT-Partition an und erlaubt es, dieses zu verändern. }}} Die Partition darf nicht eingehängt sein. Für die Wartung von NTFS-Partitionen gibt es die Tool-Sammlung ntfsprogs. Seit der Version 2011.4.12 ([:Oneiric:Ubuntu 11.10]) ist diese in NTFS-3G integriert und braucht nicht mehr eigens installiert zu werden. = Sicherheit = Früher wurde dazu geraten, Partitionen, die von Windows und Linux gemeinsam benutzt werden ("Austauschpartitionen") vorzugsweise mit VFAT (FAT32) zu formatieren, da nur dieses Dateisystem von beiden Betriebssystemen gleichermaßen unterstützt wurde. Durch ständige Verbesserungen hat aber inzwischen der Dateisystem-Treiber NTFS-3G einen solchen Stand erreicht, dass vieles dafür spricht, auch hier das Dateisystem NTFS zu bevorzugen. == Zugriffskontrolle == Auf FAT-Partitionen ist keine Zugriffskontrolle möglich. Auf NTFS-Partitionen lässt sich zwar auch in Linux eine Zugriffskontrolle einrichten, doch lässt sich diese jederzeit mühelos deaktivieren. Ohne User-Mapping erkennen Windows und Linux die im jeweils anderen Betriebssystem eingerichtete Zugriffskontrolle nicht an. Deshalb ist davon abzuraten, sensible Daten oder Systemdateien auf gemeinsam genutzten Partitionen unterzubringen. {{{#!vorlage Warnung Es kann ein Sicherheitsrisiko bedeuten, sensible Daten oder Systemdateien auf Partitionen unterzubringen, auf die Windows und Linux abwechselnd Zugriff haben. }}} == Journaling == FAT-Dateisysteme kennen kein [wikipedia:Journaling Dateisystem:Journaling]. Sind bei Störungen (Stromausfall, Platzmangel, Ausstecken externer Datenträger usw.) noch offene Dateien vorhanden oder Schreibvorgänge nicht abgeschlossen, droht deshalb Datenverlust. Das Journaling von NTFS wird auch in Linux unterstützt, sodass in solchen Fällen meist keine Daten verloren gehen. Wird ein NTFS-Datensystem durch Fehler inkonsistent (etwa nach einem Systemabsturz), so kann es vorkommen, dass sich diese Partition in Linux nicht mehr einhängen lässt. Dieser Zustand lässt sich dann nur in einem Windows-Betriebssystem wieder korrigieren. Oftmals reicht es aus, einmal Windows mit dem fehlerhaften Datenträger zu starten und die externe Festplatte wieder auszuhängen bzw. den PC korrekt herunterzufahren. = Freigaben im Netzwerk = == Samba == Über [:Samba:] können sowohl ganze Windows-Partitionen als auch auf diesen befindliche Ordner im Netzwerk freigegeben werden. Dabei sind folgende Einschränkungen zu beachten: * "Persönliche Freigaben" mit [:Samba Server GNOME#Persoenliche-Freigaben-mit-net-usershare:net usershare] (Nautilus -> Rechtsklick) sind in der Grundeinstellung nur für Dateien zulässig, die (echt oder simuliert) Eigentum des jeweils eingeloggten Benutzers sind. Bei internen Windows-Partitionen ist dies standardmäßig nicht der Fall. * "Öffentliche Freigaben (Gast-Zugriff)" Auf standardmäßig eingebundenen FAT-Partitionen kann Gästen nur Lesezugriff gewährt werden. Aus diesen Gründen kann es nötig sein, die Rechte für die betreffenden Windows-Partitionen bereits beim Einhängen anders festzulegen. == Nutzung von NFS == Das in reinen Linux-Netzwerken am häufigsten verwendete Netzwerk-Protokoll ist [:NFS:]. Dieses eignet sich jedoch nur eingeschränkt, um Ordner oder Dateien von Windows-Dateisystemen freizugeben. * Mit VFAT ist NFS nicht sicher aufgrund des Fehlens permanenter Inode-Nummern (siehe [http://nfs.sourceforge.net/#faq_c6:NFS FAQ] {en} auf nfs.sourceforge.net). = Links = == Seiten zu verwandten Themen == * [:Partitionierung:]: Erstellen und Verändern von Partitionen * [:Windows-Partitionen einbinden/NTFS-3G:NTFS-3G]: Der standardmäßig für NTFS-Partitionen verwendete Dateisystem-Treiber. * [:MS-Windows Integration:]: Hinweise zum Parallel-Betrieb von Linux und Windows auf einem Rechner oder in einem Netzwerk. * [:Externe Laufwerke statisch einbinden:] und [:Externe_Laufwerke_statisch_einbinden#Einbindung-per-UUID:Einbindung per UUID] * [:Linux-Partitionen unter Windows:]: Auch der umgekehrte Weg ist möglich. == Ergänzende Informationen == * [https://www.pro-linux.de/t_system/vfat-tipps.html vfat-tipps]: {de} Pro-Linux: Tipps zum vfat-Dateisystem unter Linux mit praktischen Anwendungsbeispielen vom 17.01.2005 * [wikipedia:NTFS-3G:] in Wikipedia # tag: Installation, System, Windows, Partition, mount, fstab, Dateisystem