LBAとセクターサイズ

LBAとセクターサイズ

ドライブが 4K セクターでフォーマットされている場合でも、LBA は常にセクターを 512 バイトとして指定しますか? 4K クラスターが 4K セクターと揃うようにパーティション境界をフォーマットする必要があると読んだからです。この問題は、ディスクが 4K セクターでフォーマットされているが、LBA が 512 バイトごとに割り当てる場合に発生するものと考えています。これが理由ですか? また、論理ドライブ ジオメトリが物理ドライブ ジオメトリと異なる理由は、古い標準との下位互換性と CHS の制限を維持するためですか? ドライブが報告するジオメトリが正確でない場合、パーティションはなぜセクター 63 から開始する必要があるのですか (それが常に正しいシリンダーではなくなった場合)?

クラスターはパーティションの開始位置に合わせて配置されますか、それともディスクの開始位置に合わせて配置されますか?

答え1

  • ドライブが 4K セクターでフォーマットされている場合でも、LBA は常にセクターを 512 バイトとして指定しますか?

はい、世界中の多くのコードは、512 バイト セクターが独占していた時代に書かれました。このコードは他のセクター サイズを処理できないため、BIOS/ディスク ハードウェアは実際のセクター サイズに関係なく、常に 512 バイト セクターをエミュレートします。そうしないと、オペレーティング システムの 95% がそのようなディスクから起動しなくなります。

  • また、論理ドライブのジオメトリが物理ドライブのジオメトリと異なるのは、古い標準との下位互換性と CHS の制限を維持するためでしょうか?

CHS アドレス指定システムには境界があります。1 ≤ S ≤ 63、0 ≤ H ≤ 255 (場合によっては 0 ≤ C ≤ 1023)。これが、論理ジオメトリが存在し、物理ジオメトリと異なる理由です。

  • ドライブが報告したジオメトリが正確でない場合、パーティションはなぜセクター 63 から開始する必要があるのでしょうか (それが常に正しいシリンダーではなくなった場合)?

Windows Vista 以降では、FDISK最初のパーティションは LBA セクター 2048 (1M アラインメント) に作成されます。CHS 座標は任意ですが、これは問題ではありません。

Windows XP および以前のバージョンでは、最初のパーティションは CHS セクター (C=0、H=1、S=1) に作成され、通常は LBA セクター 63 にマップされます (このディスクの論理ジオメトリがトラックあたり 63 セクターの場合)。一部の USB フラッシュ ドライブは、トラックあたり 32 仮想セクターの論理ジオメトリを備えているため、最初のパーティションは LBA セクター 32 から始まります。いずれにせよ、これはすべて実際のディスク ジオメトリやパフォーマンス上の理由などとはまったく関係ありません。これは純粋な伝統であり、Vista/Windows 7 で終了しました。

  • クラスターはパーティションの開始位置に合わせて配置されていますか、それともディスクの開始位置に合わせて配置されていますか?

クラスターは常にパーティションの先頭に合わせて配置されます。そのため、パーティションが Vista より前に作成され、FDISKそれ自体が不適切に配置されている場合、ディスク上でクラスターが不適切に配置される可能性があります。

答え2

LBA 自体は任意のセクター サイズに適用できますが、ハード ドライブのセクター サイズは PC の登場以来 512 バイトであり、すべてのハードウェアとソフトウェアはその前提でハードコードされています。そのため、新しいシステムとオペレーティング システムが 4K セクターをサポートするのを待つのではなく、ドライブは外部的には 512 バイト セクター ドライブとして表示されます。

CHS は、2003 年に LBA48 が導入されて以来、廃止されています。CHS は 128 GB に制限されているため、そのサイズを超えるドライブはいずれも CHS をサポートしていません (最近のドライブを見てください。ラベルに CHS 値はありません)。この場合、すべてのハードウェアとオペレーティング システムは既に更新されていました (Windows 98 では LBA のサポートが追加されました)。

CHS を使用しても、物理的なドライブ特性は CHS 値と一致しませんでした。実際、255 ヘッドを備えたハード ドライブは存在しません。ドライブのコントローラーは内部的に CHS 値を LBA に変換します。

パーティションはセクター 63 から開始する必要はありません。これは古い DOS の制限です。DOS では、パーティションがシリンダ境界を分割しないことが要求され、CHS にはシリンダあたり 63 セクターがあります。Microsoft は Windows XP まで DOS との互換性を維持することを決定していました (FAT32 パーティションで Windows 98、ME、および XP をデュアル ブートすることが可能でした)。4K セクターまでは、問題はありませんでした。

最後に、あなたの質問にお答えします。クラスターは、ディスクではなくパーティションの開始に合わせて配置されます。そのため、パーティションがセクター境界に適切に配置されていることが重要です。

関連情報