GPT

Материал из wiki.lissyara.su
Перейти к: навигация, поиск

GUID Partition Table (GPT) - стандарт размещения разделов, на жестком диске. Является частью стандарта Extensible Firmware Interface (EFI), который был предложен компанией Intel, в качестве замены для PC BIOS, одной из немногих, оставшейся частей оригинального IBM PC.
EFI использует GPT, так же как BIOS, использует Master Boot Record (MBR).

Возможности

Используемая, в настоящее время схема PC BIOS, использует master boot record (MBR), в начале процесса инициализации диска. MBR начинается с части называемой Master Boot Code, исполняемый двоичный код, служащий для идентификации и загрузки, активного раздела. EFI вместо того, что бы реализовывать аналогичную функциональность, и для обратной совместимости содержит в первом секторе MBR, а уже после него идет Primary Partition Table Header, который и является GPT.
GPT использует современную схему logical block addressing (LBA), вместо устаревшей cylinder-head-sector (CHS), используемой MBR (современные реализации MBR тоже используют LBA). Устаревшая MBR содержится в LBA 0, GPT заголовок начинается с LBA 1 и за ним следует таблица разделов.

Схема GPT

----------------------------------------------------------
 LBA 0   |       Защитная MBR (для совместимости)        |
----------------------------------------------------------
 LBA 1   |             Первичный GPT заголовок           |
----------------------------------------------------------
 LBA 2   | Элемент 1 | Элемент 2 | Элемент 3 | Элемент 4 |
----------------------------------------------------------
 LBA 3   |                                               |
         |              Элемент 5 - 128                  |
         |                                               |
----------------------------------------------------------
 LBA 34  |                  Раздел1                      |
         |                                               |
         -------------------------------------------------
 LBA -34 |                  Раздел №                     |
----------------------------------------------------------
 LBA -33 | Элемент 1 | Элемент 2 | Элемент 3 | Элемент 4 |
----------------------------------------------------------
 LBA -2  |                                               |
         |              Элемент 5 - 128                  |
         |                                               |
----------------------------------------------------------
 LBA -1  |             Первичный GPT заголовок           |
----------------------------------------------------------

LBA 0

LBA 1

LBA 2-33

Типы разделов

Операционная система Тип раздела Глобальный уникальный идентификатор (GUID) [1]
(None) Unused entry 00000000-0000-0000-0000-000000000000
MBR partition scheme 024DEE41-33E7-11D3-9D69-0008C781F39F
EFI System Partition C12A7328-F81F-11D2-BA4B-00A0C93EC93B
BIOS Boot Partition 21686148-6449-6E6F-744E-656564454649
Windows Microsoft Reserved Partition E3C9E316-0B5C-4DB8-817D-F92DF00215AE
Basic Data Partition [2] EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Logical Disk Manager metadata partition 5808C8AA-7E8F-42E0-85D2-E1E90434CFB3
Logical Disk Manager data partition AF9B60A0-1431-4F62-BC68-3311714A69AD
HP-UX Data partition 75894C1E-3AEB-11D3-B7C1-7B03A0000000
Service Partition E2A1E728-32E3-11D6-A682-7B03A0000000
Linux Data partition [2] EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
RAID partition A19D880F-05FC-4D3B-A006-743F0F84911E
Swap partition 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
Logical Volume Manager (Linux) (LVM) partition E6D6D379-F507-44C2-A23C-238F2A3DF928
Reserved 8DA63339-0007-60C0-C436-083AC8230908
FreeBSD [3] Boot partition 83BD6B9D-7F41-11DC-BE0B-001560B84F0F
Data partition 516E7CB4-6ECF-11D6-8FF8-00022D09712B
Swap partition 516E7CB5-6ECF-11D6-8FF8-00022D09712B
Unix File System (UFS) partition 516E7CB6-6ECF-11D6-8FF8-00022D09712B
Vinum volume manager partition 516E7CB8-6ECF-11D6-8FF8-00022D09712B
ZFS partition 516E7CBA-6ECF-11D6-8FF8-00022D09712B
Mac OS X Hierarchical File System (HFS+) partition 48465300-0000-11AA-AA11-00306543ECAC
Apple UFS 55465300-0000-11AA-AA11-00306543ECAC
ZFS [4] 6A898CC3-1DD2-11B2-99A6-080020736631
Apple RAID partition 52414944-0000-11AA-AA11-00306543ECAC
Apple RAID partition, offline 52414944-5F4F-11AA-AA11-00306543ECAC
Apple Boot partition 426F6F74-0000-11AA-AA11-00306543ECAC
Apple Label 4C616265-6C00-11AA-AA11-00306543ECAC
Apple TV Recovery partition 5265636F-7665-11AA-AA11-00306543ECAC
Solaris Boot partition 6A82CB45-1DD2-11B2-99A6-080020736631
Root partition 6A85CF4D-1DD2-11B2-99A6-080020736631
Swap partition 6A87C46F-1DD2-11B2-99A6-080020736631
Backup partition 6A8B642B-1DD2-11B2-99A6-080020736631
/usr partition [4] 6A898CC3-1DD2-11B2-99A6-080020736631
/var partition 6A8EF2E9-1DD2-11B2-99A6-080020736631
/home partition 6A90BA39-1DD2-11B2-99A6-080020736631
EFI_ALTSCTR 6A9283A5-1DD2-11B2-99A6-080020736631
Reserved partition 6A945A3B-1DD2-11B2-99A6-080020736631
6A9630D1-1DD2-11B2-99A6-080020736631
6A980767-1DD2-11B2-99A6-080020736631
6A96237F-1DD2-11B2-99A6-080020736631
6A8D2AC7-1DD2-11B2-99A6-080020736631
NetBSD [5] Swap partition 49F48D32-B10E-11DC-B99B-0019D1879648
FFS partition 49F48D5A-B10E-11DC-B99B-0019D1879648
LFS partition 49F48D82-B10E-11DC-B99B-0019D1879648
RAID partition 49F48DAA-B10E-11DC-B99B-0019D1879648
concatenated partition 2DB519C4-B10F-11DC-B99B-0019D1879648
encrypted partition 2DB519EC-B10F-11DC-B99B-0019D1879648
  1. [1] GUIDs в этой таблице записаны с применением little-endian(справа-налево) порядка байт. Для примера, GUID для EFI раздела записан как C12A7328-F81F-11D2-BA4B-00A0C93EC93B, что преобразуется в 16 байтовую последовательность 28 73 2A C1 1F F8 D2 11 BA 4B 00 A0 C9 3E C9 3B — только первые три байта считываются в обратном порядке.
  2. [2] Linux и Windows используют один и тот же GUID для разделов с данными.
  3. [3] GUID поддерживаемые во FreeBSD описаны в файле src/sys/sys/gpt.h, утилита gpart поддерживает работу со всеми типами перечисленными в секции FreeBSD, а так же с MBR и EFI разделами.
  4. [4] GUID для раздела /usr в Solaris использует общий GUID с ZFS для Mac OS X.
  5. [5] Описание взято из src/sys/sys/disklabel_gpt.h. NetBSD использовало FreeBSD GUIDs до момента создания уникальных NetBSD-специфичных GUIDs.

Ссылки

Статья в википедии (Англ.)
Секреты GPT (Англ.) Статья о реализации GPT в Apple, много сведений по структуре самой технологии GPT
UEFI.org (Англ.) Сайт сообщества компаний компьютерной индустрии, по изменению процесса загрузки :)