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

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

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


Заголовок GPT (GPT Header). Массив разделов

Заголовок GPT (GPT Header). Массив разделов.

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

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

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

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

  • защитный MBR,

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

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

        Таблица 1

 

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

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

Первые 16 байт записи определяют GUID типа раздела (например, GUID системного UEFI-раздела имеет вид «C12A7328-F81F-11D2-BA4B-00A0C93EC93B»). Следующие 16 байт содержат GUID, уникальный для данного конкретного раздела. Далее записываются данные о начале и конце раздела (в 64-битных LBA), если они имеются. Остальное место отводится информации об атрибутах и именах разделов.

     Таблица 2

 


Лицензия