web-dev-qa-db-ja.com

MBRとGPT(論理ブロックアドレス指定)

通過する [〜#〜] mbr [〜#〜] / [〜#〜] gpt [〜#〜] MBRからの移行について少し混乱しています(2 ^ 32)からGPT(2 ^ 64)へ。

[〜#〜] chs [〜#〜] -から- [〜#〜] lba [〜#〜] アドレス指定までの履歴を分類する場合:

  • CHS(24ビット)-8GB制限(1979- " fixed-block-architecture "で導入)
  • CHS(28ビット)-128GB制限(1994-EIDE/ATA2)
  • LBA(22ビット)-2GB制限(1986-IDE)
  • LBA(28ビット)-128GB制限(1994-ATA-1)
  • LBA(48ビット)-144PB制限(2002-ATA-6)

----これがATAの歴史の内訳です---


ウィキペディア(LBA):

一方、アドレスを保持するオンディスクおよびインメモリデータ構造のエントリのサイズは、通常32ビットまたは64ビットです。

これはプロセッサ(32/64)に基づいています。

では、MBRがアドレス指定するのを止めるのは何ですか(2 ^ 64)?

4
Jordan Davis

computerが2つすべてを論理的にアドレス指定することを制限するものは何もありませんが64 アドレス、制限はMBRスタイルのパーティションヘッダーの実装が原因で発生します。ほとんどのIBM互換コンピュータに一般的に実装されている標準のDOSスタイルのMBRでは、各16バイトのパーティションエントリには、4バイト(32ビット)のLBAセクターアドレス用のスペースしかありません。

これは、最大2つしかアドレス指定できないためです。32 セクターであり、各セクターが512バイトの場合、MBRスタイルのパーティションでアクセスできる最大範囲は2です。32 x 512バイト、これは2048 GiB、つまり2TiBに相当します。より大きなセクターサイズ(たとえば、4096バイト)のドライブを使用すると、最大範囲が16 TiBに拡張されますが、これには、標準の512バイトセクター以外のより大きなセクターサイズと互換性のあるコンピューターとオペレーティングシステムが必要です。


これについては、ウィキペディアの記事で簡単に説明されています 論理ブロックアドレス指定

2003年にATA-6標準で導入された現在の48ビットLBAスキームでは、最大128PiBのアドレス指定が可能です。 [...]ただし、一般的なDOSスタイルのマスターブートレコード(MBR)パーティションテーブルは、最大2TiBのサイズのディスクパーティションのみをサポートします。より大きなパーティションの場合、これを別のスキームに置き換える必要があります。たとえば、現在のINT 13h拡張機能と同じ64ビット制限を持つGUIDパーティションテーブル(GPT))。

実際、GPTスタイルのパーティションには、そのパーティションの開始論理ブロックアドレスと終了論理ブロックアドレスを指定する2つの8バイトフィールドがあり、アドレス可能な範囲を2に拡張します。64 セクター。上記と同様の計算を実行して、セクターサイズ(通常は512バイトまたは4096バイト)に2を掛けて、ディスクの最大パーティションサイズを計算できます。64

最後に、GPTパーティションテーブルの実装/レイアウトもわずかに異なります。 MBRスタイルのパーティションには、開始セクターと終了セクターの両方がCHS(3バイト)形式で格納され、パーティションの開始セクターとサイズが格納されます。 LBA形式(各4バイト)。 GPTはこの規則を廃止し、代わりに、そのパーティションの開始セクターと終了セクターを表す2つのLBA(8バイト)値を格納します。

9
Breakthrough

下位互換性。

MBRパーティションテーブルのパーティションエントリには、パーティションの開始を格納するための4バイト(32ビット)と、パーティションの長さを格納するための別の4バイトがあります。これを変更すると、既存のソフトウェアはMBRを読み取ることができなくなります。

下位互換性をあまり気にしないのなら、なぜそれを変更するのをやめるのですか? MBRには他にも問題があります(4つのプライマリパーティションに制限されています)。では、新しい、より優れた標準を作成してみませんか? GPTとも呼ばれます。

2
8bittree