Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

Нажав на кнопку "Отправить", Я даю своё согласие на автоматизированную обработку указанной информации, распространяющейся на осуществление всех действий с ней, включая сбор, передачу по сетям связи общего назначения, накопление, хранение, обновление, изменение, использование, обезличивание, блокирование, уничтожение и обработку посредством внесения в электронную базу данных, систематизации, включения в списки и отчетные формы.


Структуры диска GPT (MBOOT-защитный MBR, Оглавление, Массив разделов).

Структуры диска GPT (MBOOT-защитный MBR, Оглавление, Массив разделов).

GPT использует современную систему адресации логических блоков (LBA) вместо применявшейся в MBR адресации «Цилиндр — Головка — Сектор» (CHS). Доставшаяся по наследству MBR со всей своей информацией содержится в блоке LBA 0, Оглавление GPT — в блоке LBA 1. В оглавлении содержится адрес блока, где начинается сама таблица разделов, обычно это следующий блок — LBA 2.

В случае 64-битной версии ОС Microsoft Windows NT, за таблицей разделов было зарезервировано 16384 байт (при использовании сектора размером 512 байт это будет 32 сектора), так что первым используемым сектором каждого жёсткого диска в ней будет блок LBA 34.

Кроме того, GPT обеспечивает дублирование — оглавление и таблица разделов записаны как в начале, так и в конце диска. Теоретически, GPT позволяет создавать разделы диска размером до 9,4 ЗБ (9,4 x 1021 байт), в то время как MBR может работать только до 2,2 ТБ (2,2 x 1012 байт).

Защитный MBR. В таблице разделов защитного MBR (рис. 1) определён только один раздел с кодом системы EEh, покрывающий собой весь диск. Поле начала этого раздела в формате CHS задаёт цилиндр 0, головку 0 и сектор 2 (первый сектор соответствует самой MBR), поле начала в формате LBA — сектор 1. Поля конца соответствуют последнему сектору физического диска, а если его ёмкость превосходит предел, допускаемый традиционной таблицей разделов, то они содержат значения FFFFFFh для адреса в формате CHS и FFFFFFFFh для адреса в формате LBA.

Оглавление GPT. Оглавление (GPT заголовок) расположен в LBA 1. Длина заголовка в будущем может увеличиться, однако он никогда не превысит размер одного физического сектора диска. Для увеличения надёжности хранения данных и устойчивости к сбоям предусмотрена резервная копия заголовка GPT, она хранится в последнем секторе диска. Обе копии заголовка имеют ссылки друг на друга.

Оглавление таблицы разделов (рис. 2) указывает те логические блоки на диске, которые могут быть задействованы пользователем (англ. the usable blocks). Оно также указывает число и размер записей данных о разделах, составляющих таблицу разделов. Так на машине с установленной 64-битной ОС Microsoft Windows Server 2003, было зарезервировано 128 (80h) записей данных о разделах, каждая запись длиной 128 (80h) байт. Таким образом возможно создание 128 разделов на диске.

Оглавление содержит GUID (англ. Globally Unique IDentifier — Глобально Уникальный Идентификатор) диска. В оглавлении также содержится его собственный размер и местоположение (всегда блок LBA 1), а также размер и местоположение вторичного (запасного) оглавления и таблицы разделов, которые всегда размещаются в последних секторах диска.

Важно, что оно также содержит контрольную сумму CRC32 для себя и для таблицы разделов. Эти контрольные суммы проверяются процессами EFI при загрузке машины. Из-за проверок контрольных сумм недопустима и бессмысленна модификация содержимого GPT в шестнадцатеричных редакторах (табл.1). Всякое редактирование нарушит соответствие содержания контрольным суммам, после чего EFI перезапишет первичный GPT вторичным. Если же оба GPT будут содержать неверные контрольные суммы, доступ к диску станет невозможным.

Поля FirstUsableLBA и LastUsableLBA определяют область диска, доступную для размещения в ней разделов. За пределами этой области находятся лишь структуры данных UEFI, предназначенные для управления разделами, то есть:

- MBR,

- заголовок GPT,

- и массив разделов GPT.

 

Рис. 1

Рис. 2

Таблица 1

 Mассив разделов (записи данных о разделах). Массив разделов начинается непосредственно за блоком заголовка GPT, то есть со второго блока диска (LBA 2-33). Копия массива находится в конце диска и вплотную примыкает к копии заголовка, то есть кончается предпоследним блоком диска. Массив разделов состоит из записей одинакового формата, каждая из которых описывает один раздел диска.

Первая запись начинается с начала первого сектора массива, последующие вплотную примыкают друг к другу. Размер записей может меняться, однако на одном диске все записи имеют одинаковую длину, указанную в заголовке GPT и кратную 8 (таблица 2). Например, на машине с установленной 64-битной ОС Microsoft Windows, зарезервировано 128 записей данных о разделах, каждая запись длиной 128 байт (т. о. возможно создание 128 разделов на диске). Записи данных о разделах (англ. Partition entries) просты и расположены с равным приращением адресов. Первые 16 байт определяют GUID типа раздела (например, GUID системного EFI-раздела имеет вид «C12A7328-F81F-11D2-BA4B-00A0C93EC93B»). Следующие 16 байт содержат GUID, уникальный для данного конкретного раздела. Далее записываются данные о начале и конце раздела (в 64-битных LBA), если они имеются.

Остальное место отводится информации об атрибутах и именах разделов.

Таблица 2

 


Лицензия