マスターブートレコードサイズの制限に関する注意事項

マスターブートレコードサイズの制限に関する注意事項

マスターブートレコードのレイアウトについて読んでいますが、特にパーティションレイアウトがMBRを持つデバイスで使用できるストレージサイズが制限される方法に興味があります。

MBRの各パーティションは、16バイトのエントリを使用して定義されます。この16バイトの用途は次のとおりです。

  • 値が80の場合、最初のバイトはアクティブパーティションを表します。
  • 2番目のバイトは、パーティションが始まる番号1です。これは、MBRが256の異なるヘッドを処理できることを意味します。
  • 3番目のバイトの最初の6ビットは、パーティションのセクター1のセクター番号をキャプチャーするために使用されます。これは、MBRが64の異なるセクタを処理できることを意味します。
  • 4番目のバイト+ 3番目のバイトの最後の2桁(合計10桁)は、パーティションが始まるトラック番号を格納します。これは、MBRパーティションエントリを使用して合計1024トラックを処理できることを意味します。
  • バイト5(オペレーティングシステムインジケータ)
  • 6番目のバイトパーティションの終わりの1番
  • 7番目のバイト、最初の6ビットは、パーティションの最後のセクターのセクター番号をキャプチャするために使用されます。
  • 8バイト目のストレージパーティションの最後のトラック番号+ 7バイト目の最後の2桁
  • バイト 9、10、11、および 12 は、パーティションの開始前にどのくらいのセクタがあるかをキャプチャします。
  • バイト 13、14、15、および 16 は、パーティション内のセクター数をキャプチャーします。

MBRにパーティションが1つしかないと仮定し、これをアクティブパーティションに設定しました。セクタ 0 は MBR 自体が占め、最初のパーティションはセクタ 1 から始まります。パーティションのセクタの総数は次のようになります。

2^10 = 1024 (number of tracks)
2^6 = 64 (number of sectors)
2^8 = 256 (number of heads)

1024 * 64 * 256 = 16,777,216 sectors

各セクタには512バイトが含まれており、最大パーティションサイズは8,589,934,592(8.5GB)です。これが正しい場合(疑わしい)、最大MBRアドレス可能ディスクサイズは8.5 GBにする必要はありませんか?どこでも2.1TBについて話しているのがわかりますが、それが何を意味するのか理解できません。

答え1

CHS(シリンダ/ヘッド/セクタ)は、ディスクをマッピングする古い方法です。ご存知のように、これは利用可能なディスクサイズを制限します。

1990年代に、システムはLogical Block Address(LBA)モードを使い始めました。 9-> 16バイトで表示できる開始/長さ4バイトの値。 2002 ATA規格はCHSモードを放棄しました。

BIOS ブートの LBA モードをサポートしていない古いコンピュータでは、オペレーティングシステムをロードするにはブートパーティションがディスクの前面にある必要があります。これにより、オペレーティングシステムはBIOSを使用しないため、ディスクの残りの部分を読み取ることができます。本当に古いコンピュータには、ディスクの最初の504 MBにブートパーティションが必要です!

最新のPCはMBRレコードを使用しなくなりましたが、ディスクの末尾に保存されているGPTを使用します。なぜなら、ディスクは48ビットLBAアドレスをサポートでき、これは4バイトに収まらないからです。

したがって、MBRで見られるCHS値は、PCの初期からそのまま残りますが、実際には使用されなくなりました。

関連情報