MBR против GPT (адресация логических блоков)

979
Jordan Davis

Проходя через MBR / GPT, я немного запутался в переходе с MBR (2 ^ 32) на GPT (2 ^ 64).

Если пробой истории из CHS -До- LBA адресации:

  • CHS (24 бита) - ограничение 8 ГБ (1979 - введено с « архитектурой с фиксированными блоками »)
  • CHS (28 бит) - ограничение 128 ГБ (1994 - EIDE / ATA2)
  • LBA (22 бита) - ограничение 2 ГБ (1986 - IDE)
  • LBA (28 бит) - ограничение 128 ГБ (1994 - ATA-1)
  • LBA (48 бит) - предел 144PB (2002 - ATA-6)

---- Вот разбивка истории ATA ---


Википедия (LBA):

тогда как размер записей в структурах данных на диске и в памяти, содержащих адрес, обычно составляет 32 или 64 бита.

Это основано на процессоре (32/64) ....

Так что мешает MBR адресации (2 ^ 64)?

4

2 ответа на вопрос

9
Breakthrough

Хотя ничто не ограничивает компьютер от логической адресации всех 2 64 адресов, ограничение возникает из-за реализации заголовков разделов в стиле MBR. В стандартной MBR в стиле DOS, обычно реализуемой на большинстве IBM-совместимых компьютеров, каждая запись раздела размером 16 байт имеет место только для 4-байтового (32-разрядного) адреса сектора LBA.

Поскольку это позволяет адресовать не более 2 32 секторов, а для каждого сектора 512 байт, максимально возможный диапазон, к которому можно получить доступ для любого раздела в стиле MBR, составляет 2 32 x 512 байт, что равно 2048 ГиБ или 2 ТиБ, Использование диска с большим размером сектора (например, 4096 байт) увеличит максимальный диапазон до 16 ТиБ, но для этого потребуется компьютер и операционная система, совместимые с большими секторами, отличными от стандартного 512-байтового сектора.


Это также кратко обсуждается в статье Википедии для адресации логических блоков :

Текущая 48-битная схема LBA, представленная в 2003 году по стандарту ATA-6, позволяет адресовать до 128 ПиБ. [...] Однако общая таблица разделов Master Boot Record (MBR) в стиле DOS поддерживает только разделы диска размером до 2 ТиБ. Для больших разделов это должно быть заменено другой схемой, например, таблицей разделов GUID (GPT), которая имеет тот же 64-битный предел, что и текущие расширения INT 13h.

Действительно, в разделах в стиле GPT есть два 8-байтовых поля, определяющих начальный и конечный адрес логического блока для этого раздела, расширяя диапазон адресов до 2 64 секторов. Аналогичные вычисления могут быть выполнены, как указано выше, чтобы вычислить максимальный размер раздела для диска, умножив размер сектора (обычно 512 или 4096 байт) на 2 64 .

В заключение отметим, что таблицы разделов GPT также немного отличаются по своей реализации / расположению. Разделы в стиле MBR хранят как начальный, так и конечный секторы в формате CHS (3 байта), а также начальный сектор и размер раздела в формате LBA (по 4 байта каждый). GPT отменяет это соглашение и вместо этого хранит два LBA (8-байтовые) значения, представляющие начальный и конечный секторы включительно для этого раздела.

2
8bittree

Обратная совместимость.

Запись раздела в таблице разделов MBR имеет 4 байта (32 бита) для хранения начала раздела, плюс еще 4 байта для хранения длины раздела. Если вы измените это, то существующее программное обеспечение больше не сможет читать MBR.

Если вас не очень заботит обратная совместимость, зачем останавливаться на ее изменении? Есть и другие проблемы с MBR (ограничено 4 основными разделами), так почему бы просто не сделать новый, лучший стандарт? Также известный как GPT.

Всегда с нетерпением, еще раз спасибо 8bit! Jordan Davis 8 лет назад 0
"ну зачем останавливаться на том, чтобы просто изменить это?" - Нет, именно так создаются стандарты, такие как GPT, или новые версии существующих стандартов. Ramhound 8 лет назад 0
@Ramhound Точно. 8bittree 8 лет назад 0