Warning: session_name(): Cannot change session name when session is active in /home/stalko/rodina-ru.com/docs/dokuwiki/inc/init.php on line 231

Warning: session_set_cookie_params(): Cannot change session cookie parameters when session is active in /home/stalko/rodina-ru.com/docs/dokuwiki/inc/init.php on line 232
======Таблица разделов GUID====== **[[guid|GUID]] Partition Table**, [[аббревиатура|аббр.]] **GPT** — стандарт формата размещения [[таблица-разделов|таблиц разделов]] на физическом [[жесткий-диск|жестком диске]]. Он является частью [[extensible-firmware-interface|Расширяемого микропрограммного интерфейса]] ([[английский-язык|англ.]] //Extensible Firmware Interface//, EFI) — стандарта, предложенного [[intel|Intel]] на смену [[bios|BIOS]]. EFI использует GPT там, где BIOS использует [[главная-загрузочная-запись|Главную загрузочную запись]] ([[английский-язык|англ.]] //Master Boot Record//, MBR). [{{wiki:275px-guid-partition-table-scheme-svg.png|На этом рисунке приведена диаграмма, схематично поясняющая формат GUID Partition Table. Каждый логический блок (LBA) имеет размер ровно 512 байт. Отрицательные адреса логических блоков говорят о том, что их нумерация начинается с конца тома (диска), причем последний адресуемый блок имеет адрес −1.}}] =====Возможности===== В отличие от MBR, которая начинается с исполняемой двоичной программы, призванной идентифицировать и загрузить активный раздел, GPT опирается на расширенные возможности EFI для осуществления этих процессов. Однако MBR присутствует в самом начале диска (блок LBA 0) как для защиты, так и в целях совместимости. Собственно GPT начинается с //Оглавления таблицы разделов// ([[английский-язык|англ.]] //Partition Table Header//). GPT использует современную систему адресации логических блоков ([[logical-block-addressing|LBA]]) вместо применявшейся в MBR адресации «Цилиндр — Головка — Сектор» ([[chs|CHS]]). MBR, доставшаяся по наследству со всей своей информацией, содержится в блоке LBA 0, оглавление GPT — в блоке LBA 1. В оглавлении содержится адрес блока, где начинается сама таблица разделов, обычно это следующий блок — LBA 2. Количество разделов не ограничено стандартом и зависит от операционной системы(([[http://www.howtogeek.com/193669/whats-the-difference-between-gpt-and-mbr-when-partitioning-a-drive/|What’s the Difference Between GPT and MBR When Partitioning a Drive?]].)) (технически ограничено порядка 264 разделами из-за разрядности полей). Так в Microsoft Windows в таблице разделов резервируется место для 128 записей по 128 байт каждая (в [[linux|GNU/Linux]] ядро поддерживает до 256 разделов((//Lingzhu Xiang.// [[http://superuser.com/a/585021/408086|linux - What is the maximum number of partitions with EFI?]] (англ.). Super User (19 April 2013). Проверено 5 апреля 2016.))). Таким образом для таблицы разделов в Windows резервируется 16 384 [[байт]] (при использовании сектора размером 512 байт это будет 32 сектора), так что первым используемым сектором каждого жёсткого диска в ней будет блок LBA 34. Кроме того, GPT обеспечивает [[резервирование|дублирование]] — оглавление и таблица разделов записаны как в начале, так и в конце диска. Теоретически, GPT позволяет создавать разделы диска размером до 9,4 [[зеттабайт|ЗБ]] (9,4 × 1021 байт) (при размере сектора 512 байт, иначе — больше), в то время как MBR может работать только до 2,2 [[терабайт|ТБ]] (2,2 × 1012 байт). GPT позволяет назначать разделам идентификаторы [[guid|GUID]], имена и атрибуты, независимо от внутренних [[uuid|UUID]] файловых систем, их меток и прочего, и позволяет обращаться по таким именам вместо менее удобных меток и номеров разделов. Благодаря поддержке Юникода в именах и щадящих ограничений на них, разделы могут быть названы на любом языке и сгруппированы по папкам((Для создания папок с разделом имя раздела должно содержать ''/'' и представлять относительный путь к разделу.)). =====Наследственный 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|GUID]] ([[английский-язык|англ.]] //Globally Unique IDentifier// — Глобально Уникальный Идентификатор) диска. В оглавлении также содержится его собственный размер и местоположение (всегда блок LBA 1), а также размер и местоположение вторичного (запасного) оглавления и таблицы разделов, которые всегда размещаются в последних секторах диска. Важно, что оно также содержит контрольную сумму [[crc32|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) |- | rowspan="7"| //(Нет)// | | Неиспользуемая запись данных | | ''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'' |- | rowspan="5"| [[microsoft-windows|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'' |- | rowspan="2"| [[hp-ux|HP-UX]] | | Раздел данных | | ''75894C1E-3AEB-11D3-B7C1-7B03A0000000'' |- | | Раздел Сервиса | | ''E2A1E728-32E3-11D6-A682-7B03A0000000'' |- | rowspan="9"| [[linux|Linux]] | Раздел данных | ''0FC63DAF-8483-4772-8E79-3D69D8477DE4'' |- | RAID раздел | ''A19D880F-05FC-4D3B-A006-743F0F84911E'' |- | Своп-раздел | ''0657FD6D-A4AB-43C4-84E5-0933C84B4F4F'' |- | Раздел Менеджера логических томов ([[lvm|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|LUKS]] | ''CA7D7CCB-63ED-4C53-861C-1742536059CC'' |- | Зарезервировано | ''8DA63339-0007-60C0-C436-083AC8230908'' |- | rowspan="6"| [[freebsd|FreeBSD]] | | Загрузочный раздел | | ''83BD6B9D-7F41-11DC-BE0B-001560B84F0F'' |- | | Раздел данных | | ''516E7CB4-6ECF-11D6-8FF8-00022D09712B'' |- | | Своп-раздел | | ''516E7CB5-6ECF-11D6-8FF8-00022D09712B'' |- | | Раздел UFS ([[unix-file-system|Unix File System]]) | | ''516E7CB6-6ECF-11D6-8FF8-00022D09712B'' |- | | Раздел менеджера томов Vinum | | ''516E7CB8-6ECF-11D6-8FF8-00022D09712B'' |- | | Раздел [[zfs|ZFS]] | | ''516E7CBA-6ECF-11D6-8FF8-00022D09712B'' |- | rowspan="9"| [[apple-mac-os-x|Mac OS X]] | Раздел HFS+ ([[hierarchical-file-system|Hierarchical File System]]) | ''48465300-0000-11AA-AA11-00306543ECAC'' |- | [[apple-computer|Apple]] [[unix-file-system|UFS]] | ''55465300-0000-11AA-AA11-00306543ECAC'' |- | [[sun-zfs|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'' |- | rowspan="13"| [[solaris|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'' |- | rowspan="5"| Зарезервированные разделы | | ''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'' |- | rowspan="6"| [[netbsd|NetBSD]] | Своп раздел | ''49F48D32-B10E-11DC-B99B-0019D1879648'' |- | Раздел [[fast-file-system|FFS]] | ''49F48D5A-B10E-11DC-B99B-0019D1879648'' |- | Раздел [[lfs|LFS]] | ''49F48D82-B10E-11DC-B99B-0019D1879648'' |- | Раздел RAID | ''49F48DAA-B10E-11DC-B99B-0019D1879648'' |- | Соединённый раздел | ''2DB519C4-B10F-11DC-B99B-0019D1879648'' |- | Шифрованный раздел | ''2DB519EC-B10F-11DC-B99B-0019D1879648'' |- | rowspan="3"| [[chromeos|ChromeOS]] | | Ядро ChromeOS | | ''FE3A2A5D-4F32-41A7-B725-ACCC3285A309'' |- | | ChromeOS rootfs | | ''3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC'' |- | | Для будущего использования ChromeOS | | ''2E0A753D-9E48-43B0-8337-B15192CB1B5E'' |- | rowspan="1"| [[qnx|QNX]] | Power-safe (QNX6) file system(([[http://www.qnx.com/developers/docs/660/index.jsp?topic=%2Fcom.qnx.doc.neutrino.user_guide%2Ftopic%2Ffsystems_QNX6_filesystem.html|QNX Power-safe filesystem]])) | ''CEF5A9AD-73BC-4601-89F3-CDEEEEE321A1'' |} Примечание 1: GUID для раздела данных [[linux|Linux]] ранее являлся дубликатом GUID для раздела основных данных [[microsoft-windows|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|Linux]] был изменён на другой, в старых версиях parted используется нестандартная кодировка имён). * Не предусмотрено возможности назначать имя всему диску, как отдельным разделам (хотя у него есть свой GUID). * По-прежнему сильна привязка раздела к его номеру в таблице (например, многие загрузчики ОС предпочитают номер именам и GUID). * Количество дубликатов таблиц строго ограничено двумя, их позиции зафиксированы, что в случае повреждения диска, ошибок администрирования или ошибок программ недостаточно для удобного восстановления данных. * Ни резервная копия GPT, ни основная не позволяют аннулировать другую копию в случае если та неверна, но имеет правильную контрольную сумму и не может быть стёрта (то есть, не предусмотрено защиты от плохих блоков, какая давно есть во многих ФС). =====См. также===== * [[главная-загрузочная-запись|Главная загрузочная запись]] =====Ссылки===== * Microsoft TechNet: [[http://technet2.microsoft.com/windowsserver/en/library/bdeda920-1f08-4683-9ffb-7b4b50df0b5a1033.mspx?mfr=true|Disk Sectors on GPT Disks]] * Microsoft TechNet: [[http://www.microsoft.com/whdc/device/storage/GPT-on-x64.mspx|Using GPT Drives on x86-64 Systems]] * [[http://blog.nigmatullin.net/2009/08/gpt-vs-mbr.html|GPT vs MBR]] {{tag>BIOS "Загрузка компьютера"}}