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

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

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


Организация разделов на GPT дисках (ликбез).

Организация разделов на GPT дисках (ликбез).

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

В оглавлении содержится адрес блока, где начинается сама таблица разделов, обычно это следующий блок — LBA 2. В случае 64-битной версии ОС Microsoft Windows NT, за таблицей разделов зарезервировано 16384 байт (при использовании сектора размером 512 байт это будет 32 сектора), так что первым используемым сектором каждого жёсткого диска в ней будет блок LBA 34. Кроме того, GPT обеспечивает дублирование — оглавление и таблица разделов записаны как в начале, так и в конце диска. Теоретически, GPT позволяет создавать разделы диска размером до 9,4 ЗБ в то время как MBR может работать только до 2,2 ТБ.

Заголовок GPT (GPT Header)

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

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

Структура Заголовка GPT

Поля FirstUsableLBA и LastUsableLBA определяют область диска, доступную для размещения в ней разделов (табл. 1).

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

- MBR,

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

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

  

Таблица 1

 

  

Массив разделов (записи данных о разделах - LBA 2-33)

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

Первая запись начинается с начала первого сектора массива, последующие вплотную примыкают друг к другу. Размер записей может меняться, однако на одном диске все записи имеют одинаковую длину, указанную в заголовке 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. Структура записи данных о разделах:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Лицензия