Windows-Partitionen unter Linux

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. ⚓︎ mount (Dateisystem temporär einbinden)

  2. ⚓︎ fstab (Dateisystem statisch einbinden)

  3. ⚓︎ Parallel-Betrieb von Linux und Windows

  4. ⚓︎ Ein Terminal öffnen

  5. ⚓︎ Einen Editor mit Root-Rechten öffnen

  6. ⚓︎ Disk Manager UDisks

./MS-Windows_Integration/win-ubuntu.png

Inhaltsverzeichnis
  1. Besonderheiten und Einschränkungen
    1. Besitzer und Dateirechte
      1. Temporär simulierte Dateirechte
      2. Echte Dateirechte unter ntfs-3g
      3. Echte Dateirechte bei ntfs3
    2. Datum und Uhrzeit
    3. Datei- und Ordnernamen
    4. Ausführbare Dateien
    5. Verknüpfungen
    6. Sonstiges
  2. Typbezeichnungen
  3. Treiber festlegen
  4. Praxis der Einbindung
    1. Automatisches Einhängen
    2. Manuelles Einhängen
    3. Statisches Einhängen
  5. Formatierung, Überprüfung und Pflege
  6. Auswahl des Dateisystemtyps
  7. Freigaben im Netzwerk
  8. Links
    1. Interne Artikel
    2. Ergänzende Informationen

Es gibt zuweilen gute Gründe, von Linux aus auf einen Datenträger mit einem Windows-Dateisystem zuzugreifen. Beispielsweise möchte man in einem Dual-Boot-System eine Partition eines eingebauten Datenträgers von Windows und von Linux aus wechselweise nutzen, oder man möchte einen externen Datenträger (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 FAT12, FAT16, FAT32, exFAT und NTFS automatisch erkennen und auf diese lesend und schreibend zugreifen. Windows-Dateisysteme lassen sich genau wie originäre Linux-Dateisysteme automatisch beim Rechnerstart über /etc/fstab[2] oder im Dateimanager einfach mit einem Mausklick einbinden, und USB-Sticks oder externe Festplatten werden nach dem Anschließen automatisch eingebunden und auf dem Desktop angezeigt, dies funktioniert auch mit Windows-Dateisystemen.

Allerdings gibt es wesentliche technische Unterschiede zwischen Windows- und Linux-Dateisystemen und dadurch bedingt einige in diesem Artikel besprochene Besonderheiten und Einschränkungen, die es allgemein zu beachten gilt. Linux kennt für die jeweiligen Dateisystemtypen mehrere Möglichkeiten mit unterschiedlichen Eigenschaften, welche in diesem Artikel nur angerissen und in speziellen Artikeln (siehe Tabelle 1) ausführlich dargestellt werden. Zu den technischen Eigenschaften der einzelnen Dateisysteme lese den Artikel Dateisystem.

⚓︎

Tabelle 1: Windows-Dateisysteme unter Linux
Typ Kernel FUSE Hinweise
FAT12 msdos
vfat
Dateien müssen systembedingt bei FAT12 um mindestens 48 kiB kleiner als 16 MiB, bei FAT16 um mindestens 708 kiB kleiner als 2 GiB und bei FAT32 kleiner als 4 GiB sein. Siehe Artikel Dateisystem und hier.
FAT16
FAT32
exFAT exfat Siehe Artikel exFAT.
exfat-fuse
NTFS ntfs Seit langem enthält der Linux Kernel ein Modul ntfs, welches NTFS lesen und eingeschränkt schreiben kann; bei Ubuntu ist Schreiben jedoch ganz abgeschaltet. Wegen verfügbarer besserer Alternativen wird dieses Modul höchst selten willentlich eingesetzt, allerdings kann es nach dem Scheitern von ntfs-3g automatisch aktiviert werden.
ntfs3 Der Linux Kernel enthält seit Version 5.15 ein Modul ntfs3, das Lese- und Schreibvorgänge auf NTFS voll unterstützt. Siehe Artikel NTFS3.

Hinweis:

Eine Verwendung des neuen Moduls wird erst ab Kernel Version 6.4 empfohlen, da erst mit dieser Version wichtige Fehlerbereinigung und funktionale Erweiterungen erfolgten.

Ubuntu installiert standardmäßig zusätzlich nach wie vor das FUSE-Programm ntfs-3g als Alternative.
ntfs-3g
ntfs
Das FUSE-Programm[5] ntfs-3g (NTFS-Treiber der 3.Generation) ist ein Treiber für das NTFS-Dateisystem bei Linux und anderen verwandte Betriebssystemen. Inzwischen bietet es optional die volle Unterstützung der UNIX-Besitz- und Zugriffsrechte[6] sowie der POSIX-ACL, die Interoperabilität mit Windows durch User-Mapping und die Vererbung von Besitzer- und Zugriffsrechten. Auch der transparente Schreib- und Lesezugriff in komprimierten Ordnern wird voll unterstützt. Siehe Artikel NTFS-3G.
Alle Funktionen des früher eigenständigen Pakets ntfsprogs sind inzwischen bei Ubuntu im Paket ntfs-3g integriert.
SMB cifs Dieser Artikel behandelt nicht den praktischen Zugriff auf Freigaben anderer Windows- oder Linux-Rechner über ein Netzwerk und auch nicht die Einrichtung solcher Freigaben. Siehe dazu:
* Samba
* Heimnetzwerk
* Samba Server GNOME (Abschnitt „Persoenliche-Freigaben-mit-net-usershare“)

* Technische Besonderheiten bei der Freigabe von Windows-Dateisystemen

Besonderheiten und Einschränkungen

Besitzer und Dateirechte

Achtung!

Die Einbindung eines Windows-Dateisystems unter Linux unterläuft grundsätzlich die Sicherheitsmechanismen und Dateiberechtigungen im Dateisystem unter Windows.

  • Das gilt in beiden Richtungen: Es können sowohl unter Linux Dateien von unter Windows Unberechtigten gelesen, aber auch von Linux aus jedem Benutzer unter Windows Dateien untergeschoben werden.

  • Ohne besondere Maßnahmen werden bei der Erstellung von Dateien unter Linux die Windows-Dateirechte immer auf „Jeder hat Vollzugriff“ gesetzt.

  • Es kann ein Sicherheitsrisiko bedeuten, sensible Daten oder Systemdateien auf Partitionen unterzubringen, auf die Windows und Linux abwechselnd Zugriff haben.

Dies gilt auch für NTFS, kann aber bei der Benutzung von ntfs-3g durch ein User-Mapping unterbunden werden.

Die Dateisysteme kontrollieren den Zugriff auf die in ihnen enthaltenen Dateien in konzeptionell höchst unterschiedlicher Art und Weise:

Die Rechteverwaltung von Linux auf Windows-Dateisystemen funktioniert daher nicht bzw. wird durch feste Regeln ersetzt. Für diese Ersetzung gibt es die anschließend besprochenen Methoden. Die effektiv wirksamen Dateiberechtigungen hängen ab von den konkreten Verhältnissen beim Einhängen.

Temporär simulierte Dateirechte

Diese Methode wird bei allen Dateisystem-Treibern für FAT und exFAT als einzig mögliche angewendet. Sie ist ebenfalls bei NTFS unter Verwendung von ntfs-3g die Standardmethode, die aber durch echte Dateirechte ersetzt werden kann.

Beim Einbinden werden für alle Ordner und Dateien im Windows-Dateisystem jeweils ein gemeinsamer Besitzer, eine gemeinsamer Gruppe und einheitliche Dateirechte festgelegt. Dabei werden die tatsächlich im Dateisystem gespeicherten Metadaten nicht verändert, sondern dies ist nur eine temporäre Sicht von Linux darauf. Die bei der Einbindung festgelegten Metadaten sind für die Dauer der Einbindung unveränderlich. Dabei gelten folgende Standard-Einstellungen:

  1. Temporärer Besitzer des Dateien wird, sofern nicht explizit etwas anderes festgelegt wird. der Besitzer des Prozesses, welcher die Einbindung durchführt.

  2. Als Gruppe der Datei wird, sofern nicht explizit etwas anderes festgelegt wird, die primäre Gruppe des Besitzers festgelegt.

  3. Die Dateirechte berechnen sich aus dem Wert 777 (Vollzugriff) und dem beim Einbinden gültigen Wert für UMASK

Man kann diese Metadaten nur beim Einbinden mit den Mount-Optionen uid und gid sowie umask, fmask und dmask festlegen, wie im Artikel mount (Abschnitt „Windows-Dateisysteme“) genauer beschrieben.

Nach dem Einhängen lassen sich die simulierten Benutzer und Dateirechte im Dateimanager (z.B. Nautilus) oder mit den Befehlen chown, chgrp und chmod nicht mehr verändern, sondern sie gelten für die jeweilige Sitzung bis zum Aushängen des Dateisystems; beim erneuten Einhängen können sie unabhängig davon wieder neu und ganz anders festgelegt werden.

Echte Dateirechte unter ntfs-3g

Diese Methode verwendet nur der Dateisystem-Treiber ntfs-3g optional alternativ zu den temporär simulierten Dateirechten.

Seit der Version 2009.11.14 (in Ubuntu seit 10.04 Lucid Lynx) bietet der von Ubuntu für NTFS verfügbare 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 ermöglicht so bei NTFS eine echte Verwaltung von Linux-Dateirechten. Mit User-Mapping lässt sich sogar erreichen, dass in Dual-Boot-Systemen Windows und Linux (mit gewissen Einschränkungen) gegenseitig die Dateirechte anerkennen.

Echte Dateirechte bei ntfs3

Diese Methode verwendet nur der Dateisystem-Treiber ntfs3.

Der Treiber liest und schreibt für seine internen Zwecke spezielle erweiterte Attribute (Namen: $LXUID, $LXGID, $LXMOD) der einzelnen Dateien:

  • Bei vorhandenen Dateien ohne solche Attribute werden momentaner Besitzer, momentane Gruppe und Zugriffsrechte aus dem Ergebnis der Einbindung ererbt wie bei den temporär simulierten Dateirechten beschrieben.

  • Bei vorhandenen Dateien mit solchen erweiterten Attributen werden dagegen die Metadaten aus diesen übernommen und beachtet.

  • Änderungen dieser Metadaten unter Linux werden in den erweiterten Attributen nachvollzogen, ggf. werden benötigte Attribute angelegt.

  • Beim Anlegen einer neuen Datei von Linux aus werden die momentanen Verhältnisse in solche erweiterten Attributen eingetragen.

  • Unter Windows haben diese erweiterten Attribute keinerlei Bedeutung, es sei denn, man überträgt die Informationen in die Verwaltungsstrukturen von Windows. Es ist keine Software bekannt, mit der dies einfach und übersichtlich bedienbar wäre.

In der Praxis kann man damit unter Linux bzgl. der Dateirechte ein Dateisystem des Typs NTFS genauso bedienen wie ein bei einem unter Linux herkömmlichen Dateisystem.

Datum und Uhrzeit

Die Dateisysteme erlauben die Protokollierung von bestimmten Zeitpunkten während der Existenz einer Datei wie beispielsweise Erzeugung, letzte Änderung ihres Inhalts, letzte Änderung ihrer Verwaltungsdaten, letztes Lesen; allerdings verfügen die unterschiedlichen Dateisysteme über höchst unterschiedliche Möglichkeiten dafür und sind sich auch nicht einig, welche Ereignisse in welchem Zeitstempel (die je nach Autor Namen wie u.a. ctime, mtime, atime, crtime, btime tragen) zu erfassen sind. Dazu kommen noch je nach Betriebssystem unterschiedliche Auffassungen zum Gebrauch dieser Zeitstempel.

Beim Kopieren von Dateien zwischen Dateisystemen unterschiedlicher Typen oder Anzeige der Dateieigenschaften in verschiedenen Betriebssystemen können daher merkwürdige Effekte auftreten. Relativ häufig findet man Abweichungen von einer Stunde oder zwei Stunden, weil Windows mit Ortszeit (in der EU: MEZ bzw. MESZ) arbeitet und speichert, Linux aber intern immer mit der Weltzeit (UTC) arbeitet und speichert und nur zur Anzeige die Zeiten wandelt.

Grundsätzlich (und nicht nur beim Umgang mit Windows-Dateisystemen) sollte man die Zugriffszeit (atime) möglichst selten speichern, da deren häufige Speicherung die Lebensdauer von Flash-Speicher wie SSDs oder USB-Sticks reduziert ohne einen nutzbaren Vorteil zu bieten. Die meistens per Standard verwendete Mount-Option relatime verhindert unnötig häufige Speicherung der Zugriffszeit und sollte daher nur in besonderen Fällen verändert werden.

Bei Backup-Programmen (z.B. rsync oder FreeFileSync) können die Unterschiede bei den Zeitstempeln zwischen Dateisystemen unterschiedlicher Typen erhebliche Probleme verursachen.

Tabelle 2: Dateizeiten verschiedener Dateisysteme
VFS ext2/3 ext4 FAT exFAT NTFS
Bezugszeitpunkt alt ab/vor JW 1969➔1970 ab/vor JW 1969➔1970 nur ab JW 1969➔1970 nur ab JW 1969➔1970 nur ab JW 1979➔1980 nur ab 01.01.1601 12:00
neu nur ab JW 1969➔1970
Zeitraum alt ≈ 1902 - 2038
neu bis ≈2555
≈ 1902 - 2038 bis ≈2555 bis Ende 2098 bis Ende 2108 bis ≈60100
Anzahl Zeitstempel 4 3 4 3 3 8
Orts-/Weltzeit Weltzeit Weltzeit Weltzeit Ortszeit
ohne Zeitzone
Ortszeit
mit Zeitzone
Weltzeit
Auflösung alt 1s
neu 1ns
1s 1ns create 10ms
access 1d
modify 2s
create 10ms
access 2s
modify 10ms
100ns

Datei- und Ordnernamen

Die verschiedenen Dateisysteme realisieren Dateinamen für Ordner und Dateien (und ggf. weitere Dateitypen) auf unterschiedliche Art und Weise; daher gibt es für die zulässigen Dateinamen jeweils unterschiedliche Anforderungen, Eigenschafte und Einschränkungen.

Unter Linux gelten die beschriebenen Einschränkungen des jeweiligen Dateisystemtyps, aber nicht notwendigerweise die Einschränkungen, welche Windows zusätzlich beachtet:

Wenn man ein Windows-Dateisystem zum Datenaustausch zwischen Linux und Windows verwenden möchte, sollte man die zusätzlichen Einschränkungen von Windows beachten. Zur Erzwingung der Verwendung Windows-kompatibler Dateinamen dient unter NTFS die Mount-Option windows_names, welche UDisks[6] standardmäßig aktiviert, mount[1] jedoch nicht.

⚓︎ Zur Anpassung der unterschiedlichen Zeichensätze gibt es spezielle Mount-Optionen:

Tabelle 3: Optionen für Zeichensätze
Option Treiber Wirkung
codepage=CPnnn msdos
vfat
Angabe, wie die Zeichen in 8.3-Namen gelesen werden sollen. Als Wert muss die Codepage des Windows-Systems angegeben werden, welches die 8.3-Namen erzeugt hat. Oft ist dies CP850 oder CP437.
iocharset=iso8859-1 msdos
vfat
Kernel ntfs
ntfs3
Angabe, wie die UTF-16-Zeichen in langen Dateinamen in die vom Linux-System verwendeten Zeichensatz umgesetzt werden sollen. Dies ist insbesondere wichtig bei Verwendung eines 1-Byte-pro-Zeichensatzes wie z.B. ISO-8859-1. Ubuntu verwendet jedoch standardmäßig (seit Dapper Drake 6.06) den Mehrbyte-Zeichensatz Unicode mit der Codierung UTF-8. Eine Angabe wie iocharset=utf8 ist möglich, aber veraltet und missbilligt; man soll die Option utf8 verwenden.
nls Kernel ntfs Veraltet. Ersetzt durch iocharset.
utf8 vfat
Kernel ntfs
Die UTF-16-Zeichen in langen Dateinamen unter Windows sollen in UTF-8-Zeichen unter Linux übersetzt werden.
windows_names ntfs3
ntfs-3g
Erzwingt unter Linux einen zu Windows kompatiblen Dateinamen beim Anlagen einer neuen oder Umbenennen einer vorhandenen Datei.
shortname=mixed vfat Steuert die Anzeige und die Vergabe von 8.3-Namen, die nur ersatzweise für fehlende lange Dateinamen angezeigt werden. Vorgabe ist mixed, welches die Namen wie tatsächlich gespeichert anzeigt. Weitere mögliche Werte sind lower für Anzeige in Kleinbuchstaben, win95 für Anzeige in Großbuchstaben und winnt für Anzeige wie gespeichert. In allen Fällen wird ein langer Name erzeugt, wenn der gewünschte Name nicht in das 8.3-Schema passt oder Kleinbuchstaben enthält oder nur bei winnt Klein- und Großbuchstaben mischt.
ignore_case lowntfs-3g Nur relevant für die selten verwendete Variante lowntfs-3g von ntfs-3g.

Ausführbare Dateien

Linux und Windows haben unterschiedliche Methoden zur Kennzeichnung einer ausführbaren Datei:

Natürlich sollte jede als „ausführbar“ angezeigte Datei auch tatsächlich ein Skript oder Binärcode enthalten; anderenfalls endet der Startversuch mit einem Fehler.

Beim Einbinden eines Windows-Dateisystems unter Linux gelten natürlich die Regeln von Linux, jedoch besteht bei Windows-Dateisystemen die Besonderheit, dass die Dateirechte ja gar nicht existieren, sondern temporär simuliert werden. Dadurch können, je nach den konkreten Verhältnissen beim Einbinden, Nebeneffekte entstehen:

Bereits in Windows installierte Programme können in der Regel unter Wine oder CrossOver ohne Neuinstallation nicht gestartet werden. Dagegen lassen sich portable Windows-Programme oftmals direkt durch einen Doppelklick auf die .exe-Datei mittels Wine oder CrossOver öffnen, was i.d.F. effektiv starten bedeutet.

Einem Dateisystem, welches als „nicht ausführbar“ eingebunden (Option noexec) wurde, fehlt in jedem Fall die Möglichkeit zur direkten Ausführung einer von ihr stammenden Datei. Um dies zu ändern, muss man das Dateisystem aushängen und erneut mit der Option exec einhängen (s.u.); Abziehen und erneutes Einstecken des Datenträgers reicht nicht aus.

Achtung!

Wird ein Datenträger mit einem Windows-Dateisystem als „ausführbar“ eingehängt (Option exec), dann können ggf. Windows-Schadprogramme von diesem Datenträger über Wine oder CrossOver ausgeführt werden und das Linux-System beschädigen.

Verknüpfungen

Die Dateisysteme FAT12/16/32 und exFAT kennen abseits der in ihnen eingebauten Mechanismen für mehrdeutige Dateinamen immer nur einen Dateinamen pro Datei und unterstützen daher keine Hardlinks. Sie unterstützen auch keine symbolischen Verknüpfungen (Symlinks).

Das Dateisystem NTFS kennt dagegen mehrere Arten von Verknüpfungen:

Achtung!

Wegen der Unterschiede der beiden Betriebssysteme und unter Linux mit den beiden Treibern wird dringend empfohlen:

  • Unter Linux auf Anlegen und Nutzung von Softlinks, Junctions und Symlinks innerhalb und aus NTFS heraus verzichten.

  • Unter Linux grundsätzlich nur einen der möglichen Treiber für NTFS benutzen.

Symbolische Verknüpfungen aus einem anderen Dateisystem, welches diesen speziellen Dateityp kennt (wie z.B. ext) zu Zielen in Windows-Dateisystemen sind uneingeschränkt erlaubt.

Die unter Windows üblichen Verknüpfungen über Dateien mit der Namenserweiterung lnk sind keine Eigenschaft des Dateisystems, sondern eine spezielle Arbeitsweise des Windows-Desktops. Im Dateisystem entsprechen diese Verknüpfungen normalen Dateien mit auf lnk endenden Dateinamen. Unter Linux kann man mit solchen Dateien gar nichts anfangen; außer man benutzt sie in einer sich wie Windows verhaltenden Shell wie Wine oder CrossOver – in diesen können sie je nach Dateiinhalt wie beabsichtigt funktionieren oder auch nicht.

Sonstiges

Ein weiteres Problem kann die Interpretation von Ziffern in der Ordnungsstruktur sein. Während Windows auch Zahlen alphabetisch ordnet, ordnet sie Linux numerisch. Dateien können deshalb in Windows und Linux verschieden angeordnet erscheinen.

Typbezeichnungen

Für Windows-Dateisysteme sind beim Einhängen unter Linux grundsätzlich möglich diese Typbezeichnungen:

Treiber festlegen

Die beiden Treiber ntfs3 und ntfs-3g für NTFS können grundsätzlich zwar wechselweise benutzt werden, wegen unterschiedlichem Funktionsumfang und Implementierung mancher Features können sich dabei aber überraschende Verhaltensweisen und ggf. auch der Verlust von Datenbeständen ergeben. Es wird dringend empfohlen, sich für einen der beiden Treiber zu entscheiden und die Benutzung des anderen zu erschweren oder besser zu verhindern.

Vorstehender Abschnitt gilt grundsätzlich auch bzgl. der beiden Treiber exfat und exfat-fuse für exFAT; hier ist aber die Gefahr von Datenverlusten weniger brisant.

Man sollte sich als Anwender für jeweils eine Möglichkeit entscheiden und die andere sperren. Die persönliche Festlegung auf jeweils nur einen Treiber und Durchsetzung der Festlegung mittels organisatorischer und technischer Maßnahmen ist auch deshalb wichtig, weil unterschiedliche Versionen von Ubuntu die Treiber auch unterschiedlich bevorzugen.

⚓︎ Man setzt einen Kernel Modul auf die Sperrliste, indem man als Administrator im Ordner /etc/modprobe.d/ eine Datei ähnlich folgendem Beispiel anlegt:

# /etc/modprobe.d/blacklist-msfs.conf
blacklist ntfs
blacklist ntfs3
blacklist exfat

Man kann mit dieser Methode nur ladbare Kernel Module sperren, also nicht das fest im Kernel eingebaute vfat und auch kein FUSE-Programm.

⚓︎ ⚓︎

Praxis der Einbindung

Das einzubindende Dateisystem darf nicht von einem anderen, ggf. schlafenden Betriebssystem benutzt werden.

Achtung!

Generell darf man ein Dateisystem nur dann mit Schreibzugriff (rw) einbinden, wenn es nicht von einem anderen Betriebssystem aus eingebunden ist!

Dieser Grundsatz gilt natürlich auch für Windows-Dateisysteme, hat aber bei wechselnder Benutzung des Dateisystems unter Windows und Linux seine besondere Brisanz. Windows fährt nämlich nicht immer vollständig herunter, sondern wechselt gerne in einen Ruhezustand, in dem das Dateisystem nicht freigegeben wird. Beim Schreiben in ein solches noch von anderer Seite belegtes Dateisystem ist Datenverlust möglich und sogar nahezu sicher.

Zur Vermeidung dieses Verhaltens kann unter Windows ein Administrator (Mitglied der Gruppe Administratoren unter Windows) den Ruhezustand verbieten:

powercfg /h off 

Ein Update/Upgrade von Windows entsperrt aber möglicherweise den Ruhezustand wieder.

Bei NTFS kann diese bestehende Verbindung zu einem anderen Betriebssystem erkannt werden; wenn Linux es erkennt – was nicht immer zutrifft! – verweigert es dann eine Einbindung mit Schreibzugriff und bindet im Lesemodus (ro) ein. Bei den anderen Dateisystemtypen muss man selber auf die Konsistenz des Dateisystems achten und das Dateisystem immer vor der Abtrennung des Datenträgers aus binden oder auswerfen. Diese Praxis sollte man auch bei NTFS beachten, da die automatische Erkennung der noch bestehenden Einbindung in einem anderen schlafenden Betriebssystem nicht immer zuverlässig funktioniert; bei Windows wohl nur für das Laufwerk C:.

Beim Einbinden über eine Desktop-Umgebung wird im Hintergrund der Disk Manager UDisks[6] verwendet. Der Benutzer eines grafischen Programms hat keinerlei direkten Einfluss auf den beim Aufruf des Disk Managers verwendeten Parameter und Mount-Optionen, allerdings kann der Disk Manager selbst konfiguriert werden, oder man kann bekannte Dateisysteme in fstab[2] eintragen. Insbesondere beim Dateisystemtyp NTFS kann dies für eine ordnungsgemäße Funktion erforderlich sein.

Windows-Dateisysteme lassen sich unter Linux mit den gleichen Methoden wie sonst unter Linux übliche Dateisysteme einbinden:

  1. Bei Verwendung eines grafischen Desktops werden im Betrieb hinzu gesteckte Datenträger automatisch eingebunden oder können manuell über Bedienelemente in der GUI, Programme wie Laufwerke (gnome-disks) oder Dateimanager eingebunden werden. Dabei arbeitet im Untergrund der Disk Manager UDisks, welcher auch per Kommandozeile angesprochen werden kann und ggf. zur Autorisierung das Passwort eines Administrators erfragt. Dabei ergibt sich dasselbe Ergebnis wie bei einem entsprechende Aufruf von udisksctl.

  2. Über das Kommandozeilenprogramm udisksctl kann UDisks ebenfalls angesprochen werden und berücksichtigt dann eine passende Zeile in der Datei fstab, seine eigene Konfiguration und ggf. als Argumente übergebene Angaben des Dateisystemtyps und zu den Mount-Optionen.

  3. Andere Programm wie beispielsweise mount[1], gio mount oder systemd-mount sind ebenfalls wie gewohnt einsetzbar.

  4. Beim Hochlauf des Systems werden die in der Datei fstab alle ohne Option noauto eingetragenen Dateisysteme automatisch eingebunden. Wenn dies bei einem Dateisystem misslingt und keine ordentliche Fehlerbehandlung erfolgt, stoppt der Systemstart mit einer Kernal-Panik.

Jeder Benutzer kann in der Datei fstab mit der Option user oder users eingetragene Dateisysteme mit dem Befehl mount[1] einhängen. Bei den mit FUSE einzuhängenden Dateisystemen wie z.B. exfat-fuse und ntfs-3g ist ab Ubuntu 22.04 eine solche Markierung mit user oder users nicht mehr erforderlich.

Das Ergebnis einer Einbindung lässt sich mit dem Befehl findmnt kontrollieren, welcher auch Filterung und Formatierung beherrscht, Beispiel:

findmnt -t vfat,exfat,ntfs3,fuseblk -o SOURCE,TARGET,FSTYPE,VFS-OPTIONS,FS-OPTIONS | cat 

Die Besitzer, Gruppen und Zugriffsrechte zu den einzelnen Dateien zeigt dieser Befehl an:

ls -al /media/XXX/ 

Dabei ist natürlich der Einbindepunkt anzupassen.

Automatisches Einhängen

Beim automatischen Einhängen mittels UDisks ohne eigene Konfiguration gelten die in der Datei /etc/udisks2/mount.options.conf.example aufgeführten Standards; in der Praxis (getestet mit Ubuntu 20.04, 22.04 und 24.04) ergeben sich diese Ergebnisse:

Manuelles Einhängen

Beim Einhängen durch Bedienung in der GUI gelten ohne eigene Konfiguration die vorstehenden Ausführungen ebenfalls.

Eine Einbindung durch Bedienung im Terminal[4] kann man verschiedene Programme verwenden, empfohlen wird udisksctl mount[6]. Beispiel:

udisksctl mount -b /dev/sdb3 

Einzelheiten siehe UDisks (Abschnitt „Dienstprogramm-udisksctl“)

Beim manuellen Einhängen kann man die hier anschließend verwendeten minimalen Mount-Optionen ergänzen um weitere allgemeine Optionen für die Datei fstab[2] und durch spezielle Optionen für den jeweiligen Typ, siehe dazu die in Tabelle 1 genannten speziellen Artikel. In der Praxis sind oft die in Tabelle 3 genannten Optionen zur Anpassung der Behandlung von Dateinamen wichtig.

Man kann für manuelles Einhängen als normaler Benutzer (siehe Non-superuser mounts in der Manpage von mount) optional eine Konfigurationszeile in der Datei fstab[2] ähnlich folgenden Beispielen verwenden:

Die o.g. Konfigurationszeilen für ntfs-3g und exfat-fuse funktionieren nicht bei einer Verwendung mit mount als normaler Benutzer (non-superuser mount), aber natürlich in Kombination mit sudo und auch beim Rechnerstart. Experten können die speziellen für FUSE-Programme benötigten Berechtigungen einstellen, obwohl diese die Sicherheit des Systems reduzieren.

Experten-Info:

Bei Verwendung der Typbezeichnung exfat-fuse oder ntfs-3g müssen bei einer Einbindung mittels mount durch einen normalen Benutzer (non-superuser-mount) diese drei Bedingungen erfüllt sein:

  1. Beim jeweils einbindenden Programm /sbin/exfat-fuse bzw. /bin/ntfs-3g muss SUID root gesetzt sein.

  2. Der einbindende Benutzer muss für den Einbindepunkt das Lese- und das Schreibrecht haben.

  3. Der einbindende Benutzer muss für die Gerätedatei des Blockgerätes /dev/… mindestens das Lese-, besser auch das Schreibrecht haben. (Insbesondere diese Bedingung ermöglicht versehentliche und absichtliche Schädigung des Dateisystems!)

Die vorstehenden drei Bedingungen gelten für jedes FUSE-Programm und somit grundsätzlich auch für exfat-fuse, jedoch ist dieses im Gegensatz zu beispielsweise ntfs-3g smart genug, selbst für die Erfüllung der Bedingungen 2 und 3 zu sorgen, sobald man das SUID-Bit gesetzt hat.

Für die meisten Anwender ist sinnvoller, bei der Verwendung von FUSE-Programmen auf die Einbindung per mount durch normale Benutzer zu verzichten.

Statisches Einhängen

Dafür benötigt man eine Zeile in der Datei fstab, dies kann man ableiten aus den im Abschnitt Manuelles Einhängen genannten Beispielen, wenn man die Mount-Option noauto durch nofail ersetzt.

⚓︎

Formatierung, Überprüfung und Pflege

Für die Wartung eines FAT-Dateisystems benötigt man das Paket dosfstools, welches bei Ubuntu zur Standardinstallation gehört und u.a. die in folgender Tabelle genannten Befehle enthält:

Befehl Beschreibung
mkfs.fat
mkfs.vfat
mkfs.msdos
mkdosfs
Formatiert eine Partition mit einem FAT-Dateisystem. Der genaue Typ FAT12/FAT16/FAT32 wird automatisch aus der Größe der Partition oder angegebenen Optionen bestimmt. Beispiel:
sudo mkfs.fat -v -F 16 /dev/sda1 
erzeugt ein FAT16-Dateisystem auf der über /dev/sda2 (Unbedingt anpassen!) angegebenen Partition. Wenn man so den Typ festlegt, muss man die selber die Größenbeschränkungen des jeweiligen Typs beachten.
fsck.fat
fsck.vfat
fsck.msdos
dosfsck
Überprüft und repariert nötigenfalls ein FAT-Dateisystem; dieses darf nicht eingehängt sein. Beispiel:
sudo fsck.fat -v  /dev/sda2 
fatlabel
dosfslabel
Zeigt das Label eines FAT-Dateisystems an und erlaubt es, dieses zu verändern.

Der jeweils zuerst angegebene Name ist der originale Dateiname des Programms, die weiteren über Symlinks realisierte Aliase; die Wahl des Namens hat keinerlei Einfluss auf das Ergebnis. Alle Programme benötigen Rootrechte[4][5] wegen des direkten Zugriffs auf die Gerätedatei im Ordner /dev/.

Die Befehle kennen etliche, meist nicht benötigte Optionen, die man bei Bedarf in der jeweiligen Manpage nachlesen kann.

Mit dem Paket dosfstools lassen sich keine Startmedien nach Bios-Boot-Spezifikation formatieren. Unter Linux benötigt man diese Funktionalität auch nicht. Wer aber dennoch unter Linux solche Startmedien erstellen möchte, kann das Paket mtools installieren, welches allerdings ohne Einbindung in das VFS direkt auf die Geräte zugreift.

Für die Wartung eines Dateisystems vom Typ exFAT benötigt man das Paket exfat-progs, siehe Artikel exFAT.

Für die Wartung von NTFS-Partitionen gibt es die Tool-Sammlung ntfsprogs, die bei Ubuntu seit der Version 2011.4.12 (Ubuntu 11.10) im Paket ntfs-3g integriert ist. Man benötigt daher dieses Paket auch bei der Verwendung des Kernel Moduls ntfs3. Siehe Artikel NTFS-3G.

Auswahl des Dateisystemtyps

Für den Austausch von Dateien zwischen einem Windows- und einem Linux-Betriebssystem sind alle verfügbaren Typen grundsätzlich geeignet. Man kann daher beispielsweise nach folgenden Kriterien auswählen.

Freigaben im Netzwerk

Ordner in Dateisystemen der Typen FAT oder exFAT können grundsätzlich auch für den Zugriff über das Netzwerk per NFS oder SMB freigegeben werden, jedoch eignen sich diese Dateisysteme nicht gut dafür, weil sie dem Betriebssystem keinerlei Unterstützung für die dabei für die Integrität der Daten benötigten Sperren bieten. FAT und exFAT fehlen permanente Inode-Nummern (siehe FAQ 🇬🇧 auf nfs.sourceforge.net).

Man sollte beachten:

Bei der Freigabe eines Ordners in einem Dateisystems des Tps NTFS gibt es keine besonderen Vorgaben; sowohl ntfs3 wie auch ntfs-3g benennen explizit die Netzwerktauglichkeit in ihrer Dokumentation.

Interne Artikel

Ergänzende Informationen