GPT
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] 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] Linux и Windows используют один и тот же GUID для разделов с данными.
- [3] GUID поддерживаемые во FreeBSD описаны в файле src/sys/sys/gpt.h, утилита gpart поддерживает работу со всеми типами перечисленными в секции FreeBSD, а так же с MBR и EFI разделами.
- [4] GUID для раздела
/usr
в Solaris использует общий GUID с ZFS для Mac OS X. - [5] Описание взято из src/sys/sys/disklabel_gpt.h. NetBSD использовало FreeBSD GUIDs до момента создания уникальных NetBSD-специфичных GUIDs.
Ссылки
Статья в википедии (Англ.)
Секреты GPT (Англ.) Статья о реализации GPT в Apple, много сведений по структуре самой технологии GPT
UEFI.org (Англ.) Сайт сообщества компаний компьютерной индустрии, по изменению процесса загрузки :)