ディスクパラメータの構造

一般的には、ディスクパラメータの細かい構造まで覚えておく必要はないと思います。

しかし、これが不幸にも損傷したときに【TestDisk】を使用して修復する方法を紹介しましたが、この場合に限り、各項目の意味するところを理解しておかないと不安が残ります。

ここでは、ディスクパラメータの各項目の内容を説明します。

表の見方ですが、緑色は、ほぼ全ての環境で共通なもの黄色は大多数の環境で共通のもの赤は各環境固有のものです。ただしダイナミックディスクを使用している人は、この限りではありません。

NTFSの場合

使用する例は、いつものものです。【Disk Probe】で見たブートセクタの図を載せておきます。青いところがディスクパラメータです。リトルエンディアンであることをお忘れなく。
Disk Probe

ディスクパラメータ(NTFS)の各項目の説明
オフセット バイト数 数値 10進数に直した数値など 意味・備考
03h 8 4E 54 56 43 20 20 20 20 NTFS NTFSのASCHII文字コード
0Bh 2 00 02 512 1セクタあたりのバイト数
0Dh 1 08 8 1クラスタあたりのセクタ数
0Eh 2 00 00 0 予備のセクタ
NTFSでは常に0
10h 1 00 0 FATの数(本体とコピーの合計数)
NTFSでは常に0
11h 2 00 00 0 ルートフォルダの項目数
NTFSでは常に0
13h 2 00 00 0 総セクタ数
NTFSでは常に0
15h 1 F8 メディアID
HDDの場合F8
ただしXP/2Kでは参照されず、慣習として残されている。
16h 2 00 00 0 FATあたりのセクタ数
NTFSでは常に0
18h 2 3F 00 63 1トラックあたりのセクタ数
1Ah 2 F0 00
(通常はFF 00)
240 1シリンダあたりのヘッド数
1Ch 4 3F 00 00 00 63 論理ドライブの先頭セクタ直前までの物理ドライブのセクタ数
通常は63
但し2つ目以降の基本領域ではこの限りではない
20h 4 00 00 00 00 0 FAT32の総セクタ数
NTFSでは常に0
24h 4 80 00 80 00 NTFSでは常に80 00 80 00
80はHDDのドライブナンバーと関係あるらしい
28h 8 D0 1C 91 05 00 00 00 00 93396176 総セクタ数
30h 8 33 61 3B 00 00 00 00 00 3891507 MFT開始クラスタ番号
38h 8 6C D0 5C 00 00 00 00 00 6082668 MFTミラー開始クラスタ番号
40h 4 F6 00 00 00 -10
(符号付きで変換)
1ファイル レコード セグメントあたりのクラスタ数
但し、1FRSが1クラスタサイズ以下の時は負数を用いる。
負の整数の場合は、その絶対値Nで2のN乗を計算する。
たとえば-10の場合は、210=1024バイト。
実は常に、F6 00 00 00 で固定されている。
(*注 参照)
44h 4 01 00 00 00 1 インデックスバッファのサイズ
すぐ上の項目と同じ表示方法だが、正の整数の場合、そのままクラスタ数になる。
これも常に 01 00 00 00 で固定されている。
48h 8 8B 72 76 98 B4 76 98 76 ボリュームシリアルナンバー
50h 4 00 00 00 00 チェックサム
NTFSでは常に0

*注
NTFS ボリュームを作成してフォーマットすると、NTFS メタファイルが作成されます。これらのメタファイルの 1 つは、マスタ ファイル テーブル (MFT) と呼ばれます。MFT は作成時には容量が非常に小さく (約 16 KB)、ボリューム上にファイルおよびフォルダが作成されるにつれて大きくなります。ファイルが作成されると、ファイル レコード セグメント (FRS) として MFT に入力されます。FRS は常に 1,024 バイト (1 KB) です。ボリュームにファイルが追加されるにつれて、MFT のサイズは大きくなります。ただし、ファイルが削除されると、関連付けられた FRS は再使用のために空きとしてマークされますが、FRS の総数および関連する MFT の割り当てはそのまま残ります。大量のファイルを削除した後に MFT によって使用される領域が元に戻らないのはこのためです。
(マイクロソフト オンライン サポートより引用。原文のまま。)

意外と緑色の部分が多くて、固有データ部分が少ないことがお分かりいただけたと思います。

FAT32の場合

FAT32の場合の例も挙げておきます。
FAT32のブートセクタ
ディスクパラメータ(FAT32)の各項目の説明
オフセット バイト数 数値 10進数に直した数値など 意味・備考
03h 8 4D 53 44 4F 53 35 2E 30 MSDOS5.0 MSDOS5.0の文字コード
0Bh 2 00 02 512 1セクタあたりのバイト数
0Dh 1 10 16 1クラスタあたりのセクタ数
当該領域の大きさで決まってくる
0Eh 2 26 00 38 予備のセクタ
FAT 領域の直前までのセクタ数
10h 1 02 2 FATの数(本体とコピーの合計数)
通常は2
11h 2 00 00 0 ルートフォルダの項目数
FAT32では常に0
13h 2 00 00 0 総セクタ数
FAT32では常に0
15h 1 F8 メディアID
HDDの場合F8
16h 2 00 00 0 FATあたりのセクタ数
FAT32では常に0
18h 2 3F 00 63 1トラックあたりのセクタ数
1Ah 2 FF 00 255 1シリンダあたりのヘッド数
(通常はFF 00)
1Ch 4 3F 00 00 00 63 論理ドライブの先頭セクタ直前までの物理ドライブのセクタ数
通常は63
20h 4 FB 5C 67 01 23551227 FAT32の総セクタ数
24h 4 E1 2C 00 00 11489 1つの FAT あたりのセクタ数
28h 2 00 00 0 アクティブなFAT
通常は0
ミラーリングを行うと変わる
2Ah 2 00 00 0 ファイルシステムバージョン
2Ch 4 02 00 00 00 2 ルートディレクトリの開始クラスタ
通常は2
30h 2 01 00 1 FSINFO のセクタ番号
通常は1
32h 2 06 00 6 バックアップブートセクタの位置
通常は6
34h 12 00 00 00 00 00 00 00 00 00 00 00 00 使用されていない
40h 1 80 物理ドライブID
HDDでは80
41h 1 00 使用されていない
42h 1 29 拡張シグニチャ
通常は29
43h 4 4B 98 71 8C ボリュームシリアルナンバー
47h 11 4E 4F 20 4E 41 4D 45 20 20 20 20 NO NAME ボリュームラベルの文字コード
52h 8 46 41 54 33 32 20 20 20 FAT32 ファイルシステムタイプの文字コード

NTFSよりは、環境固有のデータが増えています。


<起動トラブルの目次ページへ>  <【TestDisc】のページへ>