情報源: Per-directory case sensitivity and WSL – Windows Command Line Tools For Developers
以前Windows 10 Insider Preview 17093の時にもお伝えしましたが、WSLでのLinuxとの互換性向上のため、Windowsのディレクトリ(フォルダ)をその単位で大文字、小文字の区別を付ける設定が可能になりました。元々ファイルシステムであるNTFS自体は大文字・小文字を区別しているのですが、Win32での後方互換性のために区別しないように動作されてきました。ただし、大文字・小文字でファイルを区別しないのは、UFSとの相性が悪いので、WSLから使用するフォルダについてはWSL上から設定できるようにしたのがビルド17093の時の話です。
ビルド171107以降では、これが話が前に進んで、Windows側からもfsutilにオプションを追加する形でディレクトリ単位にてファイルの大文字、小文字を区別するように設定できるようになります。
fsutil.exe file setCaseSensitiveInfo enable
fsutil.exe file setCaseSensitiveInfo disable
ただし、fsutilの設定では自動的に子のディレクトリがこの属性を引き継ぐことはないので個別に設定する必要があるようです。
WSLですが、mountコマンドの拡張により、/mnt/以下にマウントされるWindowsのディレクトリに対する大文字・小文字の区別すオプションにて設定を行いますが、ビルド17110以降では case=dirオプションがデフォルトの設定となり、これまでにあったcase=forceオプションを使用するためにはレジストリの変更が必要なようにされました。
このレジストリ設定に関しては、以下のリリースノートをご確認ください。
また、mountコマンドの拡張と設定方法の詳細は情報源のリンク先をご確認ください。
さて、お行儀の良いWindowsアプリケーションは基本的にこの設定をしたディレクトリでも問題無く動作すると思われますが、行儀が悪い物などでは注意が必要だと思われますので、気になる方は今のうちから確認されておくのが良いのではないでしょうか。時々、その区別が無い前提でアプリケーションが作られていますし、アンチマルウェアソフト関連等では問題になるかもしれません。
コメント