ubuntuusers.de

Windows-Partitionen einbinden

Achtung!

Dieser Artikel wird aktuell in Baustelle/Windows-Partitionen einbinden überarbeitet. Daher kann es sein, dass diese Seite hier veraltete oder nicht (mehr) zutreffende Informationen enthält. Vergleiche beide Versionen und wende dich im Zweifelsfall mit deinem konkreten Anliegen an das Support-Forum. Änderungen am Artikel bitte nur in Baustelle/Windows-Partitionen einbinden!

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.

./MS-Windows_Integration/win-ubuntu.png

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 VFAT (FAT12, FAT16, FAT32) und 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.

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 UNIX-Dateirechte und ggf. noch die POSIX ACL. Das Dateisystem VFAT kennt hingegen überhaupt keine Dateirechte, und NTFS verwendet die für Windows konzipierten, völlig anders strukturierten SID ggf. mit eigener, nicht POSIX-konformer 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 Administrator-Rechte auf dieser Partition nicht schreiben.

    • NTFS: Eigentümer und Gruppe sind root/root; alle haben vollen Zugriff (umask=0000).

  2. Externe Partitionen (automatisch beim Booten oder per Hotplug eingebundene Datenträger):

    • Eigentümer ist der jeweils eingeloggte Benutzer. Nur dieser hat vollen Zugriff, Gruppe und Andere haben gar keinen (umask=0077).

Achtung!

Wenn auf einer NTFS-Partition nicht eigens eine Linux-Rechteverwaltung mit 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 NTFS-3G-Forum 🇬🇧 behandelt. Auch ein Ubuntu-Fehlerbericht 🇬🇧 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 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 Lynx) bietet der von Ubuntu für NTFS verwendete Dateisystem-Treiber 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 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 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 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 mount Option windows_names 🇬🇧 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 (s.u.).

Achtung!

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 harte noch symbolische 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 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

Achtung!

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 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 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:

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:

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.

Überprüfung und Wartung

Für die Wartung von FAT-Partitionen bietet Linux einige Shell-Befehle an:

Befehl Beschreibung
mkdosfs formatiert eine Partition mit einem FAT-Dateisystemen.
dosfsck überprüft und repariert nötigenfalls eine FAT-Partition
dosfslabel Zeigt das 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 (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.

Achtung!

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 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 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 FAQ 🇬🇧 auf nfs.sourceforge.net).

Seiten zu verwandten Themen

Ergänzende Informationen

  • vfat-tipps: 🇩🇪 Pro-Linux: Tipps zum vfat-Dateisystem unter Linux mit praktischen Anwendungsbeispielen vom 17.01.2005

  • NTFS-3G in Wikipedia

Diese Revision wurde am 20. Januar 2024 08:55 von kB erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Dateisystem, Windows, Partition, System, mount, Installation, fstab, ungetestet