Библиотека сайта rus-linux.net
GUID Partition Table (новая таблица разделов)
Из Wikipedia, свободной энциклопедии
Сокращенный перевод: Алексей Дмитриев
Дата перевода: 13 ноября 2007
От переводчика: это только перевод материала статьи, он не является страницей
Википедии.
В мире компьютерного "железа" GUID [1] Partition Table (GPT) является стандартным форматом размещения таблицы разделов на физическом жестком диске. Он является частью Extensible Firmware Interface (EFI) / Расширяемый Микропрограммный Интерфейс/ - стандарта, предложенного Intel на смену отжившего PC BIOS, одного из последних реликтов первозданной IBM PC. EFI использует GPT там, где BIOS использует Master Boot Record (MBR).
На этом рисунке приведена диаграмма, схематично поясняющая формат GUID Partition Table. Каждый логический блок (LBA) имеет размер ровно 512 байт. Отрицательные адреса логических блоков говорят о том,что их нумерация начинается с конца тома (диска), причем последний адресуемый блок имеет адрес -1.
Характеристики
В отличие от MBR, который начинается с исполняемой двоичной программы, призванной идентифицировать и загрузить активный раздел, GPT опирается на расширенные возможности EFI для осуществления этих процессов. Однако MBR присутствует в самом начале диска (LBA 0) как для защиты, так и целях совместимости. Собственно GPT начинается с Оглавления Таблицы Разделов (Partition Table Header).
GPT использует современную систему адресации Логических Блоков (LBA) вместо применявшейся в MBR адресации Цилиндр - Головка - Сектор (CHS). Доставшийся по наследству MBR со всей своей информацией содержится в LBA 0, оглавление GPT в LBA 1, а сама таблица разделов далее. В случае 64-битной версии ОС Windows, за GPT зарезервировано 32 сектора или 16 384 байта, так что первым используемым сектором диска будет LBA 34.
GPT, кроме того, обеспечивает дублирование - оглавление и таблица разделов (как впрочем и MBR) записаны как вначале, так и в конце диска.
Наследственный MBR (LBA 0)
Основная цель помещения MBR в начало диска чисто защитная. MBR-ориентированные дисковые утилиты могут не распознать и даже переписать GPT диски. Чтобы избежать этого, указывается наличие всего одного раздела, охватывающего весь GPT диск. Системный Идентификатор (System ID) для этого раздела устанавливается в значение 0xEE, указывающее, что применяется GPT. Вследствие этого EFI игнорирует MBR. Некоторые 32-битные операционные системы, не "умеющие" читать GPT диски, тем не менее распознают этот Системный Идентификатор и представляют том в качестве недоступного GPT диска. Более старые ОС обычно представляют диск, как содержащий единственный раздел неизвестного типа и без свободного места; как правило, они отказываются модифицировать такой диск, пока пользователь явно не потребует и не подтвердит удаление данного раздела. Таким способом предотвращается случайное стирание содержимого GPT диска.
Оглавление таблицы разделов (LBA 1)
Оглавление таблицы разделов указывает те логические блоки на диске, которые могут быть задействованы пользователем (the usable blocks).Оно также указывает число и размер записей данных о разделах, составляющих таблицу разделов. Так на машине с установленной 64-битной ОС Windows Server 2003, зарезервировано 128 записей данных о разделах, каждая запись длиной 128 байт. Таким образом возможно создание 128 разделов на диске.
Оглавление содержит GUID (Globally Unique Identifier) /Глобально Уникальный Идентификатор/ диска. Он записывает свой собственный размер и местоположение (всегда LBA 1), а также размер и местоположение вторичного (запасного) оглавления и таблицы разделов (всегда в последних секторах диска). Важно, что он также содержит контрольную сумму CRC32 для себя и для таблицы разделов. Эти контрольные суммы проверяются процессами EFI при загрузке машины. Из-за проверок контрольных сумм невозможным становится применение шестнадцатеричных (hex) редакторов для модификации содержимого GPT. Всякое редактирование изменит контрольные суммы, после чего EFI перезапишет первичный GPT вторичным. Если же оба GPT будут содержать неверные контрольные суммы, доступ к диску станет невозможным.
Записи данных о разделах (LBA 2-33)
Записи данных о разделах (Partition entries) просты и прямолинейны. Первые 16 байт определяют GUID типа раздела. Скажем GUID системного EFI раздела имеет вид {C12A7328-F81F-11D2-BA4B-00A0C93EC93B}. Следующие 16 байт содержат GUID уникальный для данного конкретного раздела. Далее записываются данные о начале и конце 64-битных LBA, если таковые имеются. Остальное место отводится информации об именах и атрибутах разделов.
Идентификаторы (GUIDs) различных типов разделов.
Ассоц. ОС | Тип раздела | Глобально уникальный идентификатор (GUID) |
---|---|---|
(None) | Неиспользуемая запись данных | 00000000-0000-0000-0000-000000000000 |
Схема разделов MBR | 024DEE41-33E7-11D3-9D69-0008C781F39F |
|
Системный раздел EFI | C12A7328-F81F-11D2-BA4B-00A0C93EC93B |
|
ОС Windows | Резервный раздел Microsoft | E3C9E316-0B5C-4DB8-817D-F92DF00215AE |
Раздел основных данных | EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 |
|
Менеджер логических томов, раздел мета-данных | 5808C8AA-7E8F-42E0-85D2-E1E90434CFB3 |
|
Менеджер логических томов, раздел данных | AF9B60A0-1431-4F62-BC68-3311714A69AD |
|
HP-UX | Раздел данных | 75894C1E-3AEB-11D3-B7C1-7B03A0000000 |
Раздел Сервиса | E2A1E728-32E3-11D6-A682-7B03A0000000 |
|
Linux | Раздел данных | EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 |
RAID раздел | A19D880F-05FC-4D3B-A006-743F0F84911E |
|
Своп-раздел | 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F |
|
Раздел Менеджера логических томов (LVM) | E6D6D379-F507-44C2-A23C-238F2A3DF928 |
|
Зарезервировано | 8DA63339-0007-60C0-C436-083AC8230908 |
|
FreeBSD | Раздел данных | 516E7CB4-6ECF-11D6-8FF8-00022D09712B |
Своп-раздел | 516E7CB5-6ECF-11D6-8FF8-00022D09712B |
|
Раздел UFS (файловой системы Unix) | 516E7CB6-6ECF-11D6-8FF8-00022D09712B |
|
Раздел менеджера томов Vinum | 516E7CB8-6ECF-11D6-8FF8-00022D09712B |
|
Mac OS X | Раздел HFS+ (Hierarchical File System) | 48465300-0000-11AA-AA11-00306543ECAC |
Apple UFS | 55465300-0000-11AA-AA11-00306543ECAC |
|
ZFS | 6A898CC3-1DD2-11B2-99A6-080020736631 |
|
Apple RAID раздел | 52414944-0000-11AA-AA11-00306543ECAC |
|
Apple RAID раздел, offline | 52414944-5F4F-11AA-AA11-00306543ECAC |
|
Загрузочный раздел Apple | 426F6F74-0000-11AA-AA11-00306543ECAC |
|
Apple Label | 4C616265-6C00-11AA-AA11-00306543ECAC |
|
Apple TV Recovery partition | 5265636F-7665-11AA-AA11-00306543ECAC |
|
Solaris | Boot-раздел | 6A82CB45-1DD2-11B2-99A6-080020736631 |
Root-раздел | 6A85CF4D-1DD2-11B2-99A6-080020736631 |
|
Swap-раздел | 6A87C46F-1DD2-11B2-99A6-080020736631 |
|
Backup-раздел | 6A8B642B-1DD2-11B2-99A6-080020736631 |
|
Раздел /usr | 6A898CC3-1DD2-11B2-99A6-080020736631 |
|
Раздел /var | 6A8EF2E9-1DD2-11B2-99A6-080020736631 |
|
Раздел /home | 6A90BA39-1DD2-11B2-99A6-080020736631 |
|
EFI_ALTSCTR | 6A9283A5-1DD2-11B2-99A6-080020736631 |
|
Зарезервированные разделы | 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 |
Примечание 1: Linux и Windows имеют одинаковые GUID для своих разделов данных.
Примечание 2: Порядок записи байтов (byte order) в написаниях GUID является 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. Обратите внимание, что байты пишутся задом-наперед только в первых трех блоках (C12A7328-F81F-11D2).
Глобально уникальный идентификатор (A Globally Unique Identifier или GUID) - специальный тип идентификтора, используемый в программных приложениях для генерации номеров ссылок, которые уникальны в том контексте, где они используются. Например, для задания внутренних ссылок в программных приложениях или для создания уникальных ключей в базе данных. Хотя каждый сгенерированный GUID не является гарантированно уникальным, но общее число возможных номеров так велико (2122 или 5.3*1036), что вероятность получения одного и того же номера дважды ничтожно мала.
Смотри также заметку "Создание раздела диска размером более 2 Тб в Линуксе"