Warum hängt das gemountete vfat-Volume teilweise an

971
ardabro

Ich habe eine seltsame Beobachtung. Ich habe das vfat-Dateisystem folgendermaßen angehängt:

mount -t vfat -o loop vfat.vol mnt

Ich hatte erwartet, dass es nicht zwischen Groß- und Kleinschreibung unterscheiden würde. Und es ist so lange, wie die Länge des Dateinamens nicht länger als 8 ist! Ich kann nicht zwei verschiedene Dateien erstellen: x1234567 und X1234567, aber ich kann x12345678 und X12345678 erstellen! Es ist zu 100% reproduzierbar mit dem einfachen Befehl "abc"> Dateiname. Was geht hier vor sich? Wie kann man Fettvolumen bei 100% unempfindlich machen?

1

1 Antwort auf die Frage

2
Dmitry Grigoryev

Dies geschieht, weil Dateinamen, die länger als 8 Zeichen sind, nicht direkt von FAT, sondern über die LFN- Erweiterung unterstützt werden. FAT ist in der Tat Groß- und Kleinschreibung, deshalb können Sie nicht erstellen x1234567und X1234567Dateien. Wenn Sie jedoch Dateien mit langen Namen erstellen, werden stattdessen kurze Dateinamen sowie ein LFN-Eintrag erstellt, der den vollständigen Namen enthält.

Also, wenn Sie Dateien erstellen x12345678und X12345678werden diese Dateien kurze Namen wie angegeben X12345~1und X12345~2, die gültig und andere FAT - Namen sind. Linux hat eine lockere Einstellung, um die Eindeutigkeit von LFN-Einträgen zu prüfen, sodass Sie am Ende zwei Einträge erstellen, die nur von Fall zu Fall unterschieden werden. Etwas, das Windows nicht zulässt. Dies ist jedoch eine Einschränkung (oder eher eine Funktion) von Windows, nicht das FAT-Dateisystem.

Randbemerkung: Ich wette, Sie können auch eine CONin Linux benannte Datei auf einem FAT-Volume erstellen .

In der vfat-Dokumentation finden Sie Mount-Optionen, die festlegen, wie Linux mit Dateinamen arbeiten soll.

Ok, also halte ich es für einen Fehler im Linux-Treiber. Vielen Dank. ardabro vor 9 Jahren 0