Алгоритм - Учебный центр
Заполните форму ниже! Мы вам перезвоним!

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


Организация структуры GPT-диска (пример).

Организация структуры GPT-диска (пример).

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

Оглавление таблицы разделов указывает те логические блоки на диске, которые могут быть задействованы пользователем (англ. the usable blocks).

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

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

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

Всякое редактирование нарушит соответствие содержания контрольным суммам, после чего EFI перезапишет первичный GPT вторичным. Если же оба GPT будут содержать неверные контрольные суммы, доступ к диску станет невозможным.

QIP Shot - Image: 2018-02-02 16:55:41 

Рис. 1.

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

Массив разделов состоит из записей одинакового формата, каждая из которых описывает один раздел диска. Первая запись начинается с начала первого сектора массива, последующие вплотную примыкают друг к другу. Размер записей может меняться, однако на одном диске все записи имеют одинаковую длину, указанную в заголовке GPT и кратную 8 (рис. 1). Например, на машине с установленной 64-битной ОС Microsoft Windows, зарезервировано 128 записей данных о разделах, каждая запись длиной 128 байт (т. о. возможно создание 128 разделов на диске). Записи данных о разделах (англ. Partition entries) просты и расположены с равным приращением адресов (рис. 2).

Первые 16 байт определяют GUID типа раздела (например, GUID системного EFI-раздела имеет вид «C12A7328-F81F-11D2-BA4B-00A0C93EC93B»).

Следующие 16 байт содержат GUID, уникальный для данного конкретного раздела.

Далее записываются данные о начале и конце раздела (в 64-битных LBA), если они имеются.

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

QIP Shot - Image: 2018-02-02 16:56:50

Рис. 2.


Лицензия