Wie erstelle ich unter Windows 7 eine virtuelle Festplatte mit einem Groß-/Kleinschreibung-sensitiven Dateisystem?

Wie erstelle ich unter Windows 7 eine virtuelle Festplatte mit einem Groß-/Kleinschreibung-sensitiven Dateisystem?

Welches Dateisystem es genau sein wird, ist mir egal, ich brauche nur, dass die Dateipfade unter Berücksichtigung der Groß- und Kleinschreibung funktionieren.

Vielleicht ein Verhalten ähnlich einer Samba-Freigabe auf einer Linux-Box, bei der die Groß- und Kleinschreibung aktiviert ist. Das wäre perfekt, allerdings muss die Festplatte lokal gespeichert werden.

Gibt es dafür Treiber/Tools?

Ich habe bereits einige ext2-Treiber für Windows ausprobiert, die für diesen Zweck nicht funktionierten :( (http://www.fs-driver.org/Undhttp://www.fs-driver.org/)

Antwort1

Die einfache Antwort lautet: Nein. Die lange Antwort lautet:

NTFS speichert Dateinamen unter Berücksichtigung der Groß- und Kleinschreibung (NTFS kann README.txt und readme.txt im selben Verzeichnis haben), und sogar der Windows-Dateimanager kann über die Systemaufrufe NtOpenFile / NtCreateFile intern Anforderungen an Dateinamen unter Berücksichtigung der Groß- und Kleinschreibung verwalten.

Leider ruft die Win32-Funktion CreateFile (die überall verwendet wird, auch von fopen) intern NtCreateFile mit dem Flag OBJ_CASE_INSENSITIVE auf, was bedeutet, dass alle Anwendungen, die CreateFile verwenden, Ihr Groß-/Kleinschreibung-sensitives Dateisystem ohne Berücksichtigung der Groß-/Kleinschreibung sehen. In der Praxis bedeutet dies, dass alle Anwendungen Ihr Dateisystem ohne Berücksichtigung der Groß-/Kleinschreibung sehen, unabhängig davon, ob Ihr Dateisystem im Hintergrund tatsächlich groß-/kleinschreibungssensitiv ist.

Die einzige Möglichkeit, die mir einfällt, um die Groß- und Kleinschreibung praktisch zu erzwingen, besteht darin, einen Filtertreiber zu schreiben, der das Flag OBJ_CASE_INSENSITIVE aus den eingehenden Systemaufrufanforderungen entfernt, sodass sich NTFS, EXT2 oder jedes andere interne Dateisystem Ihres Systems in der standardmäßigen, Groß- und Kleinschreibung beachtenden Weise verhalten kann.

Antwort2

Dies ist innerhalb von Windows möglich, Sie müssen jedoch C schreiben können.

NTFS speichert Namen tatsächlich als Groß-/Kleinschreibung(zur Unterstützung des POSIX-Subsystems). Allerdings unterstützt NTFS selbst keine Case-Sensitive-Funktionen. Wenn man bedenkt, dass NT ursprünglich als direkter Konkurrent zu UNIX geschrieben wurde, ist das keine Überraschung.

http://support.microsoft.com/kb/100108

Verknüpfung

http://www.netbsd.org/docs/pkgsrc/platforms.html#interix

Antwort3

Die einzige Möglichkeit scheint darin zu bestehen, ein virtualisiertes Linux zu installieren und das Laufwerk der VM für Windows freizugeben.

Ich habe im Internet nach der gleichen Lösung gesucht, hauptsächlich um ein GIT-Repository von einem Linux-System auszuchecken, das Dateien enthält, die sich nur in der Groß- und Kleinschreibung unterscheiden (erzählen Sie mir nicht, warum sie da sind – das liegt außerhalb meiner Kontrolle). Aber es sieht so aus, als gäbe es dafür keine relativ einfache Möglichkeit, außer man schreibt sein eigenes Subsystem oder integriert es tief in das Interix-Subsystem (jetzt Unix-Dienste).

verwandte Informationen