¿Cómo crear un disco virtual con un sistema de archivos que distingue entre mayúsculas y minúsculas en Windows 7?

¿Cómo crear un disco virtual con un sistema de archivos que distingue entre mayúsculas y minúsculas en Windows 7?

No me importa qué sistema de archivos será exactamente, solo necesito que las rutas de los archivos funcionen distinguiendo entre mayúsculas y minúsculas.

Tal vez un comportamiento similar a un recurso compartido de samba en Linux que tiene activada la sensibilidad a mayúsculas y minúsculas. Eso sería perfecto, excepto que necesito que el disco esté almacenado localmente.

¿Hay controladores/herramientas para eso?

Ya probé un par de controladores ext2 para Windows que no funcionaron para este propósito :( (http://www.fs-driver.org/yhttp://www.fs-driver.org/)

Respuesta1

La respuesta simple es no. La respuesta larga es...

NTFS almacena nombres de archivos distinguiendo entre mayúsculas y minúsculas (NTFS puede tener README.txt y readme.txt en el mismo directorio), e incluso el administrador de archivos de Windows puede administrar internamente solicitudes que distinguen entre mayúsculas y minúsculas para nombres de archivos a través de las llamadas al sistema NtOpenFile / NtCreateFile.

Desafortunadamente para usted, la función CreateFile de Win32 (usada en todas partes, incluido fopen) llamará internamente a NtCreateFile usando el indicador OBJ_CASE_INSENSITIVE, lo que significará que todas las aplicaciones que usan CreateFile verán su sistema de archivos que distingue entre mayúsculas y minúsculas. En la práctica, esto significa que todas las aplicaciones verán su sistema de archivos sin distinguir entre mayúsculas y minúsculas, independientemente de si su sistema de archivos realmente distingue entre mayúsculas y minúsculas.

La única forma que se me ocurre para forzar prácticamente la distinción entre mayúsculas y minúsculas es escribir un controlador de filtro que elimine el indicador OBJ_CASE_INSENSITIVE de las solicitudes de llamada al sistema entrantes, lo que luego permitirá que NTFS, EXT2 o cualquier sistema de archivos interno que tenga se comporte de forma predeterminada. , distingue entre mayúsculas y minúsculas.

Respuesta2

Desde Windows, esto es posible, pero debes poder escribir C.

NTFS en realidad almacena nombres distinguiendo entre mayúsculas y minúsculas(para soportar el subsistema POSIX). Sin embargo, NTFS en realidad no admite funciones que distingan entre mayúsculas y minúsculas. Teniendo en cuenta que NT fue escrito originalmente como un competidor directo de UNIX, esto no es ninguna sorpresa.

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

Enlace

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

Respuesta3

Parece que la única forma es instalar un Linux virtualizado y compartir la unidad de la VM con Windows.

He estado buscando en Internet la misma solución, principalmente para verificar un repositorio GIT de un sistema Linux que tiene archivos que solo difieren en mayúsculas y minúsculas (no prediques por qué están allí, está fuera de mi control). Pero parece que no hay una manera relativamente sencilla de hacer esto, salvo escribir su propio subsistema o integrarse profundamente al subsistema Interix (ahora servicios Unix).

información relacionada