что такое uefi и gpt
MBR или GPT? Что такое структуры накопителей и чем отличаются
Содержание
Содержание
Компьютер, жесткий диск, операционная система — для современного человека, это обыденные вещи. Но все самое интересное, заставляющее компьютер работать так, как мы
к тому привыкли, остается «за кадром». Сегодня поговорим об одной из вещей, которая позволяет существовать разделам на нашем накопителе — способе описания разделов, она же таблица разделов.
Таблица разделов — это структура, где содержится информация обо всех разделах на диске: как он называется (Label), откуда начинается, где заканчивается, какой объем имеет и т.д. Рассмотрим два различных варианта таких таблиц, а именно MBR и GPT.
MBR (Master Boot Record — главная загрузочная запись) непосредственным образом участвует в загрузке операционной системы. Но, кроме этого, она хранит и информацию, позволяющую описать разделы на компьютере. Чтобы объяснить, почему это работает так, а не иначе, и имеет определенные особенности/ограничения, придется немного углубиться в структуру MBR.
Если сигнатура не равна 55AAh, значит, MBR поврежден. В MBR процесс загрузки тесно связан с разделами диска, так как хранятся они «вместе».
Пусть процесс загрузки и не относится к теме материала, упрощенно и кратко расскажем
о нем. После выполнения определенных операций, BIOS читает первый сектор накопителя,
в котором и находится наша главная загрузочная запись. Выполняется код загрузчика, который просматривает таблицу разделов, и передает управление загрузчику операционной системы, который уже ее и загружает.
Вернемся к нашей таблице разделов. На нее выделено 64 байта, разделенных на 4 записи, по 16 байт.
Одна запись — это один раздел, из чего происходит первое ограничение MBR — максимальное число разделов на диске не может быть больше четырех. Но это утверждение правда лишь наполовину: нельзя создать больше четырех основных разделов. Но об этом чуть позже, сейчас же посмотрим на структуру самой 16-ти битной записи.
Самый первый бит в записи обозначает признак активности раздела — т.е. признак того, что операционную систему следует загружать именно из этого раздела — и может иметь значения 80h (раздел активен) и 00h (раздел не активен). Установленная операционная система должна находиться именно на активном разделе. Данное правило справедливо для стандартного загрузчика ОС семейства Windows — NTLDR, а вот для UNIX-систем это нужно не всегда.
А теперь переместимся в конец записи — к последним четырем байтам. Именно они в ответе за самое известное ограничение, связанное с использованием MBR — максимальный размер раздела.
На описание количества секторов в разделе отводится 4 байта, следовательно количество секторов ограничено величиной 232, где степень — это количество бит описания (4 байта = 32 бита). Поскольку размер сектора равен 512 бит, то максимальный размер раздела, который можно описать в таблице разделов MBR, составляет 232 x 512 = 2 ТБ. Те самые «два терабайта», набившие оскомину. Это техническое ограничение не обойти.
Расширенный раздел
Но давайте вернемся к тому, что максимальное количество разделов в таблице разделов ограничено четырьмя. Чтобы это обойти, был придумал особый тип раздела — расширенный (Extended Partition). Внимательный читатель заметил, что из 16 байт описания раздела один отведен именно под указание его типа. Для расширенного раздела там прописывается 0Fh (для современный Windows систем).
Расширенный раздел сильно отличается от остальных типов разделов. Он описывает не раздел, а некое пространство, где находятся логические диски. Наглядно это можно изобразить примерно так.
На рисунке видно, что на логическом диске находится один основной и один расширенный раздел. «Внутри» расширенного раздела создано шесть логических дисков (хотя в силу определенных причин во многих случаях будет использоваться термин «логический раздел»). Для созданных таким образом разделов есть некоторые ограничения, по сравнению
с основными. Например, они не могут быть активными.
GPT (GUID Partition Table) — таблица разделов GUID, создана для замены MBR и является частью UEFI, который в свою очередь пришел на замену BIOS. В новой версии таблицы разделов постарались убрать ограничения и недочеты MBR, которые были неявны на момент ее создания, но проявились с развитием технологий.
Как видно из расшифровки, основа GPT — GUID — Globally Unique Identifier — 128-битный статистически уникальный идентификатор. Уникальность здесь не стопроцентная, но поскольку количество вариантов равно 2 в 128 степени, то вероятность получить одинаковые GIUD (например, для разделов) крайне мала. Выглядит он как последовательность из 32 шестнадцатеричных цифр, разделенных на группы.
024DEE41-33E7-11D3-9D69-0008C781F39F — пример того, как выглядит GUID раздела с MBR.
Ниже вы можете видеть схематическое изображение структуры GPT. Кратко рассмотрим ее.
В первом физическом блоке диска, а точнее в блоке LBA0, поскольку GPT оперирует именно LBA адресами, расположен защитный (Protective) MBR. Его основное назначение — «защита» структуры диска благодаря обеспечению совместимости с устаревшим программным обеспечением, работающим с MBR, но «не знающем» о GPT.
В LBA1 находится основной заголовок GPT. В нем содержатся различные данные, например, где начинается и заканчивается область для размещения разделов, а также контрольные суммы самого заголовка и таблицы разделов, по которым происходит проверка их целостности.
Далее, начиная с блока LBA2, находится массив записей о разделах на диске. Каждая такая запись имеет размер 128 байт (размер может меняться в большую сторону), а на весь массив выделяется 16384 байта, что дает 32 LBA (для 64-битных ОС Windows). Таким образом, можно создать до 128-ми разделов.
Именно в каждой записи указывается GUID раздела, типа раздела, стартовый и конечный блоки (LBA) раздела. На последние выделяется по 8 бит данных, что теоретически позволяет создать раздел размером до 9,4 ЗБ (Зеттаба́йт, 1021). Фактически, размер раздела ограничен используемой ОС.
Достоинства и недостатки MBR и GPT
Итак, попробуем обобщить все вышесказанное в более краткой форме, указав сильные
и слабые стороны обоих решений.
Плюсы
Минусы
Плюсы
Минусы
Нет сомнений, что за GPT будущее. Его использование в современных ПК позволяет не думать о том, что в последующем можно натолкнуться на какие-либо ограничения. С другой стороны, на данный момент, обычный среднестатистический пользователь может с одинаковым успехом использовать любой из двух вариантов, и не замечать никакой разницы, если диски в его ПК не больше 2 ТБ.
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, систем и восстановления.
Разбираемся с UEFI и GPT: установка Windows и Kubuntu на один диск
Помните те времена, когда BIOS был 16-битным с адресным пространством в 1 Мб, а вся информация о загрузчиках писалась в MBR? На смену уже давно пришли более гибкие технологии: UEFI (замена BIOS), и GPT (замена MBR).
Предыстория: Понадобилось мне недавно на свой домашний десктоп поставить 2 системы, чтобы разграничить окружение. Kubuntu для разработки на Ruby on Rails (ибо работаю удаленно), и Windows для всяких игрушек в свободное время. Хочу заметить, что несколько лет назад это было достаточно просто: один раздел для винды и один раздел для линукса, загрузчик записывался в MBR. Однако, технологии не стоят на месте, и оказалось, что настройка dual boot’а теперь несколько изменилась.
Итак, начнем.
Терминология
Что делаем:
Разбивка диска
Сначала устанавливаем Windows 8, т.к. она автоматически будет использовать GPT.
Разбивка будет выглядеть так (пардон за кривой снимок):
Пропустим саму установку Windows, т.к. в ней все стандартно и понятно.
Теперь загрузимся с USB в Kubuntu Live.
Проверим EFI раздел:
Boot0000 — виндовый загрузчик
Boot0001 — дефолтный загрузчик
Boot0003 — флешка с Kubuntu Live
Обратите внимание, что список загрузчиков не привязан к одному физическому диску как в MBR. Он хранится в NVRAM.
Можем также сразу посмотреть, что же в этом разделе, подмонтировав его:
Там окажутся следующие файлы:
Убедились, что все хорошо. Теперь продолжаем разбивку диска (через KDE Partition Manager).
Нам осталось только отформатировать раздел для Kubuntu в ext4, и выделить раздел под swap.
Несколько слов про swap. Рекомендуют на swap выделять от SQRT(RAM) до 2xRAM. Т.к. у меня 16 Гб RAM, то по минимуму мне надо 4 Гб свопа. Хотя я с трудом могу представить ситуации, при которых он будет использоваться: десктоп в hibernate я не перевожу, и сильно тяжелых программ, которые жрут больше 16 гигов, не использую.
P.S. При форматировании раздела в swap Partition Manager может выдать ошибки, которые связаны с тем, что Kubuntu автоматически монтирует в себя любой swap раздел, однако на результат эти ошибки не влияют.
Итак, финальная разбивка:
Теперь самое главное для правильного dual boot’а. При установке Kubuntu важно выбрать, куда установить загрузчик:
Указываем, конечно же на раздел EFI.
После завершения установки Kubuntu, заходим в систему и проверяем, какие файлы появились на efi разделе (монтировать уже не нужно):
Смотрим, как теперь выглядит список загрузчиков:
Вот как это выглядит при загрузке:
А еще эти загрузчики доступны сразу из UEFI (в старом BIOS’е такое было бы невозможно — там был выбор только диска, он просто не знал, что такое загрузчики):
Ну и напоследок: чтобы dual boot правильно работал, в Windows надо обязательно отключить fast boot. Это такая нехорошая фича, которая может привести к потере данных.
При выключении компьютера Windows сохраняет файловую структуру NTFS разделов в файл (видимо, потому что один файл прочитать быстрее, чем сканировать много разных файлов). Если записать файл на NTFS раздел через линукс, и потом загрузиться в Windows, то Windows просто не увидит файл. Источник
Если выключить комп через Windows, и потом попытаться загрузить Linux, то он просто не запустится из-за «ошибки» NTFS. Источник
Что такое UEFI, и чем он отличается от BIOS?
Новые компьютеры используют прошивку UEFI вместо традиционного BIOS. Обе эти программы – примеры ПО низкого уровня, запускающегося при старте компьютера перед тем, как загрузится операционная система. UEFI – более новое решение, он поддерживает жёсткие диски большего объёма, быстрее грузится, более безопасен – и, что очень удобно, обладает графическим интерфейсом и поддерживает мышь.
Некоторые новые компьютеры, поставляемые с UEFI, по-прежнему называют его «BIOS», чтобы не запутать пользователя, привычного к традиционным PC BIOS. Но, даже встретив его упоминание, знайте, что ваш новый компьютер, скорее всего, будет оснащён UEFI, а не BIOS.
Что такое BIOS?
BIOS — это Basic Input-Output system, базовая система ввода-вывода. Это программа низкого уровня, хранящаяся на чипе материнской платы вашего компьютера. BIOS загружается при включении компьютера и отвечает за пробуждение его аппаратных компонентов, убеждается в том, что они правильно работают, а потом запускает программу-загрузчик, запускающую операционную систему Windows или любую другую, установленную у вас.
На экране настройки BIOS вы можете изменять множество параметров. Аппаратная конфигурация компьютера, системное время, порядок загрузки. Этот экран можно вызвать в начале загрузки компьютера по нажатию определённой клавиши – на разных компьютерах она разная, но часто используются клавиши Esc, F2, F10, Delete. Сохраняя настройку, вы сохраняете её в памяти материнской платы. При загрузке компьютера BIOS настроит его так, как указано в сохранённых настройках.
Перед загрузкой операционки BIOS проходит через POST, или Power-On Self Test, самотестирование после включения. Она проверяет корректность настройки аппаратного обеспечения и его работоспособность. Если что-то не так, на экране вы увидите серию сообщений об ошибках или услышите из системного блока загадочный писк. Что именно означают звуковые сигналы описано в инструкции к компьютеру.
При загрузке компьютера по окончанию POST BIOS ищет Master Boot Record, или MBR — главную загрузочную запись. Она хранится на загрузочном устройстве и используется для запуска загрузчика ОС.
Вы также могли видеть аббревиатуру CMOS, что расшифровывается, как Complementary Metal-Oxide-Semiconductor — комплементарная структура металл-оксид-полупроводник. Она относится к памяти, в которой BIOS хранит различные настройки. Использование её устарело, поскольку такой метод уже заменили флэш-памятью (также её называют EEPROM).
Почему BIOS устарел?
BIOS существует уже давно и эволюционировал мало. Даже у компьютеров с ОС MS-DOS, выпущенных в 1980-х, был BIOS.
Конечно, со временем BIOS всё-таки менялся и улучшался. Разрабатывались его расширения, в частности, ACPI, Advanced Configuration and Power Interface (усовершенствованный интерфейс управления конфигурацией и питанием). Это позволяло BIOS проще настраивать устройства и более продвинуто управлять питанием, например, уходить в спящий режим. Но BIOS развился вовсе не так сильно, как другие компьютерные технологии со времён MS-DOS.
У традиционного BIOS до сих пор есть серьёзные ограничения. Он может загружаться только с жёстких дисков объёмом не более 2,1 Тб. Сейчас уже повсеместно встречаются диски на 3 Тб, и с них компьютер с BIOS не загрузится. Это ограничение BIOS MBR.
BIOS должен работать в 16-битном режиме процессора и ему доступен всего 1 Мб памяти. У него проблемы с одновременной инициализацией нескольких устройств, что ведёт к замедлению процесса загрузки, во время которого инициализируются все аппаратные интерфейсы и устройства.
BIOS давно пора было заменить. Intel начала работу над Extensible Firmware Interface (EFI) ещё в 1998 году. Apple выбрала EFI, перейдя на архитектуру Intel на своих Маках в 2006-м, но другие производители не пошли за ней.
В 2007 Intel, AMD, Microsoft и производители PC договорились о новой спецификации Unified Extensible Firmware Interface (UEFI), унифицированный интерфейс расширяемой прошивки. Это индустриальный стандарт, обслуживаемый форумом UEFI и он зависит не только от Intel. Поддержка UEFI в ОС Windows появилась с выходом Windows Vista Service Pack 1 и Windows 7. Большая часть компьютеров, которые вы можете купить сегодня, используют UEFI вместо BIOS.
Как UEFI заменяет и улучшает BIOS
UEFI заменяет традиционный BIOS на PC. На существующем PC никак нельзя поменять BIOS на UEFI. Нужно покупать аппаратное обеспечение, поддерживающее UEFI. Большинство версий UEFI поддерживают эмуляцию BIOS, чтобы вы могли установить и работать с устаревшей ОС, ожидающей наличия BIOS вместо UEFI – так что обратная совместимость у них есть.
Новый стандарт обходит ограничения BIOS. Прошивка UEFI может грузиться с дисков объёмом более 2,2 Тб – теоретический предел для них составляет 9,4 зеттабайт. Это примерно в три раза больше всех данных, содержащихся в сегодняшнем Интернете. UEFI поддерживает такие объёмы из-за использования разбивки на разделы GPT вместо MBR. Также у неё стандартизирован процесс загрузки, и она запускает исполняемые программы EFI вместо кода, расположенного в MBR.
UEFI может работать в 32-битном или 64-битном режимах и её адресное пространство больше, чем у BIOS – а значит, быстрее загрузка. Также это значит, что экраны настройки UEFI можно сделать красивее, чем у BIOS, включить туда графику и поддержку мыши. Но это не обязательно. Многие компьютеры по сию пору работают с UEFI с текстовым режимом, которые выглядят и работают так же, как старые экраны BIOS.
В UEFI встроено множество других функций. Она поддерживает безопасный запуск Secure Boot, в котором можно проверить, что загрузку ОС не изменила никакая вредоносная программа. Она может поддерживать работу по сети, что позволяет проводить удалённую настройку и отладку. В случае с традиционным BIOS для настройки компьютера необходимо было сидеть прямо перед ним.
И это не просто замена BIOS. UEFI – это небольшая операционная система, работающая над прошивкой PC, поэтому она способна на гораздо большее, чем BIOS. Её можно хранить в флэш-памяти на материнской плате или загружать с жёсткого диска или с сети.
У разных компьютеров бывает разный интерфейс и свойства UEFI. Всё зависит от производителя компьютера, но основные возможности одинаковы у всех.
Как получить доступ к настройкам UEFI на современном ПК
Если вы обычный пользователь, перехода на компьютер с UEFI вы и не заметите. Загружаться и выключаться компьютер будет быстрее, а также вам будут доступны диски размером более 2,2 Тб.
А вот процедура доступа к настройкам будет немного отличаться. Для доступа к экрану настроек UEFI вам может потребоваться загрузочное меню Windows. Производители ПК не хотели замедлять быструю загрузку компьютера ожиданием нажатия клавиши. Но нам встречались и такие UEFI, в которых производители оставили возможность входа в настройки тем же способом, какой был в BIOS – по нажатию клавиши во время загрузки.
UEFI – это большое обновление, но произошло оно незаметно. Большинство пользователей ПК не заметят его, и им не нужно беспокоиться по поводу того, что их новый компьютер использует UEFI вместо обычного BIOS. ПК просто будут лучше работать и поддерживать больше современного аппаратного обеспечения и возможностей.
Более подробное объяснение отличий в загрузочном процессе UEFI можно почитать в статье Адама Уильямсона из Red Hat, и в официальном вопроснике UEFI FAQ.