このページの本文へ

前へ 1 2 次へ

Windows Info 第151回

Windows 10 RS5で改良されたファイル名の大文字/小文字の区別

2018年12月16日 10時00分更新

文● 塩田紳二 編集● ASCII編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

 Windows 10 Ver.1803(April 2018 Update、RS4)で、DrvFs(WSLからWindows側ファイルシステムへのアクセス)が改良され、Windows Subsystem for Linux(WSL)から作成したディレクトリ(フォルダ)に関しては、ファイル名の大文字小文字の区別をするようになった。このような大文字小文字の区別を「ケースセンシティビティ」(Case Sensitivity)という。

RS4では、WSLからDrvFsに作成したディレクトリでは大文字小文字が区別されるようになった。その機能がRS5で改定されている

POSIX互換のためにNTFSでは
ファイル名の大文字小文字を区別できるようになっている

 そもそもNTFSはファイル名の大文字小文字を区別しており、大文字小文字の状態は保存されている。しかし、WindowsのAPIでは、ファイルの大文字と小文字を区別しないようにしてNTFSを利用する。

 Windowsでファイル名の大文字小文字を区別させたい場合には、「FILE_FLAG_POSIX_SEMANTICS」という属性を付けてファイルを作成する必要があった。これは、Windows NTがPOSIXと互換性を持っていたときに用意された機能だ。

 かつては、米政府に納入するコンピューターはPOSIXと互換性が持つ必要(Federal Information Processing Standards:FIPS、FIPS 151-1/151-2がPOSIXとの互換性を要求していた)があり、昔のWindowsはPOSIXサブシステムを内蔵していた。このFIPS 151-1/151-2は2000年に廃止されたため、現行のWindowsはPOSIXとの互換性は持っていない。ちなみにWSLはPOSIXサブシステムをベースにして作られている。

 前述のようにNTFS上ではファイル名の大文字小文字を区別しているため、表示としては区別された状態だが、ファイルとして扱うときには、WindowsのAPIが大文字小文字を区別せずに処理する。これに対して、LinuxなどUnix系のOSでは区別するのが標準。これはWSL内においても同様だ。

 RS4では、このケースセンシティビティのためにディレクトリ(フォルダ)に対して、新しい属性が用意された。WSLからDrvFs上に作成したディレクトリにはこの属性が設定され、その中ではファイル名の大文字小文字が区別されるようになった。

RS5ではWindowsアプリケーションが扱うことを考えた設定に

 しかし、Windowsとの共存を考えると、RS4における実装にはいつかの問題があった。Windows側のアプリケーションは、そもそも大文字小文字を区別しないという前提で作られていて、ファイル名などを内部的に大文字のみ、小文字のみ、に変換して利用することがある。

 それによりパスの比較処理などが簡単にできるからだ。しかし、こうした前提で作られたアプリケーションは、ファイルのアクセスの仕方によっては大文字小文字を区別するディレクトリでファイルを見つけられなくなってしまう可能性がある。

 そこで、RS5のWSLでは動作を変更し、WSL側で作成したディレクトリも大文字小文字を区別しないようにした。その代わりに、WSL側からディレクトリのケースセンシティビティを制御できるようにした。

 またRS4では、DrvFsのmountコマンドのオプション(マウントオプション)に、ケースセンシティビティ動作を指定できるようになった。マウントオプションは、

・case=dir:新規作成したディレクトリをケースセンシティビティにする
・case=off:ケースセンシティビティは設定しない
・case=force:ディレクトリのケースセンシティビティフラグに関係なく常にケースセンシティビティが有効

の3つで、RS4においては「case=dir」がデフォルト値だった。しかし、RS5では標準設定のマウントオプションをcase=offとして、ケースセンシティビティを有効にすることをやめた。

 また、NTFSの既定の動作として、ディレクトリのケースセンシティビティ属性をサブディレクトリに継承するようになった。これは、ケースセンシティビティが設定されたディレクトリ以下にWindows側でサブディレクトリを作っても、そのサブディレクトリにケースセンシティビティが設定されることを意味する。

 さらにRS5では、WSL側からディレクトリのケースセンシティビティを設定することを可能にした。具体的には「getfattr」「setfattr」というコマンドを使う。

 ただし、標準ではインストールされていないため、aptコマンドを使い手動でインストールする必要がある。

sudo apt install attr

 このコマンドを使うとき、ケースセンシティビティは、「system.wsl_case_sensitive」という属性値で扱われる。ケースセンシティビティを設定する場合には、

setfattr -n system.wsl_case_sensitive -v 1 対象ディレクトリへのパス

とする。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,390
2
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥660
3
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
¥18,980
4
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
5
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥5,280
6
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
¥1,780
7
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
8
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
¥1,880
9
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,590
10
Kindle Paperwhite シグニチャーエディション (32GB) 7インチディスプレイ、明るさ自動調整、色調調節ライト、12週間持続バッテリー、広告なし、メタリックブラック
Kindle Paperwhite シグニチャーエディション (32GB) 7インチディスプレイ、明るさ自動調整、色調調節ライト、12週間持続バッテリー、広告なし、メタリックブラック
¥23,980

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン