C:/$Bootの目的は何ですか?

C:/$Bootの目的は何ですか?

遠縁:c:\BOOTの機能は何ですか?これはファイルではなく、BCD やその他のブート データが保存される「ブート」フォルダーです。

これらのコマンドのいずれかを実行すると、ファイルの場所 (ディスク上)、サイズ、属性などの情報が得られます。

fsutil volume filelayout C:\$MFT
fsutil file queryextents C:\$MFT

$Bootただし、同じディレクトリ内のファイルに対してこれを実行しようとすると、次の結果になります。

Error:  Access is denied.

管理者として実行している場合でも、このファイルの目的は何ですか、その内容は何ですか、ディスク上のどこに保存されているかを知るにはどうすればよいですか?

私は以下の主張を検証しようとしています:

NTFSボリュームをフォーマットすると、フォーマットプログラムは$Bootメタデータファイルの最初の16セクターを割り当てます。

そして

Windowsの場合、PBRはパーティションの先頭からさらに16セクターをロードします。これらのセクターはWindowsブートローダーの最初のステージを構成し、Windowsのバージョンに応じて2つのファイルのうち1つをロードします。

私が質問する理由は、PBRはシングルセクタ前にパーティション (MBR 形式のディスク上) があり、その後にメイン データ ストレージ (任意のファイル システムとしてフォーマット) が続きます。

答え1

さらにいくつかのコマンドを実行したところ (以前にテストしておくべきでした)、最初の 2 つのクラスターがファイルによって使用されていることがわかりました$Boot。私の PC には 4 KiB のクラスターがあり、セクターは 512 バイトなので、最初の 16 セクターがファイル用に予約されていることが確かに確認できます$Boot

C:\windows\system32>fsutil volume querycluster c: 1 0
Cluster 0x0000000000000000 used by -S--D \$Boot::$DATA
Cluster 0x0000000000000001 used by -S--D \$Boot::$DATA

最初の 2 つのセクターの HEX ダンプは次のとおりです。

16 進ダンプ

ここで最初のブロックはパーティションブートセクターこれについてはオンラインで詳しく読むことができますが、基本的には、Windows のバージョンに応じて、NTLDRまたはを読み込むだけです。bootmgr

関連情報