ubuntuusers.de

exFAT

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels exFAT.

Anton7

Anmeldungsdatum:
11. Mai 2017

Beiträge: 65

Habe den Kernel-Support für exFAT ab 20.04 ergänzt (Quelle: Focal Fossa Release Notes). Allerdings kann ich nicht prüfen, ob das durchgehend für alle Werkzeuge funktioniert. Datenträger lesen ist aber im Gegensatz zu bisher ohne Treiberinstallation möglich. Gruß Anton

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

braucht man denn unter 20.04 noch die beiden Pakete, die im Artikel genannt sind? Zumindest das exfat-fuse Paket sollte IMHO obsolet sein?

Gruß, noisefloor

UlfZibis

Anmeldungsdatum:
13. Juli 2011

Beiträge: 3162

Wohnort: Köln

In 22.04 ist exfat-utils nicht mehr vorhanden.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9564

Wohnort: Münster

Der Linux-Kernel verfügt seit 5.7 über eine neue Implementation des Dateisystems exFAT und Microsoft hat auch für Linux die Lizenzfrage entschärft.

Damit ist die Situation nun für alle Ubuntu-Versionen nach 20.04 LTS einschließlich 20.04 HWE wahrscheinlich wesentlich anders als im Artikel dargestellt. Ich selbst habe allerdings keinen guten Überblick über die veränderte Situation.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9564

Wohnort: Münster

noisefloor schrieb:

[…] braucht man denn unter 20.04 noch die beiden Pakete, die im Artikel genannt sind?

Jein. Es kommt darauf an, welchen Kernel man benutzt und was man tun will:

  • Bei Ubuntu 20.04 mit dem LTS-Kernel benötigt man exfat-fuse und optional exfat-utils. exfat-fuse enthält die Module exfat und exfat-fuse, welche man zur Benutzung vorhandener exFAT-Dateisysteme benötigt. exfat-utils ermöglicht Formatieren als und Pflege von exFAT-Dateisystemen.

  • Bei Ubuntu 20.04 mit einem HWE-Kernel (oder jedenfalls Kernel-Version > 5.7) oder jeder späteren Ubuntu-Version benötigt man zur Benutzung kein Paket, weil im Kernel ein Modul exfat vorhanden ist. Damit kann root ein vorhandenes exFAT-Dateisystem einbinden oder per /etc/fstab verfügbar machen. Wenn man jedoch so ein Dateisystem beim Einstecken des Datenträgers automatisch einbinden lassen will, benötigt man immer noch das Modul exfat-fuse aus dem Paket exfat-fuse.

  • Zur Formatierung kann man bis einschließlich 21.10 das Paket exfat-utils benutzen; dieses Paket ist in den Ubuntu-Paketquellen ab 22.04 ersetzt durch exfatprogs.

DJKUhpisse Team-Icon

Supporter, Wikiteam
Avatar von DJKUhpisse

Anmeldungsdatum:
18. Oktober 2016

Beiträge: 18183

Wohnort: in deinem Browser, hier auf dem Bildschirm

Moderiert von DJKUhpisse:

Unpassenden Kram abgetrennt nach https://forum.ubuntuusers.de/topic/exfat-in-22-04

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8002

Den Artikel in der derzeitigen Fassung finde ich etwas irritierend:

  • Ab Ubuntu 20.04 bzw. Kernel ab 5.7 (ist allein noch relevant; siehe auch "getestet für…) ist die Installation des FUSE-Treibers exfat-fuse im Grunde weder nötig noch sinnvoll, da ein Kernel-Treiber ohnehin vorhanden ist. Dann wären ja im System zwei "konkurrierende" exFAT-Treiber vorhanden.

  • Offenbar verwendet das GVfs beim automatischen Einbinden und beim Einbinden mittels Dateimanager aber nach wie vor ausschließlich den FUSE-Treiber. Einen plausiblen Grund kann ich nicht erkennen.

  • Ich habe allerdings nicht überprüft, ob es in exfat-utils bzw. exfatprogs Routinen gibt, die nur in Verbindung mit dem Userspace-Treiber funktionieren (?)

  • Interessant wäre zu wissen, welcher Treiber bei mount -t exfat… per Default verwendet wird, wenn im System beide Treiber vorhanden sind, und wie man – falls dies überhaupt nötig ist – beeinflussen kann, welcher Treiber beim Mounten verwendet wird.

Da der Artikel "Windows-Partitionen einbinden" derzeit gründlich überarbeitet wird, wäre es sinnvoll, dies parallel dazu mit diesem Artikel auch zu tun. Die Probleme sind hier ähnlich wie bei NTFS, wo neuerdings der bekannte FUSE-Treiber NTFS-3G und ein neuerer Kernel-Treiber NTFS3 koexistieren.

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7777

Max-Ulrich_Farber schrieb:

  • Interessant wäre zu wissen, welcher Treiber bei mount -t exfat… per Default verwendet wird

Eigentlich ist -t exfat Kernel, und -t exfat-fuse ist die FUSE Variante.

Aber das exfat-fuse Paket liefert eine Datei mount.exfat mit, d.h. -t exfat wird auch von FUSE vereinnahmt.

Also wenn /sbin/mount.exfat existiert und zum exfat-fuse Paket gehört dann sind beide exfat-fuse. Das ist so bis Ubuntu 20.04 noch der Fall.

Falls man einen Kernel hat der exfat mitbringt und man möchte mount.exfat (fuse) umgehen ohne das FUSE Paket komplett zu deinstallieren, dann muss man es mit mount --internal-only -t exfat probieren. Oder einfach von Hand die mount.exfat Datei auf den Mond schießen... und dort wo fuse gewünscht ist explizit exfat-fuse als Type angeben.

Bei NTFS ist -t ntfs und -t ntfs-3g beides ntfs-3g und -t ntfs3 dann die Kernelvariante. Weiß nicht ob das hier extra so benannt wurde um dem Konflikt aus dem Weg zu gehen...

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9564

Wohnort: Münster

Max-Ulrich_Farber schrieb:

[…]

  • Offenbar verwendet das GVfs beim automatischen Einbinden und beim Einbinden mittels Dateimanager aber nach wie vor ausschließlich den FUSE-Treiber. Einen plausiblen Grund kann ich nicht erkennen.

Gerade bei der Verwendung von FAT, exFAT und ggf. auch NTFS auf transportablen/entfernbaren Datenträgern erwartet man die automatische Einbindung. Dafür benötigt man FUSE. Möglicherweise setzt aber die FUSE-Unterstützung für exFAT und NTFS die Verwendung des „eigenen“ Treibers voraus, weil es zum Zeitpunkt der Erstellung dieser FUSE-Funktionalität keine ausreichende Unterstützung dieser Dateisysteme im Kernel gab. Das wäre natürlich ein Designfehler, aber wir müssen zunächst mal damit leben.

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8002

kB schrieb:

Max-Ulrich_Farber schrieb:

[…]

  • Offenbar verwendet das GVfs beim automatischen Einbinden und beim Einbinden mittels Dateimanager aber nach wie vor ausschließlich den FUSE-Treiber. Einen plausiblen Grund kann ich nicht erkennen.

Gerade bei der Verwendung von FAT, exFAT und ggf. auch NTFS auf transportablen/entfernbaren Datenträgern erwartet man die automatische Einbindung. Dafür benötigt man FUSE. Möglicherweise setzt aber die FUSE-Unterstützung für exFAT und NTFS die Verwendung des „eigenen“ Treibers voraus, weil es zum Zeitpunkt der Erstellung dieser FUSE-Funktionalität keine ausreichende Unterstützung dieser Dateisysteme im Kernel gab. Das wäre natürlich ein Designfehler, aber wir müssen zunächst mal damit leben.

Genau so sehe ich das auch. Aber verwirrend finde ich es trotzdem!

Vielleicht könnte kB den Artikel durch ein paar erklärende Worte etwas entwirren?

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8002

Ich muss mich korrigieren.

Folgendes habe ich inzwischen versucht (Ubuntu 22.04):

  • probeweise habe ich exfat-fuse und exfatprogs deinstalliert.

  • in GParted ist dann exfat ausgegraut

  • nach erneuter Installation von exfatprogs funktioniert exfat in GParted wieder, auch ohne exfat-fuse

  • auch das automatische Einbinden eines mit exFAT formatierten externen Laufwerks und das Handling desselben mit dem Dateimanager funktionieren beide ohne exfat-fuse.

  • Das Tool exfatprogs und das GVfs arbeiten also offenbar beide mit dem Kernel-Treiber zusammen.

Wozu man den FUSE-Treiber noch benötigen könnte, wenn der Kernel-Treiber vorhanden ist, sehe ich im Moment nicht. Vielleicht sollte man aber noch überprüfen, ob wirklich alle Routinen von exfatprogs mit dem Kernel-Treiber funktionieren (?).

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8002

Ich würde den Artikel gerne aktualisieren und ergänzen. Deshalb bitte ich darum, ihn in die Baustelle zu verschieben.

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 10137

Max-Ulrich_Farber schrieb:

Deshalb bitte ich darum, ihn in die Baustelle zu verschieben.

Ist erfolgt, ich habe dafür mal als Ende den 22.02.24 eingetragen, kannst du ja deinem Bedürfnis anpassen.

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8002

Ok, danke! Das passt.

Nun eine Frage: Nirgends kann ich eine Aufstellung der vom exfat Kernel-Treiber unterstützten/anerkannten Filesystem-spezifischen Mount-Optionen finden, wohl aber in Blogs verschiedene Probleme, die damit aufgetreten sind (!!). Im Manual mount(8) fehlt (bislang) jeder Hinweis auf das Filesystem exFAT. Die Hinweise für FAT/FAT32 können mit Sicherheit nicht 1:1 übertragen werden.

in Unix & Linux Stack Exchange finde ich folgendes (13.11.2023):

There is no mention of a filesystem-specific manual for exfat, nor is there a "Mount options for exfat" sub-section. Which leads me to ask, "Where are these mount options for exfat covered?" Should users rely upon the "Mount options for fat" sub-section in man mount, or should they rely upon man mount.exfat-fuse, or on something else?

und dazu die Antwort:

Mount options for fuse-exfat and the kernel native exfat driver are not related. They can be similar/the same but that's just happenstance.You think of these projects as similar/related while they are only similar in name and functionality. Code bases are different and written by different people.

Trostreich, doch die Verwirrung bleibt! – Bei exFat ist der mögliche Schaden wohl noch gering bzw. überschaubar. Doch bei NTFS, wo wir es jetzt mit einer ganz ähnlichen Situation zu tun haben, ist das sicher viel schlimmer!

Ich habe keine Lust, mich hier "in die Nesseln zu setzen"!

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7777

Wenn es nicht dokumentiert ist, dann findet man es nur im Source Code z.B. hier https://github.com/torvalds/linux/blob/7ed2632ec7d72e926b9e8bcc9ad1bb0cd37274bf/fs/exfat/super.c#L230-L253

uid,gid,umask,dmask,fmask,allow_utime,iocharset,errors,discard,keep_last_dots,sys_tz,time_offset,zero_size_dir,(veraltet:utf8,debug,namecase,codepage)

die meisten davon dürften sich mit den bekannten "fat" Optionen decken.