загрузка...

Разделы GPT

  Системы с 64-разрядными процессорами Intel Itanium (IA64), в отличие от систем IA32, не имеют BIOS. Вместо этого в них используется интерфейс EFI (Extensible Firmware Interface). EFI (http://www.intel.com/technology/efi) работает не только на платформе Intel, но и на других платформах — например, в системах Sun Sparc. В EFI применяется система разделов GPT(GUID Partition Table), поддерживающая до 128 разделов с 64-разрядной адресацией LBA. На случай сбоя в системе хранятся резервные копии важных структур данных. На момент написания книги диски GPT применялись на мощных серверах и практически не встречались в типичных настольных системах.
Общий обзор
Диск GPT состоит из пяти основных областей (рис. 6.7). Первая — защитная область MBR — начинается в первом секторе диска и содержит таблицу разделов DOS с единственной записью. Запись представляет раздел типа ОхЕЕ, распространяющийся на весь диск. Этот раздел существует для того, чтобы старые компьютеры распознавали диск как используемый и не пытались форматировать его. В действительности EFI не использует разделы в традиционном смысле.
Вторая область диска GPT начинается с сектора 1 и содержит заголовок GPT. Заголовок определяет размер и местонахождение таблицы разделов, которое фиксируется при создании диска GPT. В системе Windows количество разделов в таблице ограничивается 128 [Microsoft, 2004]. Заголовок также содержит контрольную сумму заголовка и таблицы разделов, что позволяет обнаруживать ошибки и посторонние изменения.
Третья область содержит таблицу разделов. Каждая запись таблицы содержит начальный и конечный адреса, код типа, имя, флаги атрибутов и значение GUID. 128-разрядный код GUID является уникальным для данной системы и задается при создании таблицы разделов.
Четвертая область диска — область раздела. Она занимает наибольшее дисковое пространство и содержит секторы, распределяемые по разделам. Начальный и конечный секторы этой области определяются в заголовке GPT. В последней

области диска хранятся резервные копии заголовка GPT и таблицы разделов. Резервная область хранится в секторе, следующем за областью раздела.
Структуры данных
В первой области диска GPT используется стандартная таблица разделов DOS, уже рассматривавшаяся ранее. Диск GPT с таблицей разделов DOS содержит единственную запись раздела, занимающего весь диск. Пример: mmls -t dos gpt-disk.dd
DOS Partition Table
Units are in 512-byte sectors
Slot              Start              End              Length              Description
00:                                          0000000000              0000000000              0000000001              Primary Table (#0)
01:              00:00              0000000001              0120103199              0120103199              GPT Safety Partition              (OxEE)
После таблицы разделов DOS следует сектор 1 с заголовком GPT, описывающим строение диска. Структура данных заголовка представлена в табл. 6.16.
Диапазон байтов Описание Необходимость
0-7 Сигнатура («EFI PART») Нет
8-11 Версия Да
12-15 Размер заголовка GPT в байтах Да
16-19 Контрольная сумма заголовка GPT (CRC32) Нет
20-23 Зарезервировано Нет
24-31 Адрес LBA текущей структуры заголовка GPT Нет
32-39 Адрес LBA другой структуры заголовка GPT Нет
40—47 Адрес LBA начала области раздела Да
48-55 Адрес LBA конца области раздела Нет
56-71 Код GUID диска Нет
72-79 Адрес LBA начала таблицы разделов Да
80-83 Количество записей в таблице разделов Да
84-87 Размер каждой записи в таблице разделов Да
88-91 Контрольная сумма таблицы разделов (CRC32) Нет
92-конец сектора Зарезервировано Нет

Таблица 6.16. Структура данных заголовка GPT

По этим значениям можно полностью определить структуру диска, включая местонахождени е таблицы разделов, области разделов и резервных копий заголовка GPT и таблицы разделов.
Заголовок GPT для образа диска выглядит так:
# dd if=gpt-disk.dd bs=512 skip=l count=l | xxd
0000000:              4546              4920              5041              5254              0000              0100              5c00              0000              EFI              PART....\...
0000016:              8061              аЗЬО              0000              0000              0100              0000              0000              0000              .a
0000032:              lfal              2807              0000              0000              2200              0000              0000              0000              ..(              "
0000048:              feaO              2807              0000              0000              7e5e              4dal              1102              5049              ..(              ~AM...PI
0000064:              ab2a              79a6              Зеаб              3859              0200              0000              0000              0000              .*y.gt;.8Y
0000080: 8000 0000 8000 0000 69a5 7180 0000 0000                            i.q
0000096: 0000 0000 0000 0000 0000 0000 0000 0000
[...]





Первые 8 байт содержат сигнатуру. Байты 12-15 показывают, что размер заголовка GPT составляет 96 байт (0x5с). Согласно байтам 32-39, резервная копия заголовка хранится в секторе 120 103 199 (0x0728alaf).
Обратите внимание: этот же сектор был указан в качестве последнего сектора защитного раздела DOS. Байты 40-47 показывают, что область раздела начинается с сектора 34 (0x22) и завершается в секторе 120 103 166 (0x0728a0fe). Из байтов 72-79 мы узнаем, что таблица разделов начинается с сектора 2, а из байтов 80-83 — что таблица содержит 128 (0x80) записей. Байты 84-87 показывают, что размер каждой записи составляет 128 (0x80) байт; это означает, что для хранения таблицы потребуются 32 сектора.
По информации из заголовка GPT можно вычислить начало и конец таблицы разделов, а также размер каждой записи. В табл. 6.17 перечислены поля записей таблицы.
Таблица 6-17. Структура данных записей таблицы разделов GPT

Диапазон байтов

Описание

Необходимость

0-15

Код GUID типа раздела

Нет

16-31

Уникальный код GUID раздела

Нет

32-39

Начальный адрес LBA раздела

Да

40—47

Конечный адрес LBA раздела

Да

48-55

Атрибуты раздела

Нет

56-127

Имя раздела в Юникоде

Нет


128-разрядное поле типа идентифицирует содержимое раздела. В дисках GPT разделы используются для хранения как системной информации, так и файловых систем. Например, каждый компьютер с EFI должен содержать системный раздел EFI с файлами, необходимыми для инициализации аппаратной и программной части системы. Значения типов назначаются фирмами-производителями; к сожалению, централизованного списка в настоящее время не существует. В спецификации Intel определены типы разделов, перечисленные в табл. 6.18.
Таблица 6.18. Типы разделов GPT, определенные в спецификации Intel GUID              Описание 0000-0000-0000-0000000000              Свободная запись
C12A7328-F81F-11D2-BA4B-00A0C93EC93B              Системный раздел              EFI
024DEE41-33E7-lld3-9D69-0008C781F39F              Раздел с таблицей              разделов DOS
Компания Microsoft также определила некоторые значения типов, используемые в ее продуктах (табл. 6.19).
Таблица 6.19. Типы разделов GPT, определенные в спецификации Microsoft GUID              Описание
E3C9E316-05BC-4DB8-817D-f92DF00215AE              Зарезервированный раздел Microsoft (MRP)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7              Первичный раздел (базовый диск)
5808C8AA-7E8F-42E0-85D2-E1E90434CFB3              Раздел метаданных LDM (динамический диск)
AF9B60A0-1431-4F62-BC68-3311714A69AD              Раздел данных LDM (динамический диск)

В системе Windows зарезервированный раздел используется для хранения временных файлов и данных. Первичный раздел содержит файловую систему. Первичные разделы схожи с первичными разделами, которые мы видели при изучении разделов DOS. Раздел метаданных LDB и раздел данных LDM используются в динамических дисках Microsoft, о которых речь пойдет в следующей главе. Динамические диски предназначены для объединения содержимого нескольких дисков в один том.
64-разрядное поле атрибутов разделено на три части. Установка младшего бита означает, что функционирование системы невозможно без этого раздела. На основании этого бита система проверяет, можно ли удалить раздел. Значения битов 47 не определены, а биты 48-63 могут содержать произвольную информацию для раздела данного типа. Каждый тип разделов использует эти значения по своему усмотрению.
Приведу содержимое записи таблицы разделов в простейшей системе: dd if=gpt-disk.dd bs=512 skip=341 dd bs=128 skip=3 count=l | xxd 0000000: 16e3 c9e3 5c0b b84d 817d f92d f002 15ae ... Л..M..
0000016: 2640 69eb 2f99 1942 afcO d673 7c0b 8ae4 amp;@i./..B...s|...
0000032: 2200 0000 0000 0000 0080 3e00 0000 0000 "              gt;
0000048: 0000 0000 0000 0000 0000 ffff ffff ffff
0000064: ffff ffff ffff ffff ffff ffff ffff ffff
В верхней строке (байты 0-15) мы видим код GUID типа раздела, а во второй (байты 16-31) — код GUID самого раздела. Начальный адрес раздела хранится в байтах 32-39; раздел начинается с сектора 32 (0x0022). Конечный адрес раздела задается байтами 40-47 и равен 4 096 ООО (0х003Е8000).
Пример выполнения mmls: mmls -t gpt gpt-disk.dd GUID Partition Table
Units are in 512-byte sectors


Slot

Start

End

Length

Description

00:


0000000000

0000000000

0000000001

Safety table

01:


0000000001

0000000001

0000000001

GPT Header

02:


0000000002

0000000033

0000000032

Partition Table

03:

00

0000000034

0004096000
/>0004095967

04:

01

0004096001

0012288000

0008192000



В конце диска находятся резервные копии заголовка GPT и таблицы разделов. Они следуют в обратном порядке: заголовок GPT хранится в последнем секторе, а таблица разделов — в предыдущем. В нашем примере резервный заголовок GPT находится в секторе 120 103 199.
<< | >>
Источник: Кэрриэ Б.. Криминалистический анализ файловых систем. 2007

Еще по теме Разделы GPT:

  1. Раздел VIII. Раздел наследства
  2. Разделы в DOS
  3. Разделы Apple
  4. Разделы BSD
  5. Восстановление удаленных разделов
  6. 1.2. Правила раздела
  7. 6.2. Условия раздела
  8. 4. Время осуществления раздела наследства
  9. § 10. Раздел наследства (п. 1835-1838)
  10. 46. Преимущественное право при разделе наследства
  11. Раздел II Основы культурогенез
  12. 44. Раздел наследства: общие положения и виды
  13. 45. Охрана интересов лиц при разделе наследства
  14. Раздел V. НАСЛЕДСТВЕННОЕ ПРАВО
  15. РАЗДЕЛ IV 1
  16. 2. Состав наследственного имущества, подлежащего разделу