このページの本文へ

前へ 1 2 次へ

Windows Info 第391回

WindowsのNTFS/ReFSに搭載されている「再解析ポイント」とは何か?

2023年08月06日 10時00分更新

文● 塩田紳二 編集● ASCII

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

そもそも「再解析ポイント」(Reparse Point)とは何か

 「再解析ポイント」について、本連載でも何度扱ってきたが、これ自体をしっかり紹介していなかった。今回はあらためて詳しく解説しよう。

 再解析ポイントとは、「Reparse Point」のMicrosoftによる公式な日本語訳だ。原語を日本語読みした「リパース・ポイント」という表記もインターネット上では散見されるが、Microsoftのサイトでは、コミュニティページへのユーザーの書き込みか、自動翻訳のページでしか見つからない。しっかり翻訳していた頃のページでは、ほぼ「再解析ポイント」で統一されている。なのでここでは、この用語を使う。

 再解析ポイントは、NTFSおよびReFSに装備された、ファイルシステムの機能だ。以前にも解説したジャンクションやシンボリックリンクなどを実現するための技術として用いられている。このため、「ジャンクションは再解析ポイントである」という表記は必ずしも間違いではないが、「ジャンクション=再解析ポイント」ではない。ジャンクションは、再解析ポイントで実現されている機能の1つである。

 しかし、再解析ポイントの用途はこれに留まらない。「アプリ実行エイリアス」やOneDriveの同期フォルダは、再解析ポイントを使って実装されている。

 再解析ポイントは、Windows 2000で初めて搭載されたNTFS 3.0で最初の実装が見られる。このとき、再解析ポイントを使った「ジャンクション」や「ボリュームマウントポイント」などの機能が利用可能になった。

 再解析ポイントと呼ばれるのは、ファイルシステムがAPIなどで指定されたパスを解析して、該当のファイルやディレクトリを探す場合の“解析”処理(Parse)が、ここで別のものに切り替わるからだ。再度(Re)解析(Parse)する地点(Point)ということでこの名称なのだ。なお、再解析ポイントは、Windowsに固有の名称であり、現状NTFSとReFSにしか搭載されていない。

 再解析ポイントは、ファイルシステムの属性の1つとして指定される。制限はあるが、ファイルにもディレクトリにも指定できる。ただし、再解析ポイントを指定する場合、ディレクトリは空でなければならず、再解析ポイントが指定されたディレクトリにサブディレクトリやファイルを置くことはできない。また、1つのパスには最大で63個までしか再解析ポイントを含めることができない。

 属性なので、ファイルの属性を取得することで、ファイルやディレクトリに再解析ポイントが指定されているかどうかを判断できる。PowerShell/Windows PowerShellならば、

Get-Item <パス> | select fullname,Attributes

で属性値(Attributes)に「RepasePoint」と表示されれば、再解析ポイントが属性として設定されている。

WindowsのNTFS/ReFSに搭載されている「再解析ポイント」とは何か?

ディレクトリへのシンボリックリンク、ジャンクション、ファイルへのシンボリックリンクがあるとき、Get-Itemコマンドで属性を調べると、「RepasePoint」が設定されている。リンクは、すべて再解析ポイント(Reparse Point)で実現されている

再解析タグと再解析データ

 再解析ポイントが設定されると、ファイルのメタ情報として「再解析タグ」と「再解析データ」が記録される。「再解析タグ」は、再解析ポイントの「種類」を表す32bitデータである。「再解析データ」は、拡張属性と同じ場所に記録される再解析ポイント用の情報だ。

 再解析ポイントは、再解析タグから対応するファイルシステムのフィルタードライバー(あるいはミニフィルタードライバー)が、これを処理する。このため、アプリケーション側からみれば、ファイルシステムアクセスの結果として再解析ポイントの処理結果を受け取ることになり、再解析ポイントが何をしているのかを直接見ることはできず、通常のファイルのようにアクセスされる。

 現在再解析タグは、44個定義されている。定義はWindows SDKのwinnt.hにあるが、その意味は

●[MS-FSCC]Reparse Tags(英語)
 https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-fscc/c8e77b37-3909-4fe6-a4ea-2b9d423b1ee4?redirectedfrom=MSDN

に説明がある。多数のタグがあるが、多くはWindows Server版でのみ利用できる機能である。

 再解析タグは以下の図のような構造を持つ32bit整数データで、最上位ビットであるBit 31は、Microsoftが管理しているかどうかを示すビットで、その次のビット(Bit 30)は、予約ビットとなっていて、Microsoft以外が管理するタグでは必ずゼロにする必要がある。Bit 29、Bit 28は、「代理名」(Name Surrogate。ファイルの別名)、「ディレクトリ」(Directory。下位構造を持つ)を示し、どちらかをオンにできる(両方ともオフも可)。

WindowsのNTFS/ReFSに搭載されている「再解析ポイント」とは何か?

再解析タグは、先頭の4ビットでタグの属性を示す。最上位ビットは、Microsoftが所有するタグであることを示すビットで、29ビットは、シンボリックリンクのようなファイルやディレクトリに対応するリンクであることを示す「Name Surrogate Bit」、28ビットは、下位構造があることを示すDirectory Bitになっている。具体的なタグの区別は下位16bitで行ない、残りのビットは予約済みビットとなっている

 再解析データは再解析タグ固有のデータで、フィルタードライバーで解釈される。標準的なデータ形式はなく、フィルタードライバーに依存するが、アプリ実行エイリアスのようにパスがUnicodeで格納されている場合もある。シンボリックリンク(再解析タグ0xa000000c)などもこのタイプで、再解析データにリンク先のパスが入る。

 再解析タグや再解析データを表示させるには、fsutil.exeコマンドを使うのが簡単だ。再解析ポイントを持つファイル、ディレクトリ(ジャンクションやシンボリックリンク、あるいはOneDriveの同期フォルダーなど)のパスに対して、

fsutil.exe reparsepoint query <パス>

とする。

 以下の画面は、シンボリックリンクとジャンクションに対して、上記のコマンドを実行したもの。

WindowsのNTFS/ReFSに搭載されている「再解析ポイント」とは何か?

シンボリックリンクやジャンクションに対して、fsutil.exeを使い、再解析ポイントの情報を表示させた。再解析ポイントには、再解析タグと再解析データが設定されていて、fsutil.exeではこれを表示させることができる

 シンボリックリンクの再解析タグは「0xa000000c」で、これはwinnt.hでは、「IO_REPARSE_TAG_SYMLINK」として定義されているタグだ。

 これに対して、ジャンクションの場合は、再解析タグは「0xa0000003」で、「IO_REPARSE_TAG_MOUNT_POINT」というタグ名を持つ。どちらも先頭4ビットのパターンが「1010」で、Microsoft BitとName Surrogate Bitがオンになっている。対象がファイルなのかディレクトリなのかは、それぞれのファイル属性値で区別できる。

 次の画面は、ユーザーフォルダにあるOneDrive同期フォルダと直下のファイルに対してfsutil.exeコマンドを実行したもの。再解析タグは「0x9000701a」で、これには「IO_REPARSE_TAG_CLOUD_7」という名前がある。ただし、「IO_REPARSE_TAG_CLOUD」で始まるタグは16個あり、環境によっては他のタグになっている可能性もある。

WindowsのNTFS/ReFSに搭載されている「再解析ポイント」とは何か?

OneDriveの同期フォルダやその下のファイルにも再解析ポイントが設定されている。どちらも「IO_REPARSE_TAG_CLOUD」で始まる名前を持つタグで、Directory Bitがオンになっている。ファイル/ディレクトリの区別は、ファイルの属性値で判断でき、タグのDirectory Bitは下位構造を持つ可能性があるといった意味なのだと思われる

 このタグの先頭4ビットのパターンは「1001」で、Microsoft BitとDirectory Bitがオンになっている。なお、「IO_REPARSE_TAG_CLOUD」は、すべて先頭4ビットのパターンが同じで、必ずしもOneDrive上のディレクトリだけを表しているわけではない。

 たとえば、OneDriveフォルダ直下のファイルでも、再解析タグは「0x900601a」(IO_REPARSE_TAG_CLOUD_6)で、Directory Bitがオンになっていた。Directory Bitは、下位構造がありえる程度の意味なのだろう。実際にファイルなのか、ディレクトリなのかは、PowerShellのGet-Itemコマンドなどで属性を取得すれば判断できる。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事
1
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥39,800
2
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
¥26,880
3
【整備済み品】富士 通 2in1ノートパソコン V727【本体のみ】/第7世代Core M3/12.3型タッチパネル1920×1080/メモリ 8GB/SSD 128GB/Win 11/MS Office 2019/USB 3.1/Type-C/無線WIFI/オーディオ内蔵/WEBカメラ/初期設定済
【整備済み品】富士 通 2in1ノートパソコン V727【本体のみ】/第7世代Core M3/12.3型タッチパネル1920×1080/メモリ 8GB/SSD 128GB/Win 11/MS Office 2019/USB 3.1/Type-C/無線WIFI/オーディオ内蔵/WEBカメラ/初期設定済
¥9,600
4
Lenovo Chromebook クロームブック IdeaPad Flex 3i Gen8 12.2インチ インテル® プロセッサー N100搭載 メモリ4GB eMMC 64GB バッテリー駆動12.0時間 重量1.25kg アビスブルー 82XH001KJP
Lenovo Chromebook クロームブック IdeaPad Flex 3i Gen8 12.2インチ インテル® プロセッサー N100搭載 メモリ4GB eMMC 64GB バッテリー駆動12.0時間 重量1.25kg アビスブルー 82XH001KJP
¥29,800
5
【Amazon.co.jp限定】 ASUS ノートパソコン Vivobook 15 X1502VA 15.6インチ インテル Core i7 13620H メモリ16GB SSD 1TB Windows 11 バッテリー駆動 8.9時間 重量1.7kg PC Game Pass 3ヶ月利用権付き クワイエットブルー X1502VA-I7H161W
【Amazon.co.jp限定】 ASUS ノートパソコン Vivobook 15 X1502VA 15.6インチ インテル Core i7 13620H メモリ16GB SSD 1TB Windows 11 バッテリー駆動 8.9時間 重量1.7kg PC Game Pass 3ヶ月利用権付き クワイエットブルー X1502VA-I7H161W
¥104,800

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

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
¥1,880
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,390
3
【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
4
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
5
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
6
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
7
【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
8
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
¥2,000
9
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥5,545
10
Amazonベーシック USB-A -ライトニングケーブル ナイロン iPhone充電 Apple MFi認証 iPhone 14/14 Pro/13/13 Pro/12/SE(第2世代)/iPad 各種対応(シルバー 0.9m)
Amazonベーシック USB-A -ライトニングケーブル ナイロン iPhone充電 Apple MFi認証 iPhone 14/14 Pro/13/13 Pro/12/SE(第2世代)/iPad 各種対応(シルバー 0.9m)
¥980

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

デジタル用語辞典

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