Что такое раздел gpt
GPT и MBR. В чём суть и отличие стилей разделов жёсткого диска
Что такое GPT- и MBR-диски? С этими понятиями впервые сталкиваются обычно либо в процессе инициализации только что приобретённых новых жёстких дисков, либо в процессе переустановки Windows, когда при выборе места для установки получают внезапно ошибку «Установка Windows на данный диск невозможна». В сообщении из которой, далее следует одно из пояснений ошибки:
Ниже будем детально разбираться в этих двух понятиях.
Что такое GPT и MBR
GPT и MBR – эти стили разделов жёсткого диска, их также называют стили разметки или таблицы разделов диска. Всё это синонимы одного понятия — способа хранения сведений о разделах жёсткого диска. Сведений о начале и конце разделов, а также о принадлежности каждому из них секторов, об их атрибутах (основной, логический и пр.), о том, какой из разделов является загрузочным и т.п.
Если мы подключим к компьютеру новый или старый, но пустой жёсткий диск, он не будет видеться системой Windows, пока мы его не проинициализируем в управлении дисками – входящей в состав операционной системы утилитой diskmgmt.msc (или с помощью сторонних и разнообразных менеджеров дисков). В штатном управлении дисками инициализация подключённых пустых носителей запускается автоматически при открытии утилиты. И система предлагает нам указать, какой мы хотим задать стиль разделов:
В окне инициализации Windows подсказывает нам, какой из стилей выбрать опцией предустановки. И выходит система из текущих условий своей работы – на диске с каким стилем разметки она установлена, в таком и предлагает проинициализировать новый носитель данных.
MBR – старый стиль, GPT же современный, более совершенный. В чём именно их разность?
Тип BIOS
Работать с незагрузочными дисками GPT и MBR можно на любых компьютерах. А вот загружать с них операционную систему – нет. Чтобы была возможна загрузка с GPT-диска, материнская плата компьютера должны быть с BIOS UEFI. Ну или как минимум с гибридным BIOS с реализацией ПО EFI в части поддержки дисков GPT. Это большая часть материнок ПК и ноутбуков, выпущенных после 2012 года. При этом в BIOS должен быть активен либо сам режим UEFI, либо режим совместимости с обычной BIOS Legacy, если таковой поддерживается.
А чтобы компьютер мог загружаться с MBR-дисков, в BIOS должен быть выставлен либо, опять же, режим совместимости двух типов BIOS, если он предусматривается, либо только Legacy.
В довольно скором будущем производители материнок ПК и ноутбуков откажутся от совместимости с BIOS Legacy, и устройства будут поставляться только с прошивкой UEFI. Например, компания Intel заявляет, что сделает это уже после 2020 года. Так что таймер отсчёта отправки MBR на свалку истории уже запущен.
Типы разделов
На MBR-дисках доступно создание не более 4-х основных разделов – таковых, с которых возможна загрузка системы Windows. Если разделов нужно создать больше, основными могут быть только трое, а все остальные должны быть логическими, с которых запуск Windows невозможен.
Тогда как на GPT-дисках этой заморочки нет – на нём все разделы основные, и их может быть аж 128 штук.
Видимый объём носителя
Стиль MBR не позволяет увидеть объём носителя данных больше 2,2 Тб. Если же у носителя больший объём, ему принципиально нужна GPT-разметка.
Быстродействие и восстановление данных
MBR как способ хранения сведений о разделах жёсткого диска предусматривает такое хранение сведений в одном месте. Что делает и Windows, и наши данные уязвимыми к сбоям, влекущим за собой ошибки записи этих сведений. Тогда как GPT хранит эти сведения в нескольких местах, причём равномерно распределённых по всей поверхности носителя. Это делает Windows более устойчивой к последствиям сбоя во время записи системных данных, увеличивает шансы на восстановление пользовательских файлов, привносит небольшое быстродействие в работу HDD по считыванию данных.
У MBR и GPT разное обустройство загрузчика. У стиля GPT меньше стадий процедуры загрузки, потому Windows на таких дисках запускается немножко быстрее.
Совместимость Windows
На GPT-дисках могут работать только определённые ОС, так называемые EFI-системы – от названия ПО EFI, на базе которого функционирует прошивка UEFI. Это:
Работа 32-битных Windows, старой версии XP и ниже возможна только на дисках MBR.
Структура разделов Windows
У обычных систем Windows на MBR-дисках и EFI-систем на GPT-дисках разная по сути структура технических системных разделов. На MBR-дисках из числа системных разделов вообще может быть только единственный С, на котором размещены и сама Windows, и её загрузчик. Но чаще это схема, состоящая из двух разделов:
На GPT-дисках схема EFI-системы включает обычно три раздела:
Иногда схема может исключать раздел восстановления Windows или включать ещё один технический раздел MSR.
Загрузочные флешки UEFI
Чтобы на компьютере с активной BIOS UEFI переустановить Windows на диске GPT или просто запуститься с Live-диска для реанимации системы, загрузочную флешку необходимо создавать специальным образом. Как создавать загрузочные флешки для обоих типов BIOS – и UEFI, и Legacy, чтобы установить Windows на нужный стиль разметки диска, читайте в этой статье.
Только правильно создать флешку для UEFI мало. Во-первых, с неё нужно правильно загрузиться. Во-вторых, чтобы была возможной загрузка с установочной флешки Windows 7, в UEFI предварительно нужно отключить Secure Boot.
Как узнать, диск GPT или MBR
Какой у подключённых к компьютеру носителей информации стиль разметки — GPT или MBR? Как это узнать? В среде рабочей Windows сделать это можно средствами штатного управления дисками. Запускаем через поиск или команду «Выполнить» утилиту diskmgmt.msc. И смотрим структуру разделов Windows, как показано выше. Если носитель чисто для пользовательских данных, на нём нет Windows, вызываем на нём контекстное меню и смотрим неактивную функцию преобразования. Если это «Преобразовать в GPT-диск», следовательно, диск в стиле MBR. Если «Преобразовать в MBR», то, соответственно, у диска стиль GPT.
В разы проще эта информация представлена в бесплатной утилите Show Disk Partition Style от разработчика Sordum. Она портативная, просто скачиваем её, запускаем и видим простенькую табличку с указанием на стиль разметки всех подключённых к компьютеру носителей информации.
В интерфейсе продвинутых менеджеров управления дисками получим больше информации по любым аспектам носителей. Например, в одном из таковых — AOMEI Partition Assistant — увидим прямое указание на стиль разметки и на карте дисков, и в табличной их сводке.
Как создать GPT- и MBR-разметку
Жёсткий диск получает стиль разметки при инициализации средствами Windows или сторонними менеджерами. О чём, собственно, и говорилось в самом начале статьи. В процессе установки Windows на пустой диск – на незанятое пространство, стиль разметки задаётся автоматически.
Если в BIOS компьютера активен режим UEFI, то автоматически будет выбран стиль разметки GPT. Но ежели на компьютере нет UEFI или в BIOS указан режим Legacy, то автоматом выберется MBR.
Преобразование стилей разметки
GPT-диски могут преобразовываться (конвертироваться) в MBR, а диски MBR — в GPT. С участием штатных средств Windows этот процесс невозможен без потери разметки носителя и хранящихся на нём данных. А вот сторонние программы-менеджеры могут эту операцию проводить без потери разметки и данных носителя. А в отдельных случаях ещё без необходимости переустановки Windows. Детально о преобразовании стилей разметки читайте в отдельной статье блога.
Мобильные устройства изнутри. Что такое GPT?
Что такое GPT?
1. Введение
Продолжаем рассматривать строение программной части (software) мобильных устройств (МУ). Сегодня поговорим об устройстве GPT-раздела памяти. Написать об этом меня побудила публикация Изучаем структуры MBR и 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-схемой разметки, то оно увидит пустую неразмеченную память, состоящую только из раздела описания разметки. Соответственно, что-либо сделать с этой памятью ему не удасться.
Рис.1 «Защитная» MBR, т.е. PMBR
По адресу 0х01FE видна сигнатура MBR (0xAA55).
Перейдем к рассмотрению непосредственно структуры GPT-раздела.
2. Структура GPT
GPT-раздел состоит из PMBR, заголовка и таблицы описания разделов памяти.
Сразу за PMBR, т.е. с адреса 0х0200, располагается заголовок GPT, имеющий длину 0х5С (92) байта, но занимающий весь сектор (512 байт). Вот как он выглядит в том же МУ:
Рис.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, располагается таблица описания разделов, содержащая записи о каждом разделе памяти, включая и сам раздел разметки. Вот как она выглядит:
Рис.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 в стандартном варианте):
Рис.5 Заголовок Gpt-файла Intel-типа
и содержит следующие поля:
Поле Magic, отмеченное синим цветом, содержит число 0х6А8В0DA1, идентифицирующее образ GPT-раздела Intel-типа.
Поле StartLba, отмеченное красным цветом, содержит значение смещения размещения первого раздела памяти.
Поле Number, отмеченное зеленым цветом, содержит общее число разделов памяти, т.е. число записей таблицы описания разделов. Сама таблица расположена сразу после заголовка.
3.2. Структура записи описания нового GPT-раздела
Таблица описания разделов содержит записи, содержащие параметры каждого раздела памяти. Число записей равно числу разделов, а окончание таблицы ничем не отмечается.
Каждая запись имеет размер 108 (0x6C) байт, тогда как по UEFI она содержала 128 байт. Вот как выглядит запись описания раздела нового формата:
Рис.6 Запись описания раздела
и содержит следующие поля, описывающие параметры раздела:
Поле Size, выделенное на рис.6 синим цветом, содержит размер раздела, выраженный в Мб (1024 * 1024 = 1048576 байт).
Поле Label, выделенное на рис.6 красным цветом, содержит метку раздела, т.е. имя раздела, выраженное в кодировке UTF-16.
Поле GuidType, выделенное на рис.6 зеленым цветом, содержит GUID типа раздела.
Поле GuidPartition, выделенное на рис.6 желтым цветом, содержит GUID самого раздела.
4. Заключение
Изучив строение GPT-раздела разметки памяти МУ, можно приступить и к практическим занятиям.
В следующих публикациях я поделюсь опытом переразметки памяти МУ, выполненного по GPT-схеме.
UEFI/GPT-based hard drive partitions (Разделы жесткого диска в системе, использующей UEFI и GPT)
создавайте пользовательские макеты разделов для жестких дисков, твердотельных накопителей (ssd) и других дисков при развертывании Windows на устройствах на базе Единый интерфейс EFI (UEFI).
при использовании макета настраиваемого раздела для Windows 10 или Windows 11 для настольных выпусков (домашняя, Pro, Enterprise и образование) обновите сценарий восстановления с помощью кнопки, чтобы средства восстановления могли повторно создать макет настраиваемого раздела при необходимости.
Требования к разделам
при развертывании Windows на устройстве на основе UEFI необходимо отформатировать жесткий диск, содержащий раздел Windows, используя файловую систему gpt. Дополнительные диски могут использовать формат GPT или файл основной загрузочной записи (MBR).
Диск GPT может содержать до 128 секций.
Каждая секция может иметь не более 18 эксабайтам (
18 800 000 ТБ) пространства.
Системный раздел
Устройство должно содержать системный раздел. На дисках GPT это называется системным разделом EFI или ESP. Этот раздел обычно хранится на основном жестком диске. Устройство загружается в эту секцию.
Минимальный размер этой секции составляет 100 МБ, и его необходимо отформатировать в формате FAT32.
эта секция управляется операционной системой и не должна содержать другие файлы, в том числе Windows RE средства.
Для расширенного формата дисков объемом в машинном формате (4 КБ на сектор) минимальный размер составляет 260 Мб из-за ограничения формата файла FAT32. Минимальный размер раздела для дисков FAT32 вычисляется как размер сектора (4 КБ) x 65527 = 256 МБ.
Это ограничение не затрагивает диски расширенного формата 512e, так как их размер эмулированного сектора составляет 512 байт. 512 байт x 65527 = 32 МБ, что меньше, чем минимальный размер в 100 МБ для этой секции.
Зарезервированный раздел Майкрософт (MSR)
в Windows 10 размер MSR составляет 16 мб.
Добавьте MSR на каждый диск GPT, чтобы упростить управление секциями. MSR — это зарезервированная секция, которая не получает идентификатор секции. Он не может хранить данные пользователя.
Другие разделы служебной программы
любые другие разделы служебной программы, не управляемые Windows, должны располагаться перед разделами образа Windows, данных и восстановления. это позволяет конечным пользователям выполнять такие действия, как изменение размера раздела Windows, не влияя на системные программы.
Защитите конечных пользователей от случайного изменения разделов служебной программы, определив их с помощью атрибута GPT. Это предотвращает отображение этих разделов в проводнике.
Задание секций в качестве разделов служебной программы
Проверка существования системных и служебных разделов
раздел Windows
Раздел средств восстановления
Этот раздел должен иметь по крайней мере 300 МБ.
для инструментов Windows среды восстановления (Windows RE) требуется дополнительное свободное место:
При вычислении свободного места Обратите внимание на следующее.
средства восстановления должны находиться в отдельном разделе, чем раздел Windows для поддержки автоматической отработки отказа и для поддержки загрузки секций, зашифрованных с помощью Windows шифрование диска BitLocker.
рекомендуется размещать эту секцию сразу после Windows секции. это позволяет Windows изменить и повторно создать секцию позже, если для последующих обновлений требуется более крупный образ восстановления.
Секции данных
рекомендуемый макет раздела для Windows 10 не включает секции данных. однако если требуются секции данных, их следует поместить после раздела Windows RE. это позволяет будущим обновлениям Windows RE увеличивать секцию Windows RE, уменьшая Windows секцию.
этот макет затрудняет удаление секции данных конечными пользователями и объединяет пространство с Windows секцией. для этого Windows RE секцию необходимо переместить в конец неиспользуемого пространства, освобожденного из секции данных, чтобы можно было расширить Windows секцию.
Windows 10 не включает функции или служебную программу для упрощения этого процесса. Однако изготовители могут разрабатывать и предоставлять такую служебную программу, если компьютеры поставляются с секциями данных.
Разметка раздела
разметка разделов по умолчанию для компьютеров на основе UEFI: системный раздел, MSR, Windowsный раздел и раздел средств восстановления.
этот макет позволяет использовать Windows шифрование диска BitLocker через Windows и через среду восстановления Windows.
примеры файлов. настройка разделов диска с помощью Windows сценариев PE и DiskPart
для развертывания на основе образа загрузите компьютер в Windows PE, а затем с помощью средства DiskPart создайте структуры разделов на целевых компьютерах.
в этих примерах DiskPart разделам назначаются буквы: System = S, Windows = W и Recovery = R. Раздел MSR не получает букву диска.
измените букву Windows диска на букву, расположенную ближе к концу алфавита, например W, чтобы избежать конфликтов букв диска. не используйте X, так как эта буква диска зарезервирована для Windows PE. после перезагрузки устройства разделу Windows присваивается буква C, а другие разделы не получают буквы дисков.
при перезагрузке Windows среда предустановки переназначит буквы дисков в алфавитном порядке, начиная с буквы C, без учета конфигурации в программа установки Windows. Эта конфигурация может изменяться в зависимости от наличия различных дисков, например флэш-накопителей USB.
Следующие шаги описывают разделение жестких дисков и подготовку к применению образов. Для выполнения этих действий можно использовать код в следующих разделах.
Создание разделов на жестких дисках и подготовка к применению образов
Скопируйте и сохраните файл CreatePartitions-UEFI.txt на флэш-накопителе USB.
используйте Windows PE для загрузки конечного компьютера.
Очистите диск и разбейте его разделы. В этом примере F — буква флэш-накопителя USB.
Чтобы избежать проблем с загрузочным восстановлением исходного состояния системы из-за размера раздела, изготовители должны разрешить сценарию автоматического формирования функции восстановления исходного состояния компьютера создать раздел, используемый для восстановления WIM. Если изготовителю требуется использовать настраиваемый сценарий DISKPART для создания секций, рекомендуемый минимальный размер раздела — 990MB с минимальным 250 МБ свободного пространства.
Дальнейшие действия
используйте скрипт развертывания, чтобы применить Windows образы к только что созданным секциям. дополнительные сведения см. в разделе захват и применение разделов Windows, систем и восстановления.