что такое система gpt

Мобильные устройства изнутри. Что такое GPT?

Что такое GPT?

1. Введение

Продолжаем рассматривать строение программной части (software) мобильных устройств (МУ). Сегодня поговорим об устройстве GPT-раздела памяти. Написать об этом меня побудила публикация Изучаем структуры MBR и GPT, вместо того, чтобы писать комментарии к ней. Я хотел бы не поругать или поправить автора, а дополнить вышеуказанную публикацию с уклоном в МУ.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Итак, GPT (GUID Partition Table) это:

Как устроена MBR-схема разметки можно посмотреть в [1], а GPT это другой формат описания разметки памяти — GUID (GUID Partition Table). Он является частью EFI (Extensible Firmware Interface) — стандарта UEFI, используемого вместо BIOS для загрузки разделов памяти.

Переход на другой формат позволил устранить самый существенный недостаток MBR-формата — малое число разделов. Если в MBR помещалось только 4 записи с ограничением на длину раздела и его смещение из-за того, что эти параметры описывались 32-разрядными числами, то в GPT можно разместить 128 записей о разделах. Причем их параметры уже описываются в 64-разрядной системе счисления…

Для совместимости со старым стандартом загрузки (BIOS) и с целью защиты самой таблицы описания разделов памяти GPT-раздел тоже начинается с MBR, которая описывает всего один раздел — всю память МУ. Сама MBR называется теперь «защитной» (protective), т.е. PMBR. Она располагается тоже в первом секторе памяти по адресу 0х0000-0х01FF (512 байт). Поле Смещение указывает на начало заголовка GPT, а размер раздела устанавливается равным длине всей памяти устройства. Тип раздела имеет значение 0хEE (GPT-раздел).

Суть защиты GPT-раздела да и всей памяти МУ сводится к следующему. Если такой раздел откроет средство работы с MBR-схемой разметки, то оно увидит пустую неразмеченную память, состоящую только из раздела описания разметки. Соответственно, что-либо сделать с этой памятью ему не удасться.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Рис.1 «Защитная» MBR, т.е. PMBR

По адресу 0х01FE видна сигнатура MBR (0xAA55).

Перейдем к рассмотрению непосредственно структуры GPT-раздела.

2. Структура GPT

GPT-раздел состоит из PMBR, заголовка и таблицы описания разделов памяти.

Сразу за PMBR, т.е. с адреса 0х0200, располагается заголовок GPT, имеющий длину 0х5С (92) байта, но занимающий весь сектор (512 байт). Вот как он выглядит в том же МУ:

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Рис.2 Заголовок GPT

Он имеет следующую структуру:

Поле Magic содержит строка символов «EFI PART» — 45h 46h 49h 20h 50h 41h 52h 54h, которая выделена на рис.2 бирюзовым цветом и однозначно идентифицирует GPT-раздел.

Поле Revision, выделенное зеленым цветом, содержит номер версии структуры GPT-раздела (0х00010000). Например, для GPT версии 1.0 должно быть 00h 00h 01h 00h

Поле HeaderSize, выделенное оранжевым цветом, содержит размер заголовка, выраженный в байтах. Пока это 0х0000005Ch, что означает 92 байта.

Поле HeaderCRC32, выделенное розовым цветом, содержит контрольную сумму заголовка (0x09BE8E1F), расчитанную по алгоритму CRC32. При непосредственном выполнении расчета учитываются только 92 байта, а в это поле перед расчетом заносится 0.

Следующее поле Reserved1 никак не выделено, является резервным и содержит 0.

Поле MyLBA, выделенное темно-синим цветом, содержит смещение в блоках размещения первичного GPT-раздела (0х00000001).

Поле AlternateLBA содержит смещение в блоках размещения резервного GPT-раздела. Оно не указано.

Поле FirstUsableLBA, выделенное красным цветом, содержит смещение в блоках размещения первого разрешенного для использования сектора памяти (0х00000022). Расчитывается так: LBA последнего сектора, занятого первичным GPT-разделом, + 1.

Поле LastUsableLBA содержит смещение размещения последнего сектора памяти, разрешенного для использования. Расчитывается так: LBA первого сектора резервного GPT-раздела — 1. Оно не указано.

Поле DiskGUID, выделенное голубым цветом, содержит GUID прошивки.

Поле PartitionsLBA, выделенное красным цветом, содержит смещение начала GPT. В первичном всегда равен 2, а в резервном равен LastUsableLBA.

Поле NumberParts, выделенное ярко-зеленым цветом, содержит размер таблицы описания разделов, т.е. число записей о разделах (0х00000018).

Поле PartitionSize, выделенное розовым цветом, содержит размер одной записи о разделе в байтах. Согласно UEFI Specification размер записи фиксирован и составляет 128 байт или 0х00000080.

Поле PartitionsCRC, выделенное красным цветом, содержит контрольную сумму таблицы описания разделов (0x93D54D33), расчитанную по алгоритму CRC32. При выполнении расчета учитываются все байты, начиная с PartitionsLBA и до FirstUsableLBA.

Поле Reserved2 содержит резервное поле. Содержит 0 до конца сектора, т.е. 420 байт для сектора размером 512 байт.

Непосредственно сразу за заголовком, начиная с адреса 0х400, располагается таблица описания разделов, содержащая записи о каждом разделе памяти, включая и сам раздел разметки. Вот как она выглядит:

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt
Рис.3 Таблица описания разделов

Каждая запись размером 128 байт имеет следующую структуру:

Поле PartitionTypeGUID, выделенное красным цветом, содержит GUID типа раздела, который определяет файловую систему, используемую для хранения данных в этом разделе. Каждая файловая система получает свой GUID, однозначно её идентифицирующий. Стандарт UEFI жестко определяет только следующие GUID типов разделов:

Поставщикам ОС (vendors) нужно генерировать свой собственный GUID типа раздела, чтобы идентифицировать их. Некоторые известные GUID можно посмотреть в [3].

При записи в память или в файл-образ значение GUID записывается в другом порядке. Например, GUID системного раздела EFI имеет следующий вид: C12A7328-F81F-11D2-BA4B-00A0C93EC93B. Порядок записи байтов в написаниях GUID является little-endian, причем задом наперед пишутся байты только в первых трех блоках. Для приведенного выше GUID запись в таблице разделов будет иметь такой вид:

Поле UniquePartitionGUID, выделенное синим цветом, содержит GUID раздела. Является уникальным идентификатором раздела, поэтому создается каждый раз, когда создается раздел.

Поле StartingLBA, выделенное зеленым цветом, содержит смещение в блоках на первый сектор раздела (0x00020000).

Поле EndingLBA, выделенное оранжевым цветом, содержит смещение на последний сектор раздела (0x0003FFFF). При этом размер раздела (PartitionSize) определяется по формуле

Поле Attributes, выделенное фиолетовымым цветом, содержит атрибуты (флаги) раздела. 8 байт (64 бита) флагов распределены следующим образом. Биты с 0 по 47 (48 шт.) отведены под общие атрибуты типов разделов, а остальные 16 битов (с 48 по 63) описывают конкретный раздел.

Вот небольшое описание этих битов:

Поле PartitionName, выделенное синим цветом, содержит метку раздела («modem»), содержащую строку текста с завершающим нулем числом не более 36 символов, выраженную в кодировке UTF-16LE.

Все, что такое GPT мы уже знаем, только это стандартная структура GPT-раздела. Оказывается, имеется и модификация…

Т.к. я обнаружил GPT-раздел другой структуры при работе с МУ на основе чипа Intel, то я и назвал ее GPT-раздел типа Intel.

3. Что такое GPT-раздел типа Intel?

Прошивка новых мобильных устройств (МУ) Lenovo, выполненных на основе чипов Intel, имеет Gpt-схему разметки памяти, но структура самого Gpt-файла отличается от стандартной, описанной в [1]. Это касается, например, устройств YOGA BOOK YB1-X90.

По сравнению со стандартной структурой Intel-тип сокращен до максимума:

GPT-раздел, как и стандартный, состоит из:

Рассмотрим строение заголовка.

3.1. Структура заголовка нового GPT-раздела.

Заголовок имеет размер всего 12 (0x0C) байт (против 512 в стандартном варианте):

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt
Рис.5 Заголовок Gpt-файла Intel-типа

и содержит следующие поля:

Поле Magic, отмеченное синим цветом, содержит число 0х6А8В0DA1, идентифицирующее образ GPT-раздела Intel-типа.

Поле StartLba, отмеченное красным цветом, содержит значение смещения размещения первого раздела памяти.

Поле Number, отмеченное зеленым цветом, содержит общее число разделов памяти, т.е. число записей таблицы описания разделов. Сама таблица расположена сразу после заголовка.

3.2. Структура записи описания нового GPT-раздела

Таблица описания разделов содержит записи, содержащие параметры каждого раздела памяти. Число записей равно числу разделов, а окончание таблицы ничем не отмечается.

Каждая запись имеет размер 108 (0x6C) байт, тогда как по UEFI она содержала 128 байт. Вот как выглядит запись описания раздела нового формата:

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt
Рис.6 Запись описания раздела

и содержит следующие поля, описывающие параметры раздела:

Поле Size, выделенное на рис.6 синим цветом, содержит размер раздела, выраженный в Мб (1024 * 1024 = 1048576 байт).

Поле Label, выделенное на рис.6 красным цветом, содержит метку раздела, т.е. имя раздела, выраженное в кодировке UTF-16.

Поле GuidType, выделенное на рис.6 зеленым цветом, содержит GUID типа раздела.

Поле GuidPartition, выделенное на рис.6 желтым цветом, содержит GUID самого раздела.

4. Заключение

Изучив строение GPT-раздела разметки памяти МУ, можно приступить и к практическим занятиям.

В следующих публикациях я поделюсь опытом переразметки памяти МУ, выполненного по GPT-схеме.

Источник

GPT и MBR: Что это такое, как определить и конвертировать разметку диска

Простыми словами о сложном — что такое MBR и GPT, как работают разметки и как преобразовать одну в другую? Обо всем этом подробно вы можете узнать в нашей статье.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Содержание статьи:

Назначение MBR и GPT разметки носителя данных

MBR (Master Boot Record) и GPT (GUID Partition Table) представляют собой два разных способа хранения информации о разделах на жестком диске. Данная информация включает в себя как сведения о принципе работы накопителей, так и определяет какой раздел станет загрузочным для системы.

Перед тем как приступать к работе с Windows и выбирать предложенный раздел по умолчанию, стоит взвесить все за и против. Стандартный вариант не всегда может стать оптимальным.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

В этой статье мы разберем что из себя представляют разметки GPT и MBR, какая из них лучше, приведем способ определения уже существующих разметок и как их изменить на более подходящие.

Что такое MBR на жестком диске

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Главная загрузочная запись (Master Boot Record, MBR) — представляет собой код и набор данных, необходимый для последующей загрузки операционной системы. Применялась с 1983 года вплоть до введения в эксплуатацию UEFI схемы GPT в 2010-м году.

Как вы помните, ранее в ходу были компьютеры с операционной системой, которая поддерживала только 32-битный формат. При запуске этих машин, первым в работу вступает BIOS (MBR использует версию Legacy) и далее происходит выбор устройства, с которого будет произведен последующий запуск. Это может быть дискета, жесткий диск или любой указанный в настройках сетевой ресурс. В случае же, если в компьютере установлен только один раздел, выбор будет однозначен и загрузка произойдет только с единственного уникального устройства.

Master Boot Record работает с дисками размером до 2 Тб и не поддерживает носители, превышающие этот порог. Кроме того, MBR поддерживает только до 4 основных разделов. Если вам нужно больше, придется один из основных блоков сделать расширенным. Это приведет к потере одного из разделов, который сольется с основным, выбранным вами.

Legacy BIOS, с которым работает MBR, характеризуется следующими особенностями:

В 2020 году Master Boot Record морально устарел и не подходит для использования на современных компьютерах. Почти все они используют GPT.

Что такое GPT на HDD и SSD дисках

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Понятие GPT состоит из трех сокращенных слов — GUID Partition Table. Согласно Википедии, GPT — это стандарт формата размещения таблиц разделов на физическом жестком диске. Он является частью расширяемого микропрограммного интерфейса (Unified Extensible Firmware Interface, UEFI) — стандарта, предложенного Intel на замену BIOS. Таким образом, GUID Partition Table — это новое поколение разметок дисков, пришедшее на смену устаревшей MBR.

Диск GPT состоит из трех частей:

В GPT больше не используется привычный нам BIOS. Данное “предзагрузочное” состояние по прежнему продолжают так именовать, по памяти, но официально оно имеет совершенно другое название — UEFI. И оно имеет существенные отличия, в сравнении с предшественником:

На сегодняшний день, GUID Partition Table является единственной подходящей разметкой для полноценной работы компьютера. Работает разметка только в сочетании с UEFI, в то время как MBR кооперирует только с Legacy BIOS.

Как определить разметку диска

Определить разметку жесткого диска или твердотельного накопителя довольно просто. Для этого нужно воспользоваться утилитой “Управление дисками” или же командной строкой. Начнем мы с самого простого.

Определение разметки с помощью утилиты “Управление дисками”

1. Щелкните правой кнопкой мыши по меню пуск или используйте комбинацию клавиш Windows + X.

2. Откройте утилиту Управление дисками.

3. В новом окне вы увидите полный список подключенных устройств, который включает в себя как физические диски, так и их логические разделы.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

4. Далее нужно открыть свойства диска. Но не торопитесь кликать по физическим и логическим разделам (в верхней части окна). Через них нельзя получить доступ к нужной информации. Вместо этого обратите внимание на нижнюю часть и выберите нужный физический диск.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

5. Щелкните по диску правой кнопкой мыши и откройте Свойства.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

6. В новом окне найдите вкладку Тома и кликните по ней.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

7. Обратите внимание на блок Стиль раздела. Он содержит информацию о разметке вашего диска. В нашем случае это Таблица GUID.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Определение разметки с помощью командной строки

Второй способ определить разметку жесткого диска — использование командной строки. Он менее удобен и требует знания вводимых команд. Тем не менее, результативность способа от этого не страдает.

1. Откройте командную строку от имени администратора.

2. Введите команду diskpart и нажмите Enter.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

3. Далее введите команду list disk.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

4. Обратите внимание на представленный список дисков. Если ваше устройство работает с разметкой GPT, оно будет отмечено символом “*” (звездочкой). Иногда индикатор может смещаться в сторону.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Конвертация MBR в GPT и обратно

Чтобы преобразовать MBR диск в GPT или GPT в MBR, вам понадобится вайпнуть его содержимое. То есть удалить. Поэтому рекомендую сначала сделать бэкап важных файлов и трижды все перепроверить, прежде чем приступать к конвертации. В процессе преобразования, описанном ниже, диск сотрет всю информацию на диске, включая файлы и таблицы раздела, а затем восстановится с обновленной разметкой.

Для того чтобы преобразовать один тип разметки в другой, рекомендуем скачать и установить приложение Acronis Disk Director.

1. Запустите приложение.

2. Выберите диск, который нужно преобразовать.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

3. Щелкните по номеру диска и выберите действие Преобразовать в MBR/GPT. Обратите внимание! Кликать нужно именно по нумерации диска, а не по его названию или букве.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

4. Подтвердите действие. Не переживайте, данный процесс работы проходит в режиме “подготовки”. Если вы передумаете, предварительные настройки перед запуском конвертации можно отменить и диск не перенесет какие-либо изменения.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

5. Щелкните по клавише Применить ожидающие операции и дождитесь завершения процесса преобразования. Это отнимет не больше пары минут.

Одна технология смещает другую. Так было и всегда будет. Раньше и MBR казалось чем-то невероятным, но не так давно GPT практически вытеснил своего предшественника из конкурентов и занял лидирующую позицию в списке доступных пользователю разметок. Может быть в ближайшие годы мы увидим что-то новое.

Похожие статьи про восстановление данных:

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Как создать, использовать и восстановить данные с виртуального жесткого диска VHD в Windows 10

Узнайте что такое виртуальный жесткий диск (VHD), как его создать, применить на практике и, при необ.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Как определить состояние жесткого диска — атрибуты S.M.A.R.T

В этой статье мы рассмотрим S.M.A.R.T.-атрибуты жесткого диска, по которым вы легко сможете определи.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Как восстановить удаленный раздел диска компьютера или ноутбука

К сожалению, возникновение не каждой неполадки можно предотвратить. Даже если вы со всем вниманием и.

Источник

Разбираемся с UEFI и GPT: установка Windows и Kubuntu на один диск

Помните те времена, когда BIOS был 16-битным с адресным пространством в 1 Мб, а вся информация о загрузчиках писалась в MBR? На смену уже давно пришли более гибкие технологии: UEFI (замена BIOS), и GPT (замена MBR).

Предыстория: Понадобилось мне недавно на свой домашний десктоп поставить 2 системы, чтобы разграничить окружение. Kubuntu для разработки на Ruby on Rails (ибо работаю удаленно), и Windows для всяких игрушек в свободное время. Хочу заметить, что несколько лет назад это было достаточно просто: один раздел для винды и один раздел для линукса, загрузчик записывался в MBR. Однако, технологии не стоят на месте, и оказалось, что настройка dual boot’а теперь несколько изменилась.

Итак, начнем.

Терминология

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Что делаем:

Разбивка диска

Сначала устанавливаем Windows 8, т.к. она автоматически будет использовать GPT.
Разбивка будет выглядеть так (пардон за кривой снимок):

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Пропустим саму установку Windows, т.к. в ней все стандартно и понятно.

Теперь загрузимся с USB в Kubuntu Live.

Проверим EFI раздел:

Boot0000 — виндовый загрузчик
Boot0001 — дефолтный загрузчик
Boot0003 — флешка с Kubuntu Live
Обратите внимание, что список загрузчиков не привязан к одному физическому диску как в MBR. Он хранится в NVRAM.

Можем также сразу посмотреть, что же в этом разделе, подмонтировав его:

Там окажутся следующие файлы:

Убедились, что все хорошо. Теперь продолжаем разбивку диска (через KDE Partition Manager).

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Нам осталось только отформатировать раздел для Kubuntu в ext4, и выделить раздел под swap.

Несколько слов про swap. Рекомендуют на swap выделять от SQRT(RAM) до 2xRAM. Т.к. у меня 16 Гб RAM, то по минимуму мне надо 4 Гб свопа. Хотя я с трудом могу представить ситуации, при которых он будет использоваться: десктоп в hibernate я не перевожу, и сильно тяжелых программ, которые жрут больше 16 гигов, не использую.

P.S. При форматировании раздела в swap Partition Manager может выдать ошибки, которые связаны с тем, что Kubuntu автоматически монтирует в себя любой swap раздел, однако на результат эти ошибки не влияют.

Итак, финальная разбивка:

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Теперь самое главное для правильного dual boot’а. При установке Kubuntu важно выбрать, куда установить загрузчик:

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Указываем, конечно же на раздел EFI.

После завершения установки Kubuntu, заходим в систему и проверяем, какие файлы появились на efi разделе (монтировать уже не нужно):

Смотрим, как теперь выглядит список загрузчиков:

Вот как это выглядит при загрузке:

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

А еще эти загрузчики доступны сразу из UEFI (в старом BIOS’е такое было бы невозможно — там был выбор только диска, он просто не знал, что такое загрузчики):

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

Ну и напоследок: чтобы dual boot правильно работал, в Windows надо обязательно отключить fast boot. Это такая нехорошая фича, которая может привести к потере данных.

что такое система gpt. Смотреть фото что такое система gpt. Смотреть картинку что такое система gpt. Картинка про что такое система gpt. Фото что такое система gpt

При выключении компьютера Windows сохраняет файловую структуру NTFS разделов в файл (видимо, потому что один файл прочитать быстрее, чем сканировать много разных файлов). Если записать файл на NTFS раздел через линукс, и потом загрузиться в Windows, то Windows просто не увидит файл. Источник

Если выключить комп через Windows, и потом попытаться загрузить Linux, то он просто не запустится из-за «ошибки» NTFS. Источник

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *