Инструменты пользователя
Содержание
Таблица разделов GUID
GUID Partition Table, аббр. GPT — стандарт формата размещения таблиц разделов на физическом жестком диске. Он является частью Расширяемого микропрограммного интерфейса (англ. Extensible Firmware Interface, EFI) — стандарта, предложенного Intel на смену BIOS. EFI использует GPT там, где BIOS использует Главную загрузочную запись (англ. Master Boot Record, MBR).
Возможности
В отличие от MBR, которая начинается с исполняемой двоичной программы, призванной идентифицировать и загрузить активный раздел, GPT опирается на расширенные возможности EFI для осуществления этих процессов. Однако MBR присутствует в самом начале диска (блок LBA 0) как для защиты, так и в целях совместимости. Собственно GPT начинается с Оглавления таблицы разделов (англ. Partition Table Header).
GPT использует современную систему адресации логических блоков (LBA) вместо применявшейся в MBR адресации «Цилиндр — Головка — Сектор» (CHS). MBR, доставшаяся по наследству со всей своей информацией, содержится в блоке LBA 0, оглавление GPT — в блоке LBA 1. В оглавлении содержится адрес блока, где начинается сама таблица разделов, обычно это следующий блок — LBA 2. Количество разделов не ограничено стандартом и зависит от операционной системы1) (технически ограничено порядка 264 разделами из-за разрядности полей). Так в Microsoft Windows в таблице разделов резервируется место для 128 записей по 128 байт каждая (в GNU/Linux ядро поддерживает до 256 разделов2)). Таким образом для таблицы разделов в Windows резервируется 16 384 байт (при использовании сектора размером 512 байт это будет 32 сектора), так что первым используемым сектором каждого жёсткого диска в ней будет блок LBA 34.
Кроме того, GPT обеспечивает дублирование — оглавление и таблица разделов записаны как в начале, так и в конце диска.
Теоретически, GPT позволяет создавать разделы диска размером до 9,4 ЗБ (9,4 × 1021 байт) (при размере сектора 512 байт, иначе — больше), в то время как MBR может работать только до 2,2 ТБ (2,2 × 1012 байт).
GPT позволяет назначать разделам идентификаторы GUID, имена и атрибуты, независимо от внутренних UUID файловых систем, их меток и прочего, и позволяет обращаться по таким именам вместо менее удобных меток и номеров разделов. Благодаря поддержке Юникода в именах и щадящих ограничений на них, разделы могут быть названы на любом языке и сгруппированы по папкам3).
Наследственный MBR (LBA 0)
Основная цель помещения MBR в начало диска чисто защитная. MBR-ориентированные дисковые утилиты могут не распознать и даже переписать GPT диски. Чтобы избежать этого, указывается наличие всего одного раздела, охватывающего весь GPT диск. Системный идентификатор (англ. System ID) для этого раздела устанавливается в значение 0xEE
, указывающее, что применяется GPT. Вследствие этого EFI игнорирует MBR. Некоторые 32-битные операционные системы, например Windows XP, не приспособленные для чтения дисков, содержащих GPT, тем не менее распознают этот Системный идентификатор и представляют том в качестве недоступного GPT диска. Более старые ОС[какие?] обычно представляют диск, как содержащий единственный раздел неизвестного типа и без свободного места; как правило, они отказываются модифицировать такой диск, пока пользователь явно не потребует и не подтвердит удаление данного раздела. Таким способом предотвращается случайное стирание содержимого GPT диска.
Оглавление таблицы разделов (LBA 1)
Оглавление таблицы разделов указывает те логические блоки на диске, которые могут быть задействованы пользователем (англ. the usable blocks). Оно также указывает число и размер записей данных о разделах, составляющих таблицу разделов. Стандартно в Microsoft Windows резервируется 128 записей данных о разделах. Таким образом возможно создание 128 разделов на диске.
Оглавление содержит GUID (англ. Globally Unique IDentifier — Глобально Уникальный Идентификатор) диска. В оглавлении также содержится его собственный размер и местоположение (всегда блок LBA 1), а также размер и местоположение вторичного (запасного) оглавления и таблицы разделов, которые всегда размещаются в последних секторах диска. Важно, что оно также содержит контрольную сумму CRC32 для себя и для таблицы разделов. Эти контрольные суммы проверяются процессами EFI при загрузке машины. Из-за проверок контрольных сумм недопустима и бессмысленна модификация содержимого GPT в шестнадцатеричных редакторах. Всякое редактирование нарушит соответствие содержания контрольным суммам, после чего EFI перезапишет первичный GPT вторичным. Если же оба GPT будут содержать неверные контрольные суммы, доступ к диску станет невозможным.
Записи данных о разделах (LBA 2-33)
Записи данных о разделах (англ. Partition entries) просты и расположены с равным приращением адресов. Первые 16 байт определяют GUID типа раздела. Например, GUID системного EFI-раздела имеет вид «C12A7328-F81F-11D2-BA4B-00A0C93EC93B
». Следующие 16 байт содержат GUID, уникальный для данного конкретного раздела. Далее записываются данные о начале и конце 64-битных LBA, если они имеются. Остальное место отводится информации об именах и атрибутах разделов.
Идентификаторы (GUID) различных типов разделов
Ассоц. платф. | Тип раздела | Глобально-уникальный идентификатор (GUID) |
---|---|---|
(Нет) | Неиспользуемая запись данных |
00000000-0000-0000-0000-000000000000 |
Схема разделов MBR |
024DEE41-33E7-11D3-9D69-0008C781F39F |
|
Системный раздел EFI |
C12A7328-F81F-11D2-BA4B-00A0C93EC93B |
|
BIOS Boot partition |
21686148-6449-6E6F-744E-656564454649 |
|
Раздел Intel Fast Flash (iFFS) (для технологии Intel Rapid Start) |
D3BFE2DE-3DAF-11DF-BA40-E3A556D89593 |
|
Загрузочный раздел Sony |
F4019732-066E-4E12-8273-346C5641494F |
|
Загрузочный раздел Lenovo |
BFBFAFE7-A34F-448A-9A5B-6213EB736C22 |
|
Windows | Резервный раздел Microsoft |
E3C9E316-0B5C-4DB8-817D-F92DF00215AE |
Раздел основных данных |
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 |
|
Менеджер логических томов, раздел мета-данных |
5808C8AA-7E8F-42E0-85D2-E1E90434CFB3 |
|
Менеджер логических томов, раздел данных |
AF9B60A0-1431-4F62-BC68-3311714A69AD |
|
Раздел восстановления |
DE94BBA4-06D1-4D40-A16A-BFD50179D6AC |
|
HP-UX | Раздел данных |
75894C1E-3AEB-11D3-B7C1-7B03A0000000 |
Раздел Сервиса |
E2A1E728-32E3-11D6-A682-7B03A0000000 |
|
Linux | Раздел данных |
0FC63DAF-8483-4772-8E79-3D69D8477DE4 |
RAID раздел |
A19D880F-05FC-4D3B-A006-743F0F84911E |
|
Своп-раздел |
0657FD6D-A4AB-43C4-84E5-0933C84B4F4F |
|
Раздел Менеджера логических томов (LVM) |
E6D6D379-F507-44C2-A23C-238F2A3DF928 |
|
Раздел /home |
933AC7E1-2EB4-4F13-B844-0E14E2AEF915 |
|
Раздел /srv (данные сервера) |
3B8F8425-20E0-4F3B-907F-1A25A76F98E8 |
|
Раздел dm-crypt |
7FFEC5C9-2D00-49B7-8941-3EA10A5586B7 |
|
Раздел LUKS |
CA7D7CCB-63ED-4C53-861C-1742536059CC |
|
Зарезервировано |
8DA63339-0007-60C0-C436-083AC8230908 |
|
FreeBSD | Загрузочный раздел |
83BD6B9D-7F41-11DC-BE0B-001560B84F0F |
Раздел данных |
516E7CB4-6ECF-11D6-8FF8-00022D09712B |
|
Своп-раздел |
516E7CB5-6ECF-11D6-8FF8-00022D09712B |
|
Раздел UFS (Unix File System) |
516E7CB6-6ECF-11D6-8FF8-00022D09712B |
|
Раздел менеджера томов Vinum |
516E7CB8-6ECF-11D6-8FF8-00022D09712B |
|
Раздел ZFS |
516E7CBA-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 |
5265636F-7665-11AA-AA11-00306543ECAC |
|
Раздел Apple Core Storage (то есть Lion FileVault) |
53746F72-6167-11AA-AA11-00306543ECAC |
|
Solaris | Загрузочный раздел |
6A82CB45-1DD2-11B2-99A6-080020736631 |
Корневой раздел |
6A85CF4D-1DD2-11B2-99A6-080020736631 |
|
Своп раздел |
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 |
||
NetBSD | Своп раздел |
49F48D32-B10E-11DC-B99B-0019D1879648 |
Раздел FFS |
49F48D5A-B10E-11DC-B99B-0019D1879648 |
|
Раздел LFS |
49F48D82-B10E-11DC-B99B-0019D1879648 |
|
Раздел RAID |
49F48DAA-B10E-11DC-B99B-0019D1879648 |
|
Соединённый раздел |
2DB519C4-B10F-11DC-B99B-0019D1879648 |
|
Шифрованный раздел |
2DB519EC-B10F-11DC-B99B-0019D1879648 |
|
ChromeOS | Ядро ChromeOS |
FE3A2A5D-4F32-41A7-B725-ACCC3285A309 |
ChromeOS rootfs |
3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC |
|
Для будущего использования ChromeOS |
2E0A753D-9E48-43B0-8337-B15192CB1B5E |
|
QNX | Power-safe (QNX6) file system4) |
CEF5A9AD-73BC-4601-89F3-CDEEEEE321A1 |
Примечание 1: GUID для раздела данных Linux ранее являлся дубликатом GUID для раздела основных данных Microsoft Windows.
Примечание 2: Порядок записи байтов в написаниях 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).
Недостатки
- Противоречивые реализации поддержки GPT, возможно, из-за закрытости большей части стандарта (например, GUID для раздела данных Linux был изменён на другой, в старых версиях parted используется нестандартная кодировка имён).
- Не предусмотрено возможности назначать имя всему диску, как отдельным разделам (хотя у него есть свой GUID).
- По-прежнему сильна привязка раздела к его номеру в таблице (например, многие загрузчики ОС предпочитают номер именам и GUID).
- Количество дубликатов таблиц строго ограничено двумя, их позиции зафиксированы, что в случае повреждения диска, ошибок администрирования или ошибок программ недостаточно для удобного восстановления данных.
- Ни резервная копия GPT, ни основная не позволяют аннулировать другую копию в случае если та неверна, но имеет правильную контрольную сумму и не может быть стёрта (то есть, не предусмотрено защиты от плохих блоков, какая давно есть во многих ФС).
См. также
Ссылки
- Microsoft TechNet: Disk Sectors on GPT Disks
- Microsoft TechNet: Using GPT Drives on x86-64 Systems
/
и представлять относительный путь к разделу.Инструменты страницы