このページの本文へ

前へ 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
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,680
2
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,890
3
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 ホワイト
¥740
4
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
5
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥1,677
6
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,899
7
バッファロー マウス 無線 ワイヤレス 5ボタン 【戻る/進むボタン搭載】 小型 軽量 節電モデル 最大584日使用可能 BlueLED ブラック BSMBW315BK
バッファロー マウス 無線 ワイヤレス 5ボタン 【戻る/進むボタン搭載】 小型 軽量 節電モデル 最大584日使用可能 BlueLED ブラック BSMBW315BK
¥1,040
8
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥844
9
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
¥1,599
10
KIOXIA(キオクシア)【日本製】SDカード 128GB SDXC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA128G
KIOXIA(キオクシア)【日本製】SDカード 128GB SDXC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA128G
¥3,144

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

デジタル用語辞典

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