что такое uefi gpt

Разбираемся с 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 и Secure Boot

UEFI (Unified Extensible Firmware Interface) — замена устаревшему BIOS. Эта спецификация была придумана Intel для Itanium, тогда она еще называлась EFI (Extensible Firmware Interface), а потом была портирована на x86, x64 и ARM. Она разительно отличается от BIOS как самой процедурой загрузки, так и способами взаимодействия с ОС. Если вы купили компьютер в 2010 году и позже, то, вероятнее всего, у вас UEFI.

Основные отличия UEFI от BIOS:
Как происходит загрузка в UEFI?

С GPT-раздела с идентификатором EF00 и файловой системой FAT32, по умолчанию грузится и запускается файл \efi\boot\boot[название архитектуры].efi, например \efi\boot\bootx64.efi
Т.е. чтобы, например, создать загрузочную флешку с Windows, достаточно просто разметить флешку в GPT, создать на ней FAT32-раздел и просто-напросто скопировать все файлы с ISO-образа. Boot-секторов больше нет, забудьте про них.
Загрузка в UEFI происходит гораздо быстрее, например, загрузка моего лаптопа с ArchLinux с нажатия кнопки питания до полностью работоспособного состояния составляет всего 30 секунд. Насколько я знаю, у Windows 8 тоже очень хорошие оптимизации скорости загрузки в UEFI-режиме.

Secure Boot

«Я слышал, что Microsoft реализовывает Secure Boot в Windows 8. Эта технология не позволяет неавторизированному коду выполняться, например, бутлоадерам, чтобы защитить пользователя от malware. И есть кампания от Free Software Foundation против Secure Boot, и многие люди были против него. Если я куплю компьютер с Windows 8, смогу ли я установить Linux или другую ОС? Или эта технология позволяет запускать только Windows?»

Начнем с того, что эту технологию придумали не в Microsoft, а она входит в спецификацию UEFI 2.2. Включенный Secure Boot не означает, что вы не сможете запустить ОС, отличную от Windows. На самом деле, сертифицированные для запуска Windows 8 компьютеры и лаптопы обязаны иметь возможность отключения Secure Boot и возможность управления ключами, так что беспокоится тут не о чем. Неотключаемый Secure Boot есть только на планшетах на ARM с предустановленной Windows!

Что дает Secure Boot? Он защищает от выполнения неподписанного кода не только на этапе загрузки, но и на этапе выполнения ОС, например, как в Windows, так и в Linux проверяются подписи драйверов/модулей ядра, таким образом, вредоносный код в режиме ядра выполнить будет нельзя. Но это справедливо только, если нет физического доступа к компьютеру, т.к., в большинстве случаев, при физическом доступе ключи можно заменить на свои.

Читайте также:  что делать если у коровы не вышел послед

Для Linux есть 2 пре-загрузчика, которые поддерживают Secure Boot: Shim и PRELoader. Они похожи, но есть небольшие нюансы.
В Shim есть 3 типа ключей: Secure Boot keys (те, которые в UEFI), Shim keys (которые можно сгенерировать самому и указать при компиляции), и MOKи (Machine Owner Key, хранятся в NVRAM). Shim не использует механизм загрузки через UEFI, поэтому загрузчик, который не поддерживает Shim и ничего не знает про MOK, не сможет выполнить код (таким образом, загрузчик gummiboot не будет работать). PRELoader, напротив, встраивает свои механизмы аутентификации в UEFI, и никаких проблем нет.
Shim зависит от MOK, т.е. бинарники должны быть изменены (подписаны) перед тем, как их выполнять. PRELoader же «запоминает» правильные бинарники, вы ему сообщаете, доверяете вы им, или нет.
Оба пре-загрузчика есть в скомпилированном виде с валидной подписью от Microsoft, поэтому менять UEFI-ключи не обязательно.

Secure Boot призван защитить от буткитов, от атак типа Evil Maid, и, по моему мнению, делает это эффективно.
Спасибо за внимание!

Источник

Сравнение структур разделов GPT и MBR

Вы когда-нибудь задумывались о том, как загружается компьютер? Независимо от аппаратуры и операционной системы, все компьютеры при загрузке используют или традиционный метод BIOS-MBR, или более современный UEFI-GPT, реализованный в последних версиях ОС.

В этой статье мы сравним структуры разделов GPT и MBR; GPT означает GUID Partition Table, а MBR — Master Boot Record. Начнём с того, что разберём сам процесс загрузки.

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

Понимание процесса загрузки

Когда вы нажимаете кнопку питания на своём ПК, стартует процесс, который в итоге приведёт к загрузке операционной системы в память. Первая команда зависит от того, какова структура разделов на вашем жёстком диске.

Если два вида структур разделов: MBR и GPT. Структура разделов на диске определяет три вещи:

Процесс загрузки MBR

Вернёмся к процессу загрузки. Если в вашей системе используется структура разделов MBR, то первый процесс выполнения загрузит BIOS. Базовая структура ввода-вывода (Basic Input/Output System) включает в себя микропрограмму загрузчика. Микропрограмма загрузчика содержит низкоуровневые функции, такие как ввод с клавиатуры, доступ к видеодисплею, осуществление дисковых операций ввода-вывода и код для загрузки начальной стадии загрузчика. До того как BIOS может определить загрузочное устройство, он выполняет последовательность функций системной конфигурации, начиная со следующих:

VBR обычно содержит начальный загрузчик программ — Initial Program Loader (IPL), этот код инициирует процесс загрузки. Начальный загрузчик программ включает в себя вторую стадию загрузчика, который затем загружает операционную систему. На системах семейства Windows NT, таких как Windows XP, начальный загрузчик программ сначала загружает другую программу под названием NT Loader (аббревиатура NTLDR), которая затем загружает операционную систему.

Для операционных систем на ядре Linux используется загрузчик GRUB (Grand Unified Bootloader). Процесс загрузки похож на описанный выше, единственная разница в наименовании загрузчиков на первой и второй стадии.

В GRUB первая стадия загрузчика называется GRUB Stage 1. Она загружает вторую стадию, известную как GRUB Stage 2. Вторая стадия загружает получает список операционных систем на жёстких дисках и предоставляет пользователю список для выбора ОС для загрузки.

Процесс загрузки GPT

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

После включения вашего компьютера UEFI сначала выполняет функции системной конфигурации, также как и BIOS. Это управление энергопотреблением, установка дат и других компонентов управления системой.

Затем UEFI считывает GPT — таблицу разделов GUID. GUID расшифровывается как «глобальный уникальный идентификатор» (Globally Unique Identifier). GPT располагается в первых секторах диска, сразу после сектора 0, где по-прежнему хранится главная загрузочная запись для Legacy BIOS.

GPT определяет таблицу разделов на диске, на которой загрузчик EFI распознает системный раздел EFI. Системный раздел содержит загрузчики для всех операционных систем, установленных на других разделах жёсткого диска. Загрузчик инициализирует менеджер загрузки Windows, который затем загружает операционную систему.

Для операционных систем на ядре Linux существует версия GRUB с поддержкой EFI, которая загружает файл, такой как grub.efi, или загрузчик EFI, который загружает свой файл, такой как elilo.efi.

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

Различия между структурами разделов GPT и MBR

Если вы когда-нибудь пытались установить Windows 8 или 10 на новый компьютер, то скорее всего видели вопрос: какую структуру разделов использовать, MBR или GPT.

Если вам хочется узнать больше или вы планируете установить новую операционную систему на компьютер, то читайте дальше. Мы уже рассмотрели различия в процессах загрузки, которые стоит держать в уме, разбивая диск или выбирая структуру разделов.

GPT — более новая и продвинутая структура разделов, и у неё много преимуществ, которые я перечислю ниже. MBR используется давно, она стабильная и обладает максимальной совместимостью. Хотя GPT со временем может вытеснить MBR, поскольку предлагает более продвинутые функции, но в некоторых случаях можно использовать только MBR.

Читайте также:  что делать чтобы волоски не врастали в кожу после эпиляции

Главная загрузочная запись

MBR — традиционная структура для управления разделами диска. Поскольку она совместима с большинством систем, то по-прежнему широко используется. Главная загрузочная запись расположена в первом секторе жёсткого диска или, проще говоря, в самом его начале. Она содержит таблицу разделов — информацию об организации логических разделов на жёстком диске.

MBR также содержит исполняемый код, который сканирует разделы на предмет активной ОС и инициализирует процедуру загрузки ОС.

Диск MBR допускает только четыре основных раздела. Если вам нужно больше, то можно назначить один из разделов расширенным разделом, и на нём можно создавать больше подразделов или логических дисков.

MBR использует 32 бита для записи длины раздела, выраженной в секторах, так что каждый раздел ограничен максимальным размером 2 ТБ.

Таблица разделов GUID (GPT)

GPT — более новый стандарт для определения структуры разделов на диске. Для определения структуры используются глобальные уникальные идентификаторы (GUID).

Это часть стандарта UEFI, то есть систему на основе UEFI можно установить только на диск, использующий GPT, например, таково требование функции Windows 8 Secure Boot.

GPT допускает создание неограниченного количества разделов, хотя некоторые операционные системы могут ограничивать их число 128 разделами. Также в GPT практически нет ограничения на размер раздела.

GPT против MBR

Совместимость с операционными системами

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

MBR защищает данные GPT от перезаписи.

Apple MacBook’и используют GPT по умолчанию, так что невозможно установить Mac OS X на систему MBR. Даже хотя Mac OS X может работать на диске MBR, но установка на него невозможна. Я пыталась сделать это, но безуспешно.

Большинство операционных систем на ядре Linux совместимы с GPT. При установке ОС Linux на диск в качестве загрузчика будет установлен GRUB 2.

Для операционных систем Windows загрузка из GPT возможна только на компьютерах с UEFI, работающих под 64-битными версиями Windows Vista, 7, 8, 10 и соответствующими серверными версиями. Если вы купили ноутбук с 64-битной версией Windows 8, то с большой вероятностью там GPT.

Windows 7 и более ранние системы обычно устанавливают на диски с MBR, но вы всё равно можете преобразовать разделы в GPT, как будет рассказано ниже.

Все версии Windows Vista, 7, 8, 10 могут считывать и использовать данные из разделов GPT — но они не могут загружаться с таких дисков без UEFI.

Так GPT или MBR?

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

Проверьте тип раздела жёсткого диска

На каждом жёстком диске под Windows можно проверить тип разделов с помощью «Управления дисками» (Disk Management). Для запуска «Управления дисками» сделайте следующее:

Нажмите сочетание «горячих клавиш» Windows+R, откроется окно для запуска программ.

Наберите diskmgmt.msc и нажмите клавишу Enter.

Windows просканирует жёсткие диски и вскоре покажет их. Для проверки типа разделов любого жёсткого диска нажмите правой кнопкой мыши на плашку диска в нижней части интерфейса. Нужно нажимать на «Диск 0», «Диск 1» и так далее, а не на разделы.

В появившемся контекстном меню выберите «Свойства». Откроется окно со свойствами выбранного диска.

Перейдите на вкладку «Тома» и посмотрите на значение «Стиль раздела».

В списке перечислены все диски. В колонке Gpt указан стиль раздела для каждого диска. Если видите звёздочку в колонке, то это GPT, если её нет — это MBR.

Преобразование между MBR и GPT во время установки Windows

Есть два типичных сообщения об ошибке, которые могут возникнуть при установке Windows на жёсткий диск:

Как вы уже знаете, MBR и GPT — это две абсолютно разные структуры разделов жёсткого диска. MBR — это традиционная структура разделов, а GPT — более новая.

Ошибка № 1 возникает, когда вы пытаетесь установить Windows на компьютер с UEFI, а раздел жёсткого диска не сконфигурирован для режима UEFI или совместимости с Legacy BIOS. Microsoft TechNet предлагает два варианта решения проблемы.

Инструкции для преобразования жёсткого диска с MBR на GPT

С помощью Windows Setup

Инструкции для преобразования жёсткого диска с GPT на MBR

Иногда бывает необходимо преобразовать диск в структуру разделов MBR. Например, если во время установки Windows возникает такое сообщение об ошибке:

«Windows не может быть установлена на этот диск. Выбранный диск имеет стиль разделов GPT»

Загрузка с GPT поддерживается только в 64-битных версиях Windows Vista, 7, 8, 10 и соответствующих серверных версиях на UEFI-системах. Это сообщение об ошибке означает, что ваш компьютер не поддерживает UEFI, а поэтому вы можете использовать только BIOS, который работает со структурой разделов MBR.

Microsoft TechNet предлагает два варианта решения проблемы.

С помощью Windows Setup

Источник

UEFI/GPT-based hard drive partitions (Разделы жесткого диска в системе, использующей UEFI и GPT)

создавайте пользовательские макеты разделов для жестких дисков, твердотельных накопителей (ssd) и других дисков при развертывании Windows на устройствах на базе Единый интерфейс EFI (UEFI).

Читайте также:  что такое fast trek

при использовании макета настраиваемого раздела для 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, систем и восстановления.

Источник

Строительный портал