Разное

Uefi загрузка: UEFI boot – что это такое? Установка и отключение UEFI boot Windows

20.01.1972

Содержание

Что такое 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.

Загрузка в режим UEFI или устаревший режим BIOS

  • Чтение занимает 3 мин

В этой статье

При загрузке в среду предустановки Windows (WinPE) или программа установки Windows используйте режимы BIOS UEFI или Legacy. Если после установки Windows необходимо переключить режимы микропрограммы, вы можете использовать средство MBR2GPT .

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

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

Для загрузки с UEFI или BIOS:

  1. Откройте меню встроенного по. Можно использовать любой из следующих методов.

    • Загрузите компьютер и нажмите клавишу изготовителя, чтобы открыть меню. Используются общие ключи: ESC, DELETE, F1, F2, F10, F11 или F12. На планшетных ПК распространенные кнопки — это громкое уменьшение или громкость (Поиск более общих ключей и кнопок). Во время запуска часто возникает экран, в котором упоминается ключ. Если это не так или если экран слишком быстро отображается, проверьте сайт изготовителя.

    • Или, если Windows уже установлена, на экране входа или в меню «Пуск» выберите пункт «питание» ( ) > удерживайте клавишу

      SHIFT во время выбора перезагрузки. Выберите Устранение неполадок > дополнительные параметры > параметры встроенного по UEFI.

  2. В меню встроенного по выполните загрузку на диск или сеть в режиме UEFI или BIOS:

    В меню загрузочное устройство выберите команду, определяющую режим микропрограммы и устройство. Например, выберите UEFI: USB-диск или BIOS: сеть/сеть.

    Для одного устройства могут отображаться отдельные команды. Например, вы можете увидеть USB-накопитель UEFI и USB-накопитель в BIOS. Каждая команда использует одно и то же устройство и носитель, но загружает компьютер в другом режиме микропрограммы.

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

    Примечание

    Некоторые старые компьютеры (версия Windows 7 — эра или более ранняя) поддерживают UEFI, но для этого требуется перейти к файлу загрузки. В меню встроенного по найдите параметр: «Загрузка из файла», а затем перейдите к \EFI\BOOT\BOOTX64.. EFI на Windows PE или программа установки Windows носителе.

Режимы UEFI и BIOS в WinPE

Обнаружение загрузки WinPE в режиме BIOS или UEFI

Запросите реестр, чтобы определить, в каком режиме находится устройство. Это можно сделать в командной строке:

reg query HKLM\System\CurrentControlSet\Control /v PEFirmwareType
Код возвратаРежим встроенного по
0x1BIOS
0x2UEFI

Используйте его в скрипте:

wpeutil UpdateBootInfo
for /f "tokens=2* delims=    " %%A in ('reg query HKLM\System\CurrentControlSet\Control /v PEFirmwareType') DO SET Firmware=%%B
:: Note: delims is a TAB followed by a space.
if %Firmware%==0x1 echo The PC is booted in BIOS mode.
if %Firmware%==0x2 echo The PC is booted in UEFI mode.

Обратите внимание, что между delims= и " %%A находится вкладка, за которой следует пробел.

Вы всегда должны загружаться в нужный режим каждый раз.

Вот несколько способов, которые можно использовать для загрузки в правильном режиме микропрограммы при каждом запуске компьютера.

Используйте предварительно отформатированные жесткие диски и используйте метод, который не форматирует диск автоматически.

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

Удаление загрузочных файлов UEFI или BIOS

Если требуется, чтобы компьютер загружался только в определенный режим, можно удалить файлы, которые Windows PE или программа установки Windows использовать для загрузки в режиме UEFI или BIOS. Удалите следующие файлы в зависимости от режима, в котором требуется выполнить загрузку.

Загрузка только в режиме UEFI

Удалите файл Bootmgr из корневого каталога Windows PE или программа установки Windows носителя. Это предотвращает запуск устройства в режиме BIOS.

Загрузка только в режиме BIOS

Удалите папку EFI из корневого каталога Windows PE или программа установки Windows носителя. Это предотвращает запуск устройства в режиме UEFI.

WinPE: Создание загрузочного диска USB

В чем разница между «Загрузка с BIOS» и «Загрузка с UEFI»

  • Как мы все знаем, BIOS является важной частью для доступа к опции загрузки. Так что теперь UEFI сделает это? Как?

BIOS загружается, читая первый сектор на жестком диске и выполняя его; этот загрузочный сектор, в свою очередь, находит и запускает дополнительный код. Система BIOS очень ограничена из-за нехватки места и потому, что BIOS выполняет 16-битный код, тогда как современные компьютеры используют 32-битные или 64-битные процессоры. Напротив, EFI (или UEFI, который является просто EFI 2.x) загружается путем загрузки программных файлов EFI (с .efiрасширениями имени файла) из раздела на жестком диске, известного как системный раздел EFI (ESP). Эти программы загрузчика EFI могут использовать службы загрузки EFI для чтения файлов с жесткого диска.

На практике, если вы используете ОС типа Linux, которая имеет сложные загрузчики в режиме BIOS, загрузка в режиме EFI, скорее всего, будет похожа на загрузку в режиме BIOS, поскольку GRUB 2 (самый популярный загрузчик в режиме BIOS). для Linux) был портирован для работы под EFI, и многие дистрибутивы Linux устанавливают GRUB 2 по умолчанию в системах EFI. OTOH, вы можете заменить или дополнить GRUB 2 другими загрузчиками EFI. Действительно, само ядро ​​Linux может быть загрузчиком EFI; код был добавлен для этого с ядром 3.3.0. При таком использовании EFI загружает и запускает ядро ​​Linux, либо вы можете использовать сторонний менеджер загрузки, такой как rEFInd или gummiboot, чтобы вы могли выбрать, какую ОС или ядро ​​загружать.

  • Откуда мне знать, что я загружаюсь с UEFI, а не с BIOS?

Как говорит Root, в пользовательском интерфейсе прошивки есть подсказки; однако они ненадежны и варьируются от одного компьютера к другому. Единственный способ убедиться в этом — проверить, как загружается компьютер. Например, в Linux наличие директории называется /sys/firmware/efiдиагностическим. Если он присутствует, вы загрузились в режиме EFI; если его нет, вы, вероятно, загрузились в режиме BIOS. (Однако при некоторых обстоятельствах этот каталог может отсутствовать при загрузке в режиме EFI.) dmesgВывод, который ссылается на EFI, также является диагностикой загрузки в режиме EFI. В Windows таблица разделов загрузочного диска является диагностической; если это GPT, вы загрузились в режиме EFI, и если это MBR, вы загрузились в режиме BIOS.

  • Так чем же отличается «загрузка с BIOS» и «загрузка с UEFI»?

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

UEFI поддерживает функцию под названием Безопасная загрузкакак следует из названия, это призвано улучшить безопасность. Для этого требуется цифровая «подпись» загрузчиков, что, в свою очередь, требует подписи ядер и так далее в цепочке. Это должно затруднить для авторов вредоносных программ вставку их кода в процесс предварительной загрузки, что повысит безопасность. Это звучит хорошо, но это также усложняет конфигурации с двойной загрузкой, поскольку код, такой как GRUB и ядро ​​Linux, должен быть подписан. Основные поставщики дистрибутивов Linux работают над тем, чтобы сделать эти требования менее обременительными для обычных пользователей Linux, и у них уже есть некоторые предварительные данные. Однако на данный момент отключение Secure Boot — самый простой способ справиться с этим. Это практическая проблема в основном для совершенно новых компьютеров, которые поставляются с Windows 8, поскольку Microsoft требует, чтобы была включена безопасная загрузка, чтобы получить сертификат Windows 8. Некоторые люди путают UEFI и Secure Boot (последняя — только одна особенность первой), но это заслуживает упоминания как различие между BIOS и UEFI, потому что это вызывает некоторые проблемы для новых компьютеров с Windows 8. Если у вас более старая система или вы достаточно знакомы с утилитами установки прошивки, чтобы отключить безопасную загрузку, это не должно быть реальной проблемой.

Microsoft связывает тип таблицы разделов загрузочного диска с типом прошивки (MBR для BIOS; GPT для UEFI). Поскольку MBR достигает максимума в 2 ТБ (при условии стандартных размеров сектора), это означает, что UEFI является практической необходимостью загрузки Windows на диски размером более 2 ТБ. Тем не менее, вы можете использовать такие большие диски как диски данных в Windows, и вы можете загружать некоторые не-Microsoft ОС (такие как Linux и FreeBSD) на большие диски, используя GPT в BIOS.

На практике, если вас беспокоит или интересует UEFI, самая большая проблема заключается в том, что UEFI достаточно новый, чтобы его поддержка была немного нестабильной, особенно в некоторых старых и более экзотических ОС. UEFI сам по себе достаточно новый, так что большинство его реализаций содержат ошибки, и те, которые недостаточно различаются между собой, что может быть трудно описать вещи в целом. Таким образом, использование UEFI может быть проблемой. ОТО, UEFI это будущее. У него есть некоторые скромные преимущества, некоторые из которых со временем станут более важными (например, лимит загрузочного диска Windows в 2 ТБ). Переключение на загрузку UEFI изменит некоторые детали процесса загрузки, но ваш общий вычислительный опыт не сильно изменится, как только вы преодолеете любые проблемы с загрузкой, с которыми вы можете столкнуться.


РЕДАКТИРОВАТЬ:

Не могли бы вы расширить настройки OpRom (Option Rom). Похоже, они позволяют выбирать между загрузкой UEFI или «устаревшей» загрузкой, и они применимы к видеокарте, сетевой карте и различным другим устройствам PCI.

Многие подключаемые платы предоставляют встроенное ПО, которое взаимодействует с встроенным ПО на материнской плате. Два типа прошивки должны быть в состоянии «разговаривать», если прошивка карты работает хорошо. Это необходимо для использования карты перед загрузкой ОС — например, для отображения параметров вашей прошивки или меню менеджера загрузки на видеокарте, для загрузки по сети через сетевую карту или для загрузки с жесткого диска, подключенного к карта контроллера диска.

Как и в случае с загрузчиками, код в прошивке подключаемого устройства записывается для взаимодействия с BIOS или EFI (хотя подключаемые карты могут поддерживать оба, если я не ошибаюсь). Как вы заметили, некоторые EFI предоставляют опции для включения или отключения этой поддержки на детальной основе. В некоторых случаях EFI может использовать поддержку BIOS в режиме карты, чтобы она могла работать в режиме EFI, «переводя» вызовы. (Например, это обычное явление для видеокарт; вы часто можете подключить старую видеокарту без поддержки BIOS в своей прошивке и по-прежнему использовать ее для загрузки в режиме EFI.)

Я не знаю точно, что делает каждая из указанных вами настроек. Например, я не знаю, будет ли «BIOS only» для одной из этих опций заставить карту работать только в режиме BIOS, «переводить», чтобы EFI мог использовать вызовы режима BIOS в режиме EFI или что-то еще. Фактически, учитывая отсутствие стандартов в других областях пользовательского интерфейса EFI, я ожидаю, что детали будут отличаться от одного EFI к другому, поэтому вам, возможно, придется ознакомиться с документацией вашего компьютера или поэкспериментировать, если вам нужно знать детали. Я видел несколько компьютеров с очень похожими параметрами звучания в двух разных меню, что еще больше усложняет ситуацию.

Что такое UEFI, как установить Windows 10 на UEFI

Что такое хороший ПК? Нет, не надо воображать себе девайс с современным процессором, мощной видеокартой и продвинутой материнкой. С точки зрения отдельных маркетологов это вторично, а главное в компе – некая субстанция UEFI…

На самое деле UEFI – отнюдь не атрибут крутизны. Это просто новое, усовершенствованное программное обеспечение (прошивка) материнских плат, которое пришло на смену BIOS. Сегодня этот «зверь» обитает на всех компьютерах, выпущенных после 2010-2011 годов, причем не только на игровых, но и на «печатных машинках». Давайте разберемся, что же такое представляет собой UEFI, в чем его глобальные отличия от БИОС и как найти с ним общий язык при установке операционных систем.

UEFI vs BIOS

С точки зрения неискушенного пользователя UEFI – это тот же BIOS, только в графической оболочке. А на ноутбуках с его появлением и вовсе ничего не изменилось – тот же консольный интерфейс, те же разделы. Да, утилиты настройки BIOS и UEFI могут быть похожи. Внешне их различий не видно, но они (как тот суслик) есть.

UEFI – не просто микропрограмма, чья задача – проверка исправности устройств после запуска ПК и передача управления операционной системе (основные функции BIOS). Это почти полноценная операционка с собственными службами и приложениями.

Однако новые разработки не всегда несут в себе сплошные плюсы. Быть во всём лучше старого, наверное, невозможно, вот и UEFI в чем-то выигрывает, но в чем-то и проигрывает БИОСу.

Преимущества UEFI в сравнении с BIOS

Графический интерфейс UEFI
  • Простой и понятный графический интерфейс на многих языках, включая русский (на десктопных платформах) с поддержкой управления мышью.
  • Поддержка накопителей вместительнее 2,2 Тб с неограниченным количеством разделов.
  • Намного более быстрая загрузка операционной системы. Так, Windows 10, установленная на SSD-диск, размеченный по новому стандарту GPT, грузится всего за 4-15 секунд.
  • Собственный менеджер загрузки ОС. Позволяет компьютеру грузиться с носителей, которые не имеют своих загрузчиков.
  • Поддержка установки сторонних приложений и драйверов, расширяющих функциональность UEFI.
  • Защита от внедрения вредоносного кода в системные загрузчики и собственную среду (обеспечивает встроенный в интерфейс протокол Secure Boot).
  • Собственный сетевой драйвер, благодаря которому обновление UEFI и его компонентов не требует запуска операционной системы. Кстати, драйвера UEFI доступны для использования в ОС.
  • Быстрый переход в среду UEFI из интерфейса Windows 8 и 10.

Недостатки UEFI в сравнении в BIOS

Консольный интерфейс BIOS.
  • Отсутствие поддержки 32-битных операционных систем, что ограничивает свободу выбора пользователей. Компьютеры с UEFI поддерживают только 64-разрядные версии Виндовс, причем «висту» и «семерку» – частично. Полностью поддерживаются только «восьмерка» и «десятка» x64.
  • Отсутствие поддержки жестких дисков, размеченных по стандарту MBR (традиционный тип разметки, который широко использовался до выпуска Windows 8). Спецификация MBR ограничивает количество первичных разделов до 4 и объем диска до 2,2 Тб, поэтому сейчас считается устаревшей.

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

А еще в режиме BIOS отключаются самые полезные фишки UEFI, такие, как быстрый запуск компа и защита от загрузочных вирусов.

Как перейти в UEFI из Windows 10

На старых компьютерах и ноутбуках – до выпуска Windows 8, для входа в настойки BIOS приходится выключать машину и при следующем включении нажимать специально отведенную для этого клавишу. Клавиша реагирует на нажатие, пока не началась загрузка операционной системы, а это примерно 2-4 секунды. С появлением UEFI и нового стандарта разметки дисков – GPT, от нажатия кнопки питания до появления рабочего стола проходят считанные секунды, а загрузка ОС начинается почти одновременно с включением компьютера. Успеть уловить момент, когда система реагирует на клавишу входа в BIOS, почти нереально. Поэтому Microsoft упростила пользователям эту задачу, встроив функцию перехода в UEFI прямо в Windows.

Итак, чтобы перейти в интерфейс UEFI из Виндовс 10, сохраните все открытые документы, запустите утилиту Параметры и войдите в раздел «Обновление и восстановление».

Откройте подраздел «Восстановление» и справа возле пункта «Особые варианты загрузки» щелкните «Перезагрузить сейчас».

После рестарта на экране компьютера отобразится меню «Выбор действия», где следует кликнуть «Поиск и устранение неисправностей» (в некоторых версиях «десятки» этот пункт называется «Диагностика»).

Следующий шаг – переход в «Дополнительные параметры».

Вот, наконец, вы почти у цели: осталось нажать «Параметры встроенного ПО UEFI». После щелчка по этому пункту комп еще раз перезагрузится и перенесет вас в нужное место.

Отсутствие в «Дополнительных параметрах» пункта перехода в UEFI означает, что компьютер не поддерживает эту возможность. Одной из причин может быть работа ПК в режиме эмуляции BIOS, например, если на нем используются диски стандарта MBR. На таких машинах попасть в интересующую вас область можно лишь одним путем – традиционным, как в БИОС, то есть при помощи нажатия определенной клавиши после включения. А чтобы этот процесс не превратился в испытание скорости вашей реакции, загрузку винды можно несколько замедлить. Для этого:

  • Зайдите через утилиту «Параметры» в настройки системы, далее – в раздел питания и спящего режима и откройте «Дополнительные параметры питания».

  • Кликните в панели перехода «Действие кнопок» или «Действие закрытия крышки» (на десктопах последней опции нет).

  • Кликните «Изменение недоступных сейчас параметров». В области «Параметров завершения работы» снимите флажок «Включить быстрый запуск». После следующего старта комп будет грузиться медленнее, и вы спокойно успеете нажать кнопку входа в БИОС.

Как переключиться в режим BIOS для установки неподдерживаемой ОС

Как мы уже выяснили, чтобы поставить на компьютер с UEFI 32-битную или старую версию винды (XP, Vista, 7), необходимо переключиться в режим эмуляции БИОС, который в разных редакциях прошивки носит имя CSM (Compatibility Support Module) или Legacy. Опция перехода в этот режим чаще всего находится в разделе «Boot» или «Загрузка» и дословно называется:
  • CSM Boot.
  • Launch CSM.
  • Legacy.
  • CSM Support.
  • Legacy Support.
  • Legacy BIOS и т. п.

Для активации переведите ее в состояние Enable либо выберите Disable UEFI Boot и сохраните настройку.

Как отключить Secure Boot (Безопасную загрузку)

Устаревшие и 32-битные операционки с точки зрения разработчиков UEFI имеют небезопасные загрузчики, которые следует «запретить и не пущать». Поэтому для установки на компьютер таких систем наряду с активацией БИОС необходимо еще и отключать Secure Boot – технологию, которая проверяет цифровые подписи загрузчиков и при отсутствии таковых блокирует запуск системы.

Кстати, на некоторых прошивках это необходимо делать прежде, чем включать эмуляцию BIOS, так как иначе CSM/Legacy не отображается в утилите настройки.

Опция управления Secure Boot может находиться в следующих разделах UEFI:

  • Boot (Загрузка).
  • Security.
  • Advanced – System Configuration.
  • Authentication.

Для деактивации переведите ее в состояние Disable.

В отдельных редакциях прошивки после включения BIOS и отключения Secure Boot необходимо указать в настойках тип загружаемой операционки «Other OS»:

Как создать установочную флешку для компьютера с UEFI

С переходом на UEFI изменились и требования к загрузочным USB-флешкам. Теперь флешки, созданные по старым правилам, например, при помощи утилиты Microsoft Windows USB/DVD Download Tool, можно использовать лишь для установки устаревших и 32-битных версий ОС в режиме эмуляции BIOS.

Чтобы поставить на комп Windows 10 x64 в режиме UEFI с активным Secure Boot, загрузочный носитель должен иметь файловую систему FAT32. Это накладывает ограничение на его объем (максимум 4 Гб), но NTFS, к сожалению, несовместим с протоколом безопасной загрузки. Зато в остальном процесс создания загрузочных флешек сильно упростился. Теперь это можно делать даже без программ.

Самый простой способ создания установочной USB-флешки с Виндовс 10 – это обычное копирование на нее файлов дистрибутива. Таким же способом, как копируют данные из папки в папку. Создавать на флешке загрузчик не нужно, поскольку он уже входит в состав UEFI.

Для копирования на флешку дистрибутива в формате ISO, последний достаточно открыть в проводнике Windows.

Если у вас нет дистрибутива «десятки» или вы просто предпочитаете создавать загрузочные носители при помощи программ, используйте утилиту Microsoft MediaCreationTool. Чтобы подготовить флешку к установке, помимо нее самой и утилиты вам понадобится лишь доступ в Интернет. Как происходит «таинство» записи и каково в нем ваше участие, F1comp рассказывал в этой статье.

Еще одна простая бесплатная утилита, заточенная под создание загрузочных накопителей для UEFI, это Rufus. Нужные настройки устанавливаются на ней буквально в 3 клика мышью.

Самое главное здесь – правильно выбрать схему раздела и тип системного интерфейса. Для совместимости с Secure Boot и дисками, вместительнее 2 Тб, выбирайте из списка «GPT для компьютеров с UEFI». Далее укажите программе путь к дистрибутиву и жмите кнопку Старт. Через 20-40 минут установочная флешка будет готова.

Boot List Option — выбор варианта загрузки UEFI — Legacy (с фото)

Опция  Boot List Option — Выбор варианта загрузки определяем режим загрузки и меет два значения «Legacy» — (наследуемый вариант загрузки — режим совместимости) BIOS или «UEFI» (Unified Extensible Firmware Interface — интерфейс между операционной системой и микропрограммами) режим загрузки. 

UEFI BIOS поддерживает два режима загрузки: режим загрузки Legacy («Наследие») BIOS и режим загрузки UEFI.

Некоторые устройства и операционные системы пока не поддерживают UEFI на основе BIOS и могут загружаться только с режиме загрузки — Legacy BIOS.

В зависимости от вашей ситуации, вы выбираете какой режим загрузки из UEFI BIOS вы хотите использовать: режим загрузки Наследия — Legacy BIOS или режим UEFI загрузки.

 

Значения опции:

  1. Legacy  ( CMS OS или  CSM Boot,  UEFI and Legacy OS, Legacy OpROM) – выберите режим загрузки Legacy BIOS, чтобы HBAs-адаптеры и некоторые экспресс — модули могли использовать опции  ROMs — ПЗУ.   При выборе режима загрузки Legacy BIOS, только загрузочные кандидаты поддерживающие режим загрузки Legacy  BIOS будут перечислены в списке «Приоритет  — Параметры загрузки».  НЕ забываем при выборе данной опции
    1) отключить очень капризную опцию Secure Boot —  защищенной загрузки. А так же включить модуль
    2) Load Legacy Option Rom — CSM — загрузку модуля совместимости старых ОС.
  2. UEFI (UEFI OS) – выберите режим загрузки UEFI что бы использовать драйверы UEFI.  Только устройства, поддерживающие выбранный режим загрузки перечислены на экране выбора источника загрузки BIOS  — экране в списке Приоритетов Параметры загрузки.

 

 

Более подробно о недостатках и достоинствах «нового БИОСА — UEFI —  интерфейс прошивки» написано здесь (uefi bios настройка).

Опция также может иметь другие названия:

  1. Boot List Option
  2. Launch CSM (Compatibility Support Module)
  3. CMS Boot
  4. UEFI and Legacy OS
  5. CMS OS
  6. Boot Mode
  7. OS Mode Selection

 

Примечание 1. Если режим загрузки  (Boot List Option) изменяется, то выставленная последовательность опроса носителей — дисков — кандидатов от предыдущего режима загрузки  не сохраняется..

Примечание 2. Загрузчик операционной системы – это системная программа, которая подготовляет компьютер для загрузки операционной системы (загружает ядро операционной системы в оперативную память, формирует параметры работы ОС…). Запуск загрузчика выполняет BIOS.

Программа Aptio Setup Utility — BIOS фирмы American Megatrends Inc на системных платах Dell Inc.

Название данной опции у данного производителя в данной версии BIOS:

Boot List Option значение по умолчанию  [Legacy]

Возможное значение:

Обозначение опции BIOSОписание опции в БИОСеПереведенное значение опции БИОС

This list specifies the order that the BIOS searches devices when trying to find an operating system to boot.

To change the boot order select the device to be changed in the list on the right hand side, then use the keybaord PgUp/PgDn keys to change the boot order of the device.

The boot devices can also be selectd or de-selectd from the list using the check boxes on left hand side.

Этот список определяет порядок, в котором BIOS ищет устройства при попытке найти операционную систему для загрузки.

Чтобы изменить порядок загрузки выберите желаемое устройство в списке на правой стороне, а затем используя клавиши клавиатуры PgUp / PgDn, измените порядок загрузки устройства.

Загрузочные устройства также могут быть выбраны из списка помощью флажков +/-

[ Legacy ]


Если операционная система установлена ​​с помощью режим загрузки «Наследие» BIOS (Legacy BIOS boot mode)  операционная система может быть запущена только в режиме загрузки  Legacy.

[UEFI]

 

Если операционная система установлена ​​с помощью режим загрузки UEFI, операционная система может быть запущена только в режиме загрузки UEFI  (UEFI boot mode).


Еще по настройке БИОС (БИОЗ) плат:

UEFI boot support что это в биосе

UEFI boot support что это в биосе

В чем преимущества UEFI перед BIOS?

  • Более быстрая загрузка за счет отсутствия необходимости поиска загрузчика на всех дисках
  • Поддержка носителей объемом >2Тб
  • Более простая подготовка загрузочных носителей, отсутствие необходимости в записи разных загрузочных секторов
  • Наличие собственного менеджера загрузки. Теперь необязательно заводить многоуровневую чехарду загрузчиков, чтобы организовать мультизагрузочную среду, в EFI NVRAM штатно хранятся все записи о имеющихся загрузчиках, и переключение между загружаемыми ОС осуществляется так же, как и между загрузочными носителями.
  • Более защищенная среда загрузки
  • Графический режим конфигурации UEFI, с поддержкой графики и мыши

Сообщение отредактировал saintonotole — 01.06.13, 17:59

Можно ли обновить мой BIOS на UEFI?
Не совсем. UEFI нельзя прошить вместо BIOS, поскольку он занимает гораздо больше памяти. Но существует такая штука, как DUET. Это загружаемая из BIOS посредством отдельного загрузочного раздела среда UEFI, которая может быть полезна, если вы собираетесь использовать диски объемом >2Тб на своем старом железе с BIOS. Подробнее можно ознакомиться здесь: http://www.rodsbooks.com/bios2uefi/

Сообщение отредактировал saintonotole — 01.06.13, 16:37

Сообщение отредактировал saintonotole — 16.06.13, 18:52

Что такое GPT?
GUID Partition Table, GPT — стандарт формата размещения таблиц разделов на жестком диске. Он является частью интерфейса EFI. EFI использует GPT там, где BIOS использует MBR.

Сообщение отредактировал saintonotole — 01.06.13, 16:38

В чем преимущества GPT перед MBR?

  • Поддержка носителей объемом >2.2Тб
  • Отсутствие ограничения на 4 основных раздела, и как следствие-отсутствие необходимости в логических разделах
  • Повышенная безопасность-GPT хранит резервную копию таблицы разделов в конце диска, поэтому в случае неполадок существует возможность восстановления разметки при помощи запасной таблицы.
  • Защита от повреждения устаревшими программами посредством Protective MBR
  • Существует возможность использования старых загрузочных секторов.

Сообщение отредактировал saintonotole — 08.06.13, 18:32

Где в GPT хранятся аналоги загрузочных секторов?
EFI использует для хранения загрузчиков папку EFI/boot, находящуюся в корне раздела FAT32. По умолчанию должен загружаться файл /EFI/boot/bootx64.efi
Если загружаемый диск размечен в стиле MBR, то наличие файловой системы FAT32 на первом разделе (если их несколько) и файла с загрузчиком, лежащего по дефолтному пути, являются единственными условиями загрузки с этого носителя (CD/DVD тоже поддерживаются). В случае, если диск размечен в стиле GPT, раздел необязательно должен быть первым, но у него должен присутствовать флаг boot (проверить и выставить можно через gparted)

Сообщение отредактировал saintonotole — 01.06.13, 16:38

Возможно ли сконвертировать диск из MBR в GPT и обратно без потери данных?
Да. Для этого потребуется загрузочный диск/флешка с Gparted http://gparted.sourceforge.net/download.php
После загрузки с загрузочного носителя откроется окно gparted, в котором в верхнем правом углу будет отображен рабочий диск (обычно это /dev/sda). Необходимо запомнить имя диска, который вы хотите сконвертировать, открыть терминал, и набрать там sudo gdisk /dev/sda
где вместо sda, при необходимости, нужно подставить имя вашего диска. Затем нужно ввести команду w и подтвердить запись таблицы GPT на диск. Все, диск преобразован в таблицу GPT. Для обратной конвертации в MBR необходимо таким же образом открыть gdisk для вашего диска, и последовательно набрать команду r, затем g, после чего подтвердить запись новой таблицы при помощи команды w.
Так же в среде Windows вам поможет программа Partition Guru либо аналоги.

Сообщение отредактировал Shoore — 21.05.14, 22:22

Что такое UEFI Shell?
Это среда работы с окружением EFI (терминалоподобная), позволяющая на ходу запускать efi-совместимые загрузчики, выполнять простейшие операции с файлами, а также оперировать встроенным менеджером загрузки. Взять можно тут: https://github.com/tia…/ShellBinPkg/UefiShell
Основные команды тут: http://software.intel.com/en-us/articles/e. -and-scripting/

Сообщение отредактировал AndrewP_1 — 17.12.18, 10:03

Как редактировать/удалить/добавить пункты загрузки в загрузочное меню UEFI?
Качаем UEFI Shell, копируем его в файл /EFI/boot/bootx64.efi на FAT32 флешку, и загружаемся с нее. После удачной загрузки шелла должно появиться приглашение командной строки
Shell>
Выше приглашения должен отобразиться список имеющихся подключенных дисков (fs0:, fs1:, BLK0, и тому подобное). Чтобы еще раз вызвать этот список в случае необходимости, воспользуйтесь командой
map fs*
Из полного имени диска можно почерпнуть некоторую информацию о диске. Например:
PciRoot(0x0)/Pci(0x1,0x1)/ Ata(0x0) / HD ( 1 , MBR ,0x27212721,0x3F,0x13FA6D9)
отсюда
Ata(0x0) -интерфейс подключения диска, а также порт контроллера
HD -это жесткий диск
1 -количество разделов на диске
MBR -схема разметки

Найдя таким образом необходимый диск, нужно перейти в него
fs0:
затем при помощи старых добрых досовских команд dir и cd нужно нащупать и перейти в каталог с загрузочными efi-файлами. Обычно это /EFI/boot/. Затем, находясь в этом каталоге, можно, введя имя файла загрузчика, сразу же загрузиться в него. Чтобы добавить нужный файл в список загрузочных записей, желательно сначала считать уже имеющиеся записи при помощи команды
bcfg boot dump
Затем, чтобы добавить загрузочный файл в этот список, нужно ввести
bcfg boot add N filename.efi » label «
Где N -порядковый номер записи (если на ее месте что-то было-этот пункт перезапишется)
filename.efi -имя файла с загрузчиком
label -имя, под которым эта запись будет отображаться в списке
Можно снова просмотреть список загрузочных записей через
bcfg boot dump
и убедиться, что все на месте. Можно перезагружаться и проверять.
Для удаления записи из списка используется команда
bcfg boot rm N
где N -номер записи

Сообщение отредактировал Shoore — 31.10.14, 16:34

Отключаем Secure Boot на ноутбуках и ПК (UEFI Secure Boot)

Если вы купили ПК или ноутбук с предустановленной операционной системой Windows 8, а потом захотели удалить ее изменить, например, “семеркой” или вообще какой-либо версий ОС Linux, то у вас возникнут с этим проблемы, из-за системы безопасной загрузки “Secure Boot”.

Разработчики компании Microsoft при разработке последней версии ОС Windows 8 полностью отказались от поддержки шестнадцати битных версий BIOS. Вместо этого система стала на 100% совместима с так называемой UEFI BIOS, обладающей системой безопасной загрузки “Secure Boot”.

Система Secure Boot предназначена для того, чтобы не позволить запуск вредоносных программ до загрузки операционной системы и антивирусного ПО соответственно.

Казалось бы, очень даже замечательная система, но, из-за Secure Boot получается попросту невозможным установить на ПК другую операционную систему или программное обеспечение, не имеющее цифровой подписи. Приведем простой пример. Вы купили новый компьютер с предустановленной Windows 8 и решили установить на него дополнительно или вместо “восьмерки” ОС Windows 7 или какую-нибудь Unix подобную систему. Можете забыть про это, функция безопасной загрузки не позволит этого сделать. Если вы не согласны с таким положением дел, то вам потребуется выполнить отключение Secure Boot в UEFI BIOS, то есть зайти в систему ввода-вывода и отключить эту назойливую систему.

Производители современных материнских плат в большинстве своем деактивируют данную функцию еще до комплектации ими устройств или поступления их в продажу. Если разработчики Unix подобных систем уже решили данную проблему в своих ОС добавив в них поддержку безопасной загрузки UEFI BIOS, то вот их коллеги из Microsoft совсем не намерены вносить изменения в Windows Vista и Windows 7. А учитывая то, что данными системами пользуется много миллионов человек, то знать, как отключить Secure Boot просто необходимо, чтобы полноценно пользоваться ПК.

Отключается Secure Boot очень просто, для этого нужно перезагрузить ПК и в самом начале его загрузки несколько раз нажать клавишу “Del” На клавиатуре (возможны другие варианты клавиши, например, F8 или F2), чтобы запустить BIOS (система ввода-вывода).

Мы не станет описывать процесс отключения Secure Boot для всех BIOS (имеется ввиду разработчиков ПО). Так как это просто не реально, да и не имеем мы пока такой возможности, чтобы под рукой были настольные и мобильные ПК всех производителей. Расскажем на примере Pheonix SecureCore Tiano, данная BIOS используется практически на всех ноутбуках, производимых компанией Samsung, а также для UEFI BIOS Utility Asus.

  • Отключаем Secure Boot в ноутбуках Samsung. Перейдите в БИОС в раздел Boot. Найдите опцию Secure Boot и установите ля нее значение “Disabled”, затем установите значение “UEFI and CSM OS” для опции OS Mode Selection. Готово. Теперь вы сможете удалить Windows 8 с ноутбука Samsung и установить другую ОС.
  • Отключаем Secure Boot в ноутбуках Asus. Откройте раздел UEFI “Boot”, затем “Secure Boot”, затем перейдите к опции “Key Management” и измените ее значение на “Crear Secure Boot Keys”. Готово, навязчивая функция отключена.

CSM – это модуль поддержки совместимости для операционной системы. Если ваша материнская плата снабжена отличными от описанных выше разработчиками BIOS (UEFI), то дополнительно к описанным действиям пробуйте активировать функцию Legacy BIOS.

Если после проделанных рекомендаций у вас все ровно не получается установить операционную систему отличную от Windows 8, то поэкспериментируйте с переключением SATA контролера в режим AHCI.

CSM означает Compatibility Support Module for Operating System. В других BIOS (UEFI), возможно, нужно будет включить опцию совместимости: Legacy BIOS. Если возникнут проблемы с установкой, то можно попробовать переключить SATA контроллер в режим AHCI. Как это делается написано в статье “Включаем поддержку ACHI у SATA-дисков”

UEFI — что это? или UEFI установка, настройка, загрузка

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

Однако все несколько сложней.

  1. Код микропрограммы BIOS пишется на ассемблере и он выполняется в 16-битном режиме процессора, но часто совмещает и 16 битные и 32 битные команды. Адресуемая память ограничена 1 Мбайт.
  2. Код микропрограммы UEFI написан на C и выполняется в современном 64-битном режиме.

Но далее плюсы UEFI заканчиваются — проблемы при установки ОС, проблемы с Secure Boot UEFI как из-за сырых прошивок как и традиционного подхода корпорации Microsoft — использованием закрытого ключа.

Secure Boot

Secure Boot — это специальный механизм защиты от запуска не подписанного кода — т.е. защищает от подмены загрузчика (в случае с Microsoft – это еще и защита от не лицензионного использования ОС), но в силу ряда причин пользователи часто вынуждены его отключать или же даже по умолчанию он идет в отключенном режиме.

Но сама по себе опция SecureBoot достаточна важна, так как..

UEFI — это
  1. по факту самая настоящая операционная система, работающая на неограниченном уровне доступа к ресурсам «ring 0»
  2. имеет собственные драйверы, собственный сетевой стек, полный доступ к всей памяти, устройствам минуя традиционную операционную систему, т.е оборудованием типа RAID/USB/SATA/Ethernet-контролеров могут управляться драйверами UEFI.
  3. пока наиболее распространенная форма UEFI — это отдельный модуль стандартного BIOS, но уже встречаются материнские платы с в которых осуществлен вариант «наоборот».

Как пишет Интел: «UEFI заменяет стандартные решения BIOS и отличается более высокой гибкостью, быстродействием, эффективностью и отсутствием ограничений по размеру драйверов. Модуль поддержки совместимости (CSM) используется для загрузки старых операционных систем и взаимодействия со старым встроенным ПО.»

В результате без данной защиты процесс получивший администраторские полномочия может сделать с БИОСом что угодно: стереть его, модифицировать некоторые его модули, добавить свои.

Однако учитывая некоторые практические ограничения, в том числе по безопасности пока назвать UEFI полноценной заменой BIOS не представляется возможным.

Например, пока вы используете legacy-загрузки из MBR или с внешних устройств — Compatibility Support Module полностью обойтись без традиционного БИОС в настоящее время не получиться.

Если в БИОСе нет опции загрузки с USB — флешка и uefi ?

Необходимо в UEFI:

  1. в опции Secure Boot поставить Disable,
  2. в опции OS Mode Selection поставить Uefi and Legacy Boot.
  3. после этого появляется возможность загрузки с USB.
Справочно — Расширяемый интерфейс прошивки

Extensible Firmware Interface (EFI) ( англ . Расширяемый интерфейс прошивки) — интерфейс между операционной системой и микропрограммами, управляющими низкоуровневыми функциями оборудования, его основное предназначение: корректно инициализировать оборудование при включении системы и передать управление загрузчику операционной системы. EFI предназначен для замены BIOS — интерфейса, который традиционно используется всеми IBM PC-совместимыми персональными компьютерами. Первая спецификация EFI была разработана Intel, позднее от первого названия (Загрузочная Инициатива Intel) отказались и последняя версия стандарта носит название Unified Extensible Firmware Interface (UEFI). В настоящее время разработкой UEFI занимается Unified EFI Forum.

  • Изначально UEFI поддерживали 64-разрядных ОС. Поддержка 32-двух разрядных операционных систем была включена в UEFI 2.0.
  • Интерфейс, определённый спецификацией EFI, включает таблицы данных, содержащие информацию о платформе, загрузочные и runtime-сервисы, которые доступны для загрузчика операционной системы (ОС) и самой ОС. Некоторые существующие расширения BIOS, типа ACPI и SMBIOS, также присутствуют в EFI, поскольку не требуют 16-разрядного runtime-интерфейса.
  • Менеджер загрузки EFI используется для выбора и загрузки ОС, исключая потребность в специализированном механизме загрузки (загрузчик ОС является приложением EFI).
  • EFI поддерживает графические меню и некоторые возможности, например, осуществленные Aptio или Great Wall UEFI
  • Спецификация EFI включает схему разметки дисков — Master boot record (MBR) и GUID Partition Table (GPT).
  • Расширения EFI могут быть загружены с любого энергонезависимого устройства хранения данных, присоединённого к компьютеру.
  • Прошивки UEFI предоставляет ряд технических преимуществ по сравнению с традиционной системой BIOS:
  1. Возможность загрузки с большими дисками (более 2 TiB ) с таблицей разделов GUID , GPT.
  2. CPU-независимый архитектура
  3. CPU-независимый драйверы
  4. Гибкая среда относительно ОС, в том числе возможность работы в сети
  5. Модульная конструкция
UEFI загрузки

Спецификация UEFI определяет «менеджер загрузки», который отвечает за загрузку загрузчика операционной системы и всех необходимых драйверов.

Загрузчики операционных систем представляют собой класс из UEFI приложений. Как таковые, они хранятся в виде файлов на файловой системе , которые могут быть доступны прошивки под названием EFI системный раздел (ESP). UEFI определяет конкретную версию FAT. Поддерживаемые таблицы разделов включают схемы MBR и GPT , а также томов оптических дисков .

UEFI не полагаться на загрузочный сектор , хотя ESP обеспечивает место для него в рамках обратной совместимости. UEFI загрузку с GPT дисков обычно называют UEFI-GPT.

Загрузчики также могут быть автоматически обнаружены в UEFI прошивками, чтобы позволить загрузку со съемного устройства. Автоматическое определение опирается на стандартизированной путь к файлу с загрузчиком операционной системы, в зависимости от фактической архитектуры для загрузки. Формат пути к файлу определяется как /BOOT/BOOT .EFI , например /efi/BOOT/BOOTX64.EFI .

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

Для обеспечения обратной совместимости, большинство UEFI реализации на ПК класса машин также поддерживают загрузку в стандартном режиме BIOS от МБР-разбитых на разделы дисков, через модуль совместимости поддержки (CSM), которая обеспечивает совместимость с BIOS. При таком сценарии, загрузка выполняется таким же образом, как в традиционных системах на основе BIOS, игнорируя таблицу разделов, опираясь на содержание в загрузочном секторе .

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

Несмотря на то, таблицы разделов MBR обязаны быть полностью поддерживается в пределах спецификации UEFI, некоторые UEFI прошивки сразу же переключается на BIOS на базе CSM загрузки в зависимости от типа таблицы разделов загрузочного диска, тем самым предотвращая UEFI загрузку должны быть выполнены из EFI Системные разделы на МБР-разбитых на разделы дисков. Такая схема обычно называется UEFI-MBR.

Загрузка по сети

UEFI спецификация включает в себя поддержку загрузки по сети через Preboot Execution Environment (PXE). Основополагающие сетевые протоколы включают Протокол Интернета (IPv4 и IPv6), протокол пользовательских дейтаграмм (UDP), протокол Dynamic Host Configuration (DHCP) и Упрощенный протокол передачи файлов (TFTP).

В комплект входит также поддержка загрузочных образов удаленно хранящиеся на сетях хранения данных (SAN), с интернет-интерфейс малых вычислительных систем (ISCSI) и Fibre Channel через Ethernet (FCoE), как поддерживаемых протоколов для доступа к сети.

Защищенная загрузка

UEFI 2.2 спецификация добавляет протокол, известный как Secure загрузки, который может обеспечить процесс загрузки, предотвращая загрузку драйверов или загрузчиков ОС, которые не подписали с приемлемым цифровой подписи.

Отключаем UEFI Secure Boot в BIOS

UEFI Secure Boot — это стандартная защита на BIOS, которая ограничивает возможности по запуску USB-носителей в качестве загрузочного диска. Данный защитный протокол можно встретить на компьютерах с Windows 8 и новее. Его суть заключается в том, чтобы не дать пользователю загрузиться с установщика Windows 7 и ниже (или операционной системой из другого семейства).

Информация по UEFI Secure Boot

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

Обычным же пользователям ПК эта возможность ни к чему, наоборот, в некоторых случаях она может даже мешать, например, если вы хотите установить Linux совместно с Windows. Также из-за неполадок с настройками UEFI во время работы в операционной системе может вылазить сообщение об ошибке.

Чтобы узнать, включена ли у вас данная защита, необязательно переходить в BIOS и искать информацию по этому поводу, достаточно сделать несколько простых шагов, не выходя из Windows:

    Откройте строку «Выполнить», используя комбинацию клавиш Win+R, затем введите туда команду «cmd».

После ввода откроется «Командная строка», куда нужно прописать следующее:

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

Способ 1: Для ASUS

  1. Войдите в BIOS.
  • В главном верхнем меню выберите пункт «Boot». В некоторых случаях главного меню может не быть, вместо него будет приведён список различных параметров, где нужно найти пункт с таким же названием.
  • Перейдите в «Secure Boot» или и найдите параметр «OS Type». Выберите его при помощи клавиш со стрелочками.
  • Нажмите Enter и в выпавшем меню поставьте пункт «Other OS».
  • Выйдите при помощи «Exit» в верхнем меню. При выходе подтвердите изменения.
  • Способ 2: Для HP

    1. Войдите в BIOS.

    Оттуда войдите в раздел «Boot Option» и найдите там «Secure Boot». Выделите его и нажмите Enter. В выпавшем меню нужно поставить значение «Disable».

  • Выйдите из BIOS с сохранением изменений, используя клавишу F10 или пункт «Save & Exit».
  • Способ 3: Для Toshiba и Lenovo

    Здесь, после входа в BIOS, вам нужно выбрать раздел «Security». Там должен быть параметр «Secure Boot», напротив которого нужно установить значение «Disable».

    Способ 4: Для Acer

    Если с предыдущими производителями всё было относительно просто, то тут изначально нужный параметр будет недоступен для внесения изменений. Чтобы разблокировать его, понадобится поставить пароль на BIOS. Сделать это можно по следующей инструкции:

    1. После входа в BIOS, перейдите в раздел «Security».
    2. В нём нужно найти пункт «Set supervisor password». Чтобы поставить пароль суперпользователя, вам нужно лишь выбрать этот параметр и нажать Enter. После этого открывается окно, куда требуется вписать придуманный пароль. Требований к нему нет практически никаких, поэтому это вполне может быть что-то вроде «123456».
  • Для того, чтобы все параметры BIOS разблокировались наверняка, рекомендуется произвести выход с сохранением изменений.
  • Чтобы снять режим защиты, воспользуйтесь этими рекомендациями:

    1. Повторно войдите в BIOS с использованием пароля и перейдите в раздел «Authentication», что в верхнем меню.
    2. Там будет параметр «Secure Boot», где нужно поменять «Enable» на «Disable».
  • Теперь выйдите из BIOS с сохранением всех изменений.
  • Способ 5: Для материнских плат Gigabyte

    После запуска БИОС вам нужно перейти во вкладку «BIOS Features», где необходимо поставить значение «Disable» напротив «Secure Boot».

    Выключить UEFI Secure Boot не так сложно, как может показаться на первый взгляд. К тому же, как таковой пользы для обычного пользователя данный параметр в себе не несёт.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Загрузка в UEFI или BIOS Legacy на примере платы Biostar IH61MF-Q5

    Итак, вы решили установить Windows c загрузочной флешки, но вот незадача – BIOS (UEFI) почему-то не видит носитель. Ничего страшного – нужно лишь немного изменить дефолтные настройки.

    О том, что нужно сделать, чтобы загрузочный носитель отобразился в Boot Menu, вы и узнаете в сегодняшней статье.

    Почему UEFI не видит флешку?

    Основная причина такой проблемы – режим загрузки флешки не соответствует режиму загрузки UEFI. Современные компьютеры поддерживают два режима загрузки – Legacy и EFI. Но по умолчанию включен только один из них, и, как правило, это EFI. А вот вашей загрузочной флешке как раз нужен именно Legacy.

    Все, что нам нужно сделать в этом случае – выставить оба режима загрузки, чтобы BIOS увидел флешку и сумел ее прочитать.

    [Решено:] Ошибка — ERROR: Legacy boot of UEFI Media

    Автор nibbl На чтение 3 мин Опубликовано Обновлено

    ⚠️ Всем привет! Если Вы решили установить новенькую Windows 10 (переде этим установив образ windows на флешку) и вот на мониторе начинают появляться картинки с данными загрузки Bios и все стопорится на черном экране с белым текстом:

    ⛔️ Error: legacy boot of uefi media.

    This drive can only boot in uefi mode

    It can not boot on BIOS/Legacy mode

    ⭐️ If you want to boot this drive in BIOS/Legacy mode, you should recreate it in Rufus using the following settings:

    • Partition scheme -> MBR
    • Target system ->

    ✅ Увидев данное сообщение не впадайте в панику! Это всего лишь предупреждение о том, что Ваша флешка с установочным Windows не совместима с настройками системы компьютера!

    Я советую устранить конфликт накопителя и БИОС сразу при установке новой Windows, а вместе с тем и возникшую в результате него ошибку с текстом «Error legacy boot of uefi media» путём переключения режима загрузки с Legacy на UEFI и причина тут проста, лучше использовать новую разметку диска GPT которая позволит поддерживать вашей Windows жесткие диски объемом более 3 ТБ.

    Данная задача решается двумя путями и сейчас мы их рассмотрим!

    1 Вариант:

    ⚡️ В первом варианте я рассмотрю самый простой вариант как решить проблему с ошибкой при установки виндоус- ERROR legacy boot of uefi media при установке с флешки windows 10, просто перезаписать флешку с установочным Windows с другими настройками (более подробно об этом я писал в стать как установить windows с флешки) я же сейчас дам точные настройки какие надо поставить что бы пошла установки windows:

    🔥 Инструкция:

    1. для записи диска я использую программу Rufus
    2. Запускаем и выбираем наш для записи дистрибутив (windows 10)
    3. В системе разделов выбираем MBR
    4. Запускаем запись диска нажва на кнопку Старт
    5. Вставляем флешку после записи в комп и радуемся заставки предлагающей выбрать какую версию windows устанавливать)

    Вариант 2:

    🔔 Второй вариант решения проблемы с сообщением при установки windows с текстом: ERROR legacy boot of UEFI media через BIOS аа будет посвящен настройкам Bios при изменении которых у Вас установка пройдет успешно при любом варианте!

    Единственный ключевой момент — что бы ваша материнская плата поддерживала режимы загрузчика UEFI/Legacy как это сделать? Давайте изучать далее!

    ✅ Инструкция переключения в BIOS чтения схем разделов

    1. Для начало переходим в BIOS
    2. Переходим раздел Boot
    3. и ищем раздел CSM (compatibility support module)
    4. Заходим в него и правим все значения на UEFI only
    5. После этого сохраняем настройки перезагружаемся и радуемся заставки выбора установки windows)

    Вот таким простым способом мы решаем след проблемы:

    • 🔥 Error: legacy boot of uefi media во время загрузки с флешки
    • Как установить Windows: режимы Legacy и UEFI
    • ⛔️ Ошибка при установки винды с флешки legacy boot of UEFI Media
    • Загрузочная флешка не загружает windows в Legacy режиме
    • 🔥 Windows не загрузиться с флешке с поддержкой UEFI
    • Как установить windows в GPT?

    ✅ Видео инструкция о том как я исправил ошибку — error legacy boot of uefi:

     

    Справляется с процессом загрузки UEFI »Linux Magazine

    Некоторые события, о которых нельзя забывать: первая машина, первый компьютер, первый поцелуй. Однако одним из этих первых вопросов не должно быть того, как вы настроили разделы вашего нового ноутбука. К сожалению, у меня был такой опыт, потому что я был слишком случайным при установке Kubuntu 12.04 с двойной загрузкой с Windows 7.

    Основная причина, по которой у меня возникли проблемы, заключалась в том, что ноутбук и исходная предустановленная система Windows 7 были настроены на использование UEFI, а новый Linux, который я добавил позже, не поддерживает UEFI.

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

    До недавнего времени большинство компьютеров использовали базовую систему ввода-вывода (BIOS или устаревшую BIOS) для управления процессом загрузки. BIOS выполняет несколько предварительных задач, а затем загружает загрузочный сектор жесткого диска. Этот загрузочный сектор называется основной загрузочной записью (MBR). MBR — это первые 512 байтов в начале диска, которые описывают не только структуру диска (разделы), но и то, как начать загрузку операционной системы. MBR немного изменился с годами, но кардинально не отличается от того, когда он был впервые создан в 1983 году.

    MBR содержит четыре основных раздела, один из которых установлен как активный или загрузочный. Помимо списка разделов, MBR содержит очень маленький (примерно 440 байт) загрузчик для загрузки операционной системы. Этот загрузчик найдет активный раздел и затем выполнит загрузочную запись тома (первый сектор этого раздела), которая продолжит процесс загрузки операционной системы.

    MBR имеет некоторые ограничения, которые сдерживают прогресс.Два таких ограничения заключаются в том, что количество основных разделов ограничено четырьмя, а размер дисковых разделов ограничен 2 ТБ. Эти ограничения не были проблемой, когда впервые появилась MBR, но теперь, когда можно приобрести USB-накопитель емкостью 3 ТБ менее чем за 200 евро, эти проблемы становятся все более и более заметными.

    Специалисты давно осознали необходимость порвать с прошлым и создать современное, независимое от операционной системы микропрограммное обеспечение с поддержкой загрузки с больших дисков, а также гибкую среду предустановки ОС, сетевые возможности и модульную конструкцию.Результатом стал расширенный интерфейс микропрограмм от Intel. В 2005 году была сформирована отраслевая организация для содействия принятию спецификации EFI, а затем спецификация была переименована в Unified EFI (UEFI).

    Унифицированный расширенный интерфейс микропрограмм

    UEFI выводит концепцию BIOS на совершенно новый уровень. Вместо 512-байтовой MBR и некоторого загрузочного кода UEFI, в отличие от устаревшего варианта BIOS, знает, что такое файловая система, и даже имеет свою собственную файловую систему с файлами и драйверами.Размер этой файловой системы обычно составляет от 200 до 500 МБ и она отформатирована как FAT32.

    Вместо нескольких байтов ассемблерного кода для загрузки операционной системы каждая установленная ОС должна иметь свой собственный загрузчик (например, grubx64.efi ). У этого загрузчика будет достаточно логики, чтобы отобразить какое-то меню загрузки или начать загрузку операционной системы. По сути, UEFI — это собственная мини-операционная система.

    UEFI отказался от старой методологии разделения MBR и вместо этого использует GPT для управления таблицами разделов.Использование GPT снимает ограничение на количество разделов, а также обеспечивает поддержку больших разделов до 9ZB. (Зеттабайт составляет 10 2 1 байт.) Раздел GPT является частью стандарта UEFI, но он ограничен только списком разделов без логики загрузчика. Спецификация допускает почти неограниченное количество разделов, но конкретные реализации могут налагать более практические ограничения. (Windows, например, фактически ограничивает количество разделов до 128.) Как и MBR, UEFI помечает один из разделов флагом загрузки, но это только раздел EFI, а не разделы ОС.

    Общая структура файловой системы EFI означает, что каждая операционная система (или поставщик) имеет свой собственный каталог. Этот каталог может содержать любые файлы, необходимые для загрузки операционной системы:

     / EFI
        /Ботинок
        / Microsoft /
        / ubuntu
        / refind 

    Некоторые каталоги имеют довольно плоскую иерархию, тогда как другие (например,g., Microsoft) в меньшей степени. Программы загрузчика по умолчанию имеют расширение .efi ; однако это всего лишь соглашение: файлы загрузчика, которые правильно созданы и называются, работают даже без этого расширения.

    Глядя на структуру каталогов EFI, можно надеяться, что при следующей установке или переустановке другая операционная система Microsoft не разрушит мою существующую установку Linux, но я еще не пробовал этого.

    Одна особенно удобная вещь о том, как UEFI был реализован в Linux, заключается в том, что после загрузки компьютера раздел EFI, по крайней мере в Kubuntu, монтируется под загрузочным разделом ( / boot / efi ), что делает с этой файловой системой легко изменить или поэкспериментировать.

    Тем не менее, если пойти еще дальше, загрузчик — это просто программа, которая выполняет операцию загрузки операционной системы. Что, если бы эта программа была оболочкой? Оболочка с поддержкой UEFI позволит пользователю взаимодействовать с системой UEFI для изменения параметров загрузки, запуска загрузчиков и получения информации о среде микропрограмм. Оболочки с поддержкой EFI уже существуют — ну, за исключением моего ноутбука — но вам не нужно довольствоваться той оболочкой, которая была поставлена ​​с вашей установкой UEFI: вы можете либо получить новую, либо написать свою собственную.Проект Tianocore предоставляет оболочку с поддержкой EFI, ссылка на которую имеется на сайте Arch Linux. Оболочка Tianocore включает несколько опций, которые мне сейчас не нужны, но которые могут пригодиться в будущем. С помощью этой оболочки можно вручную выбрать новый загрузчик, составить список каталогов, редактировать текстовые файлы или удалить файлы.

    При запуске оболочки вам нужна отправная точка. Как ни странно, при запуске моей оболочки текущий рабочий каталог фактически не находится ни в одной из файловых систем, что вызывает ошибку для каждой команды.Чтобы создать список каталогов или перейти в другой каталог, вы просто сначала выбираете файловую систему.

    Эта оболочка была создана, чтобы придать ей вид MS-DOS. Например, чтобы перейти к файловой системе, вы просто выбираете номер файловой системы:

     FS0:  

    Обозначение диска FS0 относится к файловой системе 0; в зависимости от вашей конфигурации у вас также может быть FS1 или FS2 .

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

    Первым будет использование программы Linux efibootmgr для управления записями, хранящимися в энергонезависимой оперативной памяти (NVRAM). В зависимости от реализации UEFI ваш UEFI может фактически поддерживать efibootmgr при загрузке в экран UEFI / BIOS. Asus N76, который использует систему прошивки на основе Aptio UEFI от AMI, позволяет пользователю регистрировать программу напрямую с помощью опции Добавить новую опцию загрузки (рисунок 1).

    Рисунок 1: Некоторые системы прошивки позволяют добавлять в конфигурацию собственный вариант загрузки.

    В конце концов, мне удалось заставить это работать, когда я прекратил попытки явно ссылаться на диск (в моем случае \ EFI \ path против FSO: \ EFI \ path ). После этого можно было опробовать новые загрузчики и оболочку. Записи пути относятся к установленному разделу EFI.

    Secure Boot

    UEFI предлагает большую гибкость, больше разделов, разделы большего размера, а также простой и стандартный способ настройки нескольких операционных систем.Что не нравится? Возможно, вы слышали о печально известной функции «безопасной загрузки» UEFI.

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

    Ремонт моего ноутбука

    Моя конфигурация была следующей:

    Диск 0:

    • GPT разделен
    • Файловая система UEFI
    • Не работает установка Windows

    Привод 1:

    • MBR разделена
    • Пару разделов с данными
    • Не работает установка Linux

    Несовместимость GPT и MBR и мои последующие усилия по восстановлению сделали систему не загружаемой.Когда я впервые добавил Linux, ранее существовавший загрузчик не смог загрузить систему Linux на диске 1 с разделами MBR. Я попытался сменить загрузочный диск, что вернуло мне Linux, включая меню GRUB, указывающее на загрузку Windows. вариант, но Windows не запускается. Чтобы вернуть Windows, я попытался использовать функцию восстановления Windows, но на самом деле это вызвало еще больше проблем, в конечном итоге сделав мою систему Linux не загружаемой.

    Как мне исправить проблемы с двойной загрузкой? Легкость моего восстановления заключалась в том, что у меня был образ резервной копии первого диска до любой установки Linux, потому что Linux устанавливался на второй диск, и потому, что я осознавал необходимость установки Kubuntu с поддержкой EFI.

    Список задач был довольно маленьким:

    1. Конвертировать диск 1 из MBR в GPT

    2. Добавить / изменить разделы на диске 1

    3. Установить Kubuntu с поддержкой EFI

    4. Сохранить всю конфигурацию EFI из Kubuntu install

    5. Восстановить образ диска для диска 0

    6. Восстановить установку Kubuntu в раздел EFI

    7. Перезагрузить и протестировать

    Примечание. При работе с разделами важно создавать резервные копии важных данных.

    Преобразовать MBR в GPT

    На ноутбуке была загружена Kubuntu 12.04 с Live DVD. Перегородки были в порядке; проблема заключалась в разбиении на разделы, поэтому проще всего было использовать команду sgdisk для чтения старой таблицы разделов MBR и записи новой таблицы разделов GTP.

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

    После завершения всей подготовки следующая команда выполняет преобразование:

     sgdisk -g / dev / sdX 

    Эта команда выполнит правильное преобразование, но оставит диск без загрузочной операционной системы.

    Добавить / изменить разделы

    Все разделы были разбиты во время моей предыдущей установки; в этом случае не требовалось никакого дополнительного разбиения. (Вы также можете выполнить разметку на этапе установки Kubuntu.)

    Установите Kubuntu 12.04 с поддержкой EFI

    Этот шаг прост, но не на 100% очевиден. Когда вы вставляете CD или DVD в оптический привод и загружаетесь, UEFI проверяет, какие носители могут быть доступны; это может быть USB-накопитель или загрузочный DVD.

    Однако, по крайней мере для моего Asus, в списке загрузочных устройств были обнаружены как обычный загрузочный DVD с MBR, так и загрузочный DVD с UEFI. Несмотря на то, что обе записи относятся к одному и тому же диску, важно, чтобы была выбрана запись UEFI, поскольку запись UEFI, по-видимому, является триггером для использования EFI GRUB, а не стандартной настройки MBR.На моем Asus загрузочные устройства UEFI имеют префикс UEFI: в списке загрузки (рисунок 2).

    Рисунок 2: На моем Asus загрузочные устройства с поддержкой UEFI имеют предисловие UEFI :.

    Когда вы загружаете Kubuntu как устройство UEFI, он вызывает знакомый список меню GRUB. Возможно, что любой из этих вариантов позволит успешно установить любую UEFI-совместимую систему, но я выбрал Install Expert Mode .

    Процесс полностью соответствует стандартной графической установке; Я установил разделы подкачки (/) и / home и выбрал GRUB в качестве загрузчика.Единственный трюк на этом этапе — это то, как вы загружаете диск.

    Сохранение файлов конфигурации Kubuntu

    Раздел EFI — это просто файловая система FAT32. Резервное копирование установки означает просто копирование файлов в безопасное место. Просто смонтируйте файловую систему EFI и скопируйте необходимые файлы в другое место:

     mount / dev / sdX1 / mnt / mountpoint
    cp -rp / mnt / точка монтирования / EFI / refind / media / usbstick
    cp -rp / mnt / mountpoint / EFI / ubuntu / media / usbstick 

    Примечание: ваш каталог EFI, вероятно, будет разделом 1, sdX1, но это не обязательно.

    Восстановить образ диска для disk1

    Я никогда не планировал испортить мою установку, но прежде, чем я начал это грандиозное приключение, я сделал резервную копию диска 0, используя dd :

    Save:

     dd bs = 1M if = / dev / sdX of = / media / usbdevice / saved-image 

    Restore:

     dd bs = 1M if = / media / usbdevice / saved-image of = / dev / sdX 

    На этом этапе , на диске 0 ноутбука установлена ​​исходная установка Windows 7, но установка загрузчика Kubuntu была утеряна.Это не имеет никакого отношения к Microsoft или Windows, а скорее к тому, как я сделал резервную копию диска.

    Восстановление конфигурации Kubuntu EFI

    На этом следующем шаге ноутбук был загружен с Kubuntu 12.04 с Live DVD.

    Раздел EFI — это просто файловая система FAT32. Восстановление установки означает просто копирование файлов из безопасного места:

     mount / dev / sdX1 / mnt / mountpoint
    cp -rp / media / usbstick / refind / mnt / точка монтирования / EFI
    cp -rp / media / usbstick / ubuntu / mnt / mountpoint / EFI 

    После восстановления этих файлов я смог перезагрузить ноутбук и запустить Linux или Windows 7.

    Информация

    [1] Основные инструкции по использованию UEFI (список команд оболочки)
    [2] Как работает BIOS
    [3] Инициализация загрузки
    [4] Развитие BIOS
    [5] Windows и GPT FAQ
    [6] Размер разделов GPT
    [7] Операционные системы, работающие с GPT

    Сборка

    — как происходит загрузка в режиме загрузки UEFI?

    Выражение этого вопроса такое же, как и в «Что такое последовательность загрузки UEFI?», Но мне кажется, это не то, что мне нужно.Я хотел бы знать последовательность UEFI с точки зрения инструкции.

    Например, в случае режима загрузки BIOS, упрощенно,

    • Питание компьютера включено.
    • Содержимое микросхемы BIOS, подключенной к материнской плате, выполняет процесс POST (самотестирование при включении).
    • BIOS ищет MBR (Master Boot Record), у которых есть загрузочная подпись в предварительно установленном порядке загрузочных устройств.
    • Если MBR с загрузочной сигнатурой найдена, загрузите первый сектор (512 байт) устройства в DRAM, адрес 0x7C00.Этот загруженный сектор (512 байт) становится «загрузчиком первой ступени».
    • BIOS передает управление этому загрузчику первого этапа. Другими словами, выполняется код операции, расположенный по адресу физической памяти 0x7C00 в DRAM.

    Статья по теме: https://neosmart.net/wiki/mbr-boot-process/

    Но,

    в случае UEFI, мне трудно понять эту последовательность.

    Я уже просмотрел документацию по спецификации UEFI и часть UEFI для разработчиков ОС.

    UEFI: https: // uefi.org / sites / default / files / resources / UEFI_Spec_2_8_final.pdf

    OS Dev: https://wiki.osdev.org/UEFI

    Кажется, эта функция efi_main () работает как точка, эквивалентная 0x7C00 в режиме BIOS. Но как?

    Делает ли прошивка UEFI что-то вроде

    jmp efi_main

    после выполнения ряда работ?

    1 кв. Как проходит режим загрузки UEFI?

    2 кв. Есть ли хороший пример UEFI или учебное пособие, например, Brokenthorn, основанное на BIOS?

    стр.С.

    Я видел новости (которые уже прошли) о том, что Intel прекращает поддержку BIOS к 2020 году.

    https://www.anandtech.com/show/12068/intel-to-remove-bios-support-from-uefi-by-2020

    Это говорит

    После удаления CSM новые платформы не смогут запускать 32-разрядные операционные системы, не смогут использовать связанное программное обеспечение (по крайней мере, изначально) и не смогут использовать старое оборудование, такое как RAID HBA (и, следовательно, старые жесткие диски, которые подключены к этим HBA), сетевым картам и даже видеокартам без UEFI-совместимой vBIOS (выпущенной до 2012-2013 гг.)

    3 кв.Разве это не значит, что все, что связано с загрузкой BIOS (загрузчик первого этапа при 0x7C00, прерывания BIOS и т. Д.), Устарело?

    Загрузка

    UEFI: как же тогда это работает?

    Это снова время эссе AdamW! Если вы ищете что-то короткое и яркое, поищите в другом месте.

    Камил Парал любезно сообщает мне, что я хронический страдающий графоманией. Всегда приятно знать, что с тобой не так.

    ВАЖНОЕ ПРИМЕЧАНИЕ ДЛЯ ПРОМЫШЛЕННЫХ НАРОДОВ: Это сообщение в блоге предназначено для обычных людей; он призван развеять несколько распространенных мифов и помочь обычным людям лучше понять UEFI.Это не низкоуровневое полностью подробное и на 100% технически точное объяснение, и я не профессиональный инженер по прошивке или что-то в этом роде. Если вы действительно создаете операционную систему, оборудование или что-то в этом роде, пожалуйста, не полагайтесь на мои упрощенные объяснения и не просите меня о помощи; Я просто идиот в интернете. Если вы занимаетесь подобными вещами и у вас есть деньги, присоединяйтесь к форуму UEFI, спросите своих поставщиков, проверьте свою эталонную реализацию или что-то еще. Если у вас нет денег, вежливо спросите своих коллег с большим опытом. КОНЕЦ ВАЖНОГО ПРИМЕЧАНИЕ

    Вы, наверное, много читали в Интернете о UEFI. Вот кое-что важное, что вы должны понять: 95% этого, вероятно, было мусором. Если вы думаете, что знаете об UEFI, и вы получили свои знания где угодно, кроме спецификаций UEFI, в блоге mjg59 или в одном из нескольких других неопределенно надежных мест / людей — Род Смит, или Питер Джонс, или Крис Мерфи, или документация по относительно немного ОС, разработчики которых действительно знают, что они делают с UEFI — то, что вы думаете, что знаете, вероятно, представляет собой токсичное сочетание недоразумений, заблуждений, полуправды, пропаганды и откровенной лжи.Так что вам, вероятно, следует все это забыть.

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

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

    Во-первых, давайте немного разберемся с терминологией. И BIOS, и UEFI — это типы микропрограмм для компьютеров. Прошивки в стиле BIOS (в основном) можно найти только на компьютерах, совместимых с IBM PC.UEFI должен быть более общим, и его можно найти в системах, не относящихся к классу «совместимых с IBM PC».

    У вас нет «UEFI BIOS». Ни у кого нет «UEFI BIOS». Пожалуйста, никогда не говорите «UEFI BIOS». BIOS — это не общий термин для всех микропрограмм ПК, это особый тип микропрограмм ПК. На вашем компьютере установлена ​​прошивка. Если это компьютер, совместимый с IBM PC, то почти наверняка это прошивка BIOS или UEFI. Если вы используете Coreboot, поздравляем, мистер / мисс. Исключение. Вы можете гордиться собой.

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

    Bonus Historical Note : UEFI не был изобретен, не контролируется и никогда не контролировался Microsoft. Его предшественник и основа, EFI, был разработан и опубликован корпорацией Intel. UEFI управляется форумом UEFI. Microsoft является участником форума UEFI. То же самое и с Red Hat, и с Apple, и почти со всеми крупными производителями ПК, Intel (очевидно), AMD, а также с обширным списком других крупных и второстепенных компаний и организаций, выпускающих оборудование, программное обеспечение и прошивки.Это широкая согласованная спецификация со всеми вытекающими отсюда беспорядками, о некоторых из которых мы поговорим позже. Это Evil Vehicle Of Evilness не одной компании.

    Список литературы

    Если вы действительно хотите понять UEFI, неплохо было бы пойти и прочитать спецификацию UEFI. Вы можете сделать это. Это очень легко. Вам не нужно никому платить деньги. Я не собираюсь говорить вам, что чтение этого будет для вас самым увлекательным занятием, потому что это не так. Но это не будет пустой тратой вашего времени.Вы можете найти его прямо здесь, на официальном сайте UEFI. Вы должны поставить галочку в паре флажков, но вы не отдаете свою душу сатане или чему-то еще. Это отлично. На момент написания этой статьи текущая версия спецификации — 2.4 Errata A, и это версия, в отношении которой написано данное сообщение.

    Спецификация BIOS отсутствует. BIOS — это стандарт de facto — он работает так же, как и на реальных компьютерах IBM в 1980-х годах. Это одна из причин, по которой существует UEFI.

    Теперь, чтобы не усложнять задачу, давайте рассмотрим два мира.Один из них — это мир компьютеров, совместимых с IBM PC, в дальнейшем называемых просто ПК, до того, как существовали UEFI и GPT (мы перейдем к GPT). Это мир, с которым многие из вас, вероятно, знакомы и могут хорошо понимать. Поговорим о том, как работает загрузка на ПК с прошивкой BIOS.

    Загрузка BIOS

    На самом деле это работает очень и очень просто. На вашем стандартном старомодном компьютере с BIOS у вас есть один или несколько дисков с MBR. MBR — еще один стандарт де-факто; в основном, самое начало диска описывает разделы на диске в определенном формате и содержит « загрузчик », очень небольшой фрагмент кода, который микропрограмма BIOS знает, как выполнить, чья работа заключается в загрузке операционной системы. система (ы).(Современные загрузчики часто намного больше, чем могут содержаться в пространстве MBR, и должны использовать многоступенчатый дизайн, в котором бит в MBR просто знает, как загрузить следующий этап из другого места, но сейчас это не важно для нас ).

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

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

    Загрузка UEFI: фон

    Хорошо, у нас есть предыстория, мир BIOS. Теперь давайте посмотрим, как работает загрузка в системе UEFI. Даже если вы не понимаете деталей этого поста, поймите: это совершенно другое . Полностью отличается от того, как работает загрузка BIOS. Вы не можете применить свои знания о загрузке BIOS к загрузке через UEFI. Вы не можете внести небольшую настройку в систему, предназначенную для загрузки с BIOS, и применить ее к загрузке с исходным кодом UEFI.Вы должны понимать, что это совершенно другой мир.

    Вот еще одна важная вещь, которую следует понять: многие прошивки UEFI реализуют какой-то режим совместимости с BIOS , иногда называемый CSM . Многие прошивки UEFI могут загружать систему так же, как прошивка BIOS — они могут искать MBR на диске и запускать загрузчик из этой MBR, а затем оставлять все для этого загрузчика. Иногда люди неправильно называют использование этой функции «отключением UEFI», что лингвистически бессмысленно.Вы не можете «отключить» прошивку вашей системы. Это просто глупый термин. Не используйте его, но поймите, что люди на самом деле имеют в виду, когда говорят это. Они говорят об использовании возможности прошивки UEFI для загрузки системы в стиле BIOS, а не в собственном стиле UEFI.

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

    Ради здравого смысла я предполагаю использование дисков с таблицей разделов GPT и системных разделов EFI FAT32 EFI.В зависимости от того, насколько глубоко вы собираетесь погрузиться в этот материал, может обнаружить, что это не совсем тот случай, что всегда предполагать, что вы будете иметь дело с дисками GPT и EFI FAT32 ESP при работе с родным UEFI загрузки, но спецификация UEFI довольно сильно привязана к дискам GPT и EFI FAT32 ESP, и это то, с чем вы будете иметь дело в 99% случаев. Если только вы не имеете дело с Маками, и, откровенно говоря, к черту Макинтоши.

    Редактировать примечание : следующие разделы (до Последствия и осложнения, ) были сильно пересмотрены 26 января 2014 года, через несколько часов после выхода первоначальной версии этого поста, на основе отзывов Питера Джонса.Считайте, что это версия 2.0 сообщения. Более ранняя версия была написана несколько менее точным и более запутанным способом.

    Встроенная загрузка UEFI: как это работает — фон

    Хорошо, давайте перейдем к мясу. Вот как на самом деле работает встроенная загрузка UEFI. Вероятно, будет полезно поговорить об этом с небольшой подготовкой на высоком уровне.

    UEFI предоставляет гораздо больше инфраструктуры на уровне прошивки для обработки загрузки системы. Это далеко не так просто, как BIOS.В отличие от BIOS, UEFI в разной степени понимает понятия «разделы диска», «загрузчики» и «операционные системы».

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

    Подход BIOS / MBR к поиску загрузчика довольно резкий, если подумать. Это очень «особый соус»: это крошечное пространство в передней части диска содержит магический код, который имеет смысл только для системной прошивки и специальных утилит для его записи.У этого подхода есть несколько проблем.

    • С этим неудобно иметь дело — вам нужны специальные утилиты для записи MBR, и почти единственный способ узнать, что в них, — это распечатать содержимое и изучить его.
    • Как отмечалось выше, сама MBR недостаточно велика для многих современных загрузчиков. Что они делают, так это устанавливают небольшую часть себя в саму MBR, а остальную часть — в пустое пространство на диске между тем местом, где заканчивается обычная MBR и начинается первый раздел.С этим есть довольно большая проблема (ну, весь дизайн — большая проблема, но неважно), которая заключается в том, что нет надежного соглашения о том, где должен начинаться первый раздел, поэтому трудно быть уверенным, что будет достаточно места. . Одна вещь, на которую вы обычно можете положиться, — это то, что недостаточно места для некоторых конфигураций загрузчика.
    • В проекте не предусмотрен какой-либо стандартизированный уровень или механизм для выбора целей загрузки, кроме дисков … но люди хотят, чтобы выбирал цели загрузки, отличные от дисков.то есть они хотят иметь несколько загрузочных «вещей» — обычно операционных систем — на каждом диске. Единственный способ сделать это в мире BIOS / MBR — это обработать загрузчик; но нет общепринятого соглашения о том, как это сделать. Существует множество различных подходов, ни один из которых не является особенно совместимым с другими, ни один из которых не является широко принятым стандартом или соглашением, и очень сложно написать инструменты на уровне установки ОС / ОС, которые правильно обрабатывают мультизагрузку.Это просто очень запутанный дизайн.
    • Конструкция не предусматривает стандартного способа загрузки с чего-либо , кроме дисков. Мы не будем говорить об этом в этой статье, но просто имейте в виду, что это еще одно преимущество загрузки UEFI: он обеспечивает стандартный способ загрузки, например, с удаленного сервера.
    • Нет механизма для уровней выше микропрограммы для настройки поведения микропрограммы при загрузке.

    Итак, вы можете представить, как эльфы UEFI сидят и рассматривают эту проблему и придумывают решение.Вместо того, чтобы микропрограмма знала только о дисках и одном «волшебном» месте на диске, где может находиться код загрузчика, UEFI имеет гораздо больше инфраструктуры на уровне микропрограмм для обработки загрузочной загрузки. Давайте посмотрим на все, что здесь определяется.

    Исполняемые файлы EFI

    Спецификация UEFI определяет исполняемый формат и требует, чтобы все прошивки UEFI могли выполнять код в этом формате. Когда вы пишете загрузчик для нативного UEFI, вы пишете в этом формате.Это довольно просто и понятно, и не требует дополнительных объяснений: хорошо, что теперь у нас есть спецификация прошивки, которая фактически определяет общий формат кода, который может выполнять прошивка.

    Формат GPT (таблица разделов GUID)

    Формат таблицы разделов GUID очень сильно связан со спецификацией UEFI, и, опять же, это не что-то особенно сложное или требующее подробного объяснения, это просто хорошая основа, которую предоставляет спецификация.GPT — это просто стандарт для создания таблиц разделов — информации в начале диска, которая определяет, какие разделы на нем содержатся. Это лучший стандарт для этого, чем таблицы разделов MBR / MS-DOS во многих отношениях, и спецификация UEFI требует, чтобы UEFI-совместимые прошивки были способны интерпретировать GPT (это также требует, чтобы они могли интерпретировать MBR, для обратная совместимость). Все это полезная основа: то, что здесь происходит, заключается в том, что спецификация устанавливает определенные возможности, которые все, что выше уровня прошивки, может полагаться на прошивку.

    Системные разделы EFI

    Я действительно погрузился в концепцию системного раздела EFI, редактируя этот пост, и это было отличное «ага!» момент. На самом деле концепция «системных разделов EFI» — это всего лишь ответ на проблему «особого соуса» MBR-пространства. Как мы видели выше, концепция некоторого неопределенного количества пустого пространства в начале диска, являющегося «местом, где живет код загрузчика», является довольно дрянной. Системные разделы EFI — это всего лишь решение UEFI. 1

    Решение таково: нам требуется, чтобы уровень прошивки был способен читать некоторые определенные типы файловых систем. Спецификация UEFI требует, чтобы совместимые прошивки были способны читать варианты FAT12, FAT16 и FAT32 формата FAT, по сути. Фактически, он кодифицирует конкретную интерпретацию этих форматов в том виде, в каком они существовали на момент принятия UEFI, и заявляет, что прошивки, совместимые с UEFI, должны быть способны читать эти форматы. Согласно спецификации:

    «Файловая система, поддерживаемая расширяемым интерфейсом микропрограмм, основана на файловой системе FAT.EFI определяет конкретную версию FAT, которая явно документирована и тестируется. Соответствие спецификации EFI и связанным с ней справочным документам — единственное определение FAT, которое необходимо реализовать для поддержки EFI. Чтобы отличить файловую систему EFI от чистой FAT, был определен новый тип файловой системы раздела ».

    «Системный раздел EFI» — это на самом деле любой раздел, отформатированный с помощью одного из вариантов FAT, определенных спецификацией UEFI, и которому задан конкретный тип раздела GPT, чтобы прошивка могла его найти.И цель этого точно такая же, как описано выше: позволить каждому положиться на тот факт, что уровень прошивки определенно сможет читать данные с довольно «нормального» раздела диска. Надеюсь, понятно, почему это лучший дизайн: вместо того, чтобы писать код загрузчика в «волшебное» пространство в начале MBR-диска, операционные системы и так далее могут просто создавать, форматировать и монтировать разделы в широко понятном формате и поместите туда код загрузчика и все остальное, что они могут захотеть прочитать прошивкой.

    Поначалу вся эта штука с ESP показалась мне немного странной и запутанной, поэтому я надеюсь, что этот раздел объясняет, почему это на самом деле очень разумная идея и хороший дизайн — причудливой и запутанной вещью на самом деле является дизайн BIOS / MBR, где единственный способ записать на уровне ОС что-то, что, как вы знали, может потреблять слой прошивки, — это записать это в какое-то (но вы не знали, сколько) Magic Space в начале диска, соглашение, которое на самом деле кодифицировано где угодно. На самом деле — это не , очень разумный или понятный дизайн, если вы отступите и посмотрите на него.

    Как мы заметим позже, спецификация UEFI имеет тенденцию использовать подход «вы должны хотя бы делать это» — она ​​редко запрещает прошивкам делать что-либо еще. Не противоречит спецификации написать прошивку, которая может выполнять код в других форматах, читать другие типы таблиц разделов и читать разделы, отформатированные с файловыми системами, отличными от вариантов FAT UEFI. Но микропрограмма, совместимая с UEFI, должна выполнять все эти действия по крайней мере , поэтому, если вы пишете ОС или что-то еще, что хотите запустить на любой -совместимой прошивке UEFI, вот почему концепция системных разделов EFI так важна: это дает вам (по крайней мере, теоретически) 100% уверенность в том, что вы можете поместить исполняемый файл EFI в раздел, отформатированный с помощью реализации UEFI FAT и правильного типа раздела GPT, и системная прошивка сможет его прочитать.Это то, что вы можете взять с собой в банк, например, «прошивка сможет выполнять некоторый код загрузчика, который я поместил в пространство MBR», было в мире BIOS.

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

    • Может читать таблицу разделов
    • Может получать доступ к файлам в некоторых определенных файловых системах
    • Может выполнять код в определенном формате

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

    Диспетчер загрузки UEFI

    Спецификация UEFI определяет так называемый диспетчер загрузки UEFI . (Дистрибутивы Linux содержат инструмент под названием efibootmgr , который используется для управления конфигурацией диспетчера загрузки UEFI).В качестве образца того, что вы можете ожидать найти, прочитав спецификацию UEFI, он определяет диспетчер загрузки UEFI следующим образом:

    «Диспетчер загрузки UEFI — это механизм политики микропрограмм, который можно настроить, изменив архитектурно определенные глобальные переменные NVRAM. Диспетчер загрузки попытается загрузить драйверы UEFI и приложения UEFI (включая загрузочные загрузчики ОС UEFI) в порядке, определенном глобальной памятью NVRAM. переменные «.

    Ну вот и разобрались, идем дальше. 😉 Нет, не совсем.Давайте переведем это на Human. С разумной степенью упрощения вы можете рассматривать диспетчер загрузки UEFI как меню загрузки. При прошивке BIOS «загрузочное меню» на уровне прошивки — это обязательно диски, подключенные к системе во время загрузки — ни больше, ни меньше. Это не так с прошивкой UEFI.

    Диспетчер загрузки UEFI можно настроить — проще говоря, вы можете добавлять и удалять записи из «меню загрузки». Прошивка также может (это факт, что спецификация требует в различных случаях) эффективно «генерировать» записи в этом меню загрузки в соответствии с дисками, подключенными к системе, и, возможно, некоторыми параметрами конфигурации прошивки.Его тоже можно осмотреть — посмотреть, что в нем.

    Одна довольно замечательная вещь, которую предоставляет UEFI, — это механизм для выполнения этого из других уровней : вы можете настроить поведение системы при загрузке из загруженной операционной системы. Вы можете сделать все это с помощью инструмента efibootmgr , как только вы каким-то образом загрузили Linux через UEFI. Для этого тоже есть инструменты Windows, но я плохо с ними знаком. Давайте посмотрим на типичный вывод efibootmgr , который я украл и немного изменил с форумов Fedora:

      [корневой @ системный каталог] # efibootmgr -v
    BootCurrent: 0002
    Тайм-аут: 3 секунды
    BootOrder: 0003,0002,0000,0004
    Boot0000 * BIOS привода CD / DVD (3,0,00)
    Boot0001 * Жесткий диск HD (2,0,00)
    Boot0002 * Fedora HD (1,800,61800,6d98f360-cb3e-4727-8fed-5ce0c040365d) Файл (\ EFI \ fedora \ grubx64.efi)
    Boot0003 * opensuse HD (1,800,61800,6d98f360-cb3e-4727-8fed-5ce0c040365d) Файл (\ EFI \ opensuse \ grubx64.efi)
    Boot0004 * BIOS жесткого диска (2,0,00) P0: ST1500DM003-9YN16G.
    [корень @ системный каталог] #
      

    Это хороший чистый пример, который я украл и немного изменил с форумов Fedora. Мы видим, что здесь происходит несколько вещей.

    Первая строка сообщает вам, из какой из записей «меню загрузки» вы в настоящее время загружаетесь . Второй вариант довольно очевиден (если микропрограмма представляет собой интерфейс, похожий на меню загрузки, для диспетчера загрузки UEFI, это тайм-аут, прежде чем он запустится и загрузит запись по умолчанию).BootOrder — это порядок, в котором будут проверяться записи в списке. Остальная часть вывода показывает фактические загрузочные записи. Чем они на самом деле занимаются, мы опишем позже.

    Если вы загружаете прошивку UEFI совершенно нормально, без каких-либо настроек, которые мы обсудим позже, ей следует попытаться загрузиться из каждой «записи» в «меню загрузки» в порядке, указанном в BootOrder . Итак, в этой системе он будет пытаться загрузить запись с именем «opensuse», затем, если это не удастся, то, что называется «Fedora», затем «CD / DVD Drive», а затем второй «Жесткий диск».

    Встроенная загрузка UEFI: как это на самом деле работает — записи диспетчера загрузки

    Но что на самом деле означают эти записи , ? На самом деле существует огромный диапазон возможностей , который сам по себе составляет довольно большую часть сложности спецификации UEFI. Если вы читаете спецификацию, налейте себе очень большую порцию джина и перейдите к разделу EFI_DEVICE_PATH_PROTOCOL, но обратите внимание, что это общий протокол, который используется не только для загрузки — это официальный способ идентификации устройств для всех целей UEFI, используется для записей диспетчера загрузки, но также и для многих других целей.Не каждый возможный путь к устройству EFI имеет смысл в качестве записи диспетчера загрузки UEFI по очевидным причинам (вы, вероятно, не собираетесь заходить слишком далеко, пытаясь загрузиться с вашего видеоадаптера). Но вы, безусловно, можете иметь запись, которая указывает, скажем, на PXE-сервер, а не на раздел диска. В спецификации есть много битов, определяющих допустимые цели загрузки без диска, которые можно добавить в конфигурацию диспетчера загрузки UEFI.

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

    Загрузочные записи совместимости с BIOS

    Boot0000 и Boot0004 в этом примере на самом деле являются записями режима совместимости с BIOS, а не собственными записями UEFI. Они не были добавлены в конфигурацию диспетчера загрузки UEFI каким-либо внешним агентством, а сгенерированы самой прошивкой — это обычный способ для прошивки UEFI реализовать загрузку с совместимостью с BIOS путем создания записей диспетчера загрузки UEFI, запускающих BIOS-совместимую. загрузка данного устройства. Как они представляют это пользователю — это другой вопрос, как мы увидим позже.Видите ли вы какие-либо из этих записей или нет, будет зависеть от вашей конкретной прошивки и ее конфигурации. Каждая из этих записей просто дает имя — «Привод CD / DVD», «Жесткий диск» — и говорит: «Если эта запись выбрана, загрузите этот диск (где« этот диск »- 3,0,00 для Boot0000 и 2,0,00 для Boot0004) в режиме совместимости с BIOS ».

    ‘Резервный путь’ Нативные загрузочные записи UEFI

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

    Спецификация UEFI определяет своего рода «запасной» путь для загрузки этого типа записи диспетчера загрузки, которая в принципе работает как загрузка с диска BIOS: она ищет в стандартном месте некоторый код загрузчика. Хотя детали другие.

    То, что на самом деле будет делать прошивка при попытке загрузки таким образом, довольно просто. Микропрограмма просматривает каждый системный раздел EFI на диске в том порядке, в котором они существуют на диске.В ESP он будет искать файл с определенным именем и местоположением. На ПК x86-64 он будет искать файл \ EFI \ BOOT \ BOOTx64.EFI . На самом деле он ищет \ EFI \ BOOT \ BOOT {краткое имя типа машины} .EFI — ‘x64’ — это «краткое имя типа машины» для компьютеров x86-64. Другие возможности: BOOTIA32.EFI (x86-32), BOOTIA64.EFI (Itanium), BOOTARM.EFI (AArch42 — то есть 32-битная ARM) и BOOTAA64.EFI (AArch64 — это есть, 64-битная ARM).Затем он выполнит первый найденный подходящий файл (очевидно, файл должен быть в исполняемом формате, определенном в спецификации UEFI).

    Этот механизм не предназначен для загрузки постоянно установленных ОС. Он больше предназначен для загрузки с оперативно подключаемых, не зависящих от устройства носителей, таких как живые образы и установочные носители ОС. И это действительно то, для чего он обычно используется. Если вы посмотрите на живой или установочный носитель с поддержкой UEFI для дистрибутива Linux или другой ОС, вы обнаружите, что он имеет таблицу разделов GPT и содержит раздел в формате FAT в начале устройства или рядом с ним, с разделом GPT тип, который идентифицирует его как системный раздел EFI.Внутри этого раздела будет каталог \ EFI \ BOOT, по крайней мере, с одним из указанных выше файлов со специальными именами. Когда вы загружаете Fedora в реальном времени или устанавливаете носитель в собственном режиме UEFI, используется именно этот механизм. Файл BOOTx64.EFI (или любой другой) обрабатывает остальную часть процесса загрузки оттуда, загружая фактическую операционную систему, содержащуюся на носителе.

    Встроенные загрузочные записи с полным UEFI

    Boot0002 и Boot0003 — это «типичные» записи для операционных систем, постоянно установленных на постоянных устройствах хранения.Эти записи демонстрируют нам всю мощь механизма загрузки UEFI, не просто говоря «загрузитесь с этого диска», но «загрузите этот конкретный загрузчик в этом конкретном месте на этом конкретном диске», используя всю «основу», о которой мы говорили выше. .

    Boot0002 — это загрузочная запись, созданная при установке Fedora с родным UEFI. Boot0003 — это загрузочная запись, созданная при установке OpenSUSE с родным интерфейсом UEFI. Как вы можете догадаться, все, что они говорят, это «загрузите этот файл из этого раздела». Раздел — это HD (1,800,61800,6d98f360-cb3e-4727-8fed-5ce0c040365d) бит : это относится к определенному разделу (с использованием EFI_DEVICE_PATH_PROTOCOL, который я действительно не буду пытаться объяснять подробно — вам не обязательно это знать, если вы взаимодействуете с менеджером загрузки через интерфейс прошивки и efibootmgr ).Это файл File (\ EFI \ opensuse \ grubx64.efi), бит : это просто означает «загрузить файл в это место в разделе, который мы только что описали». Рассматриваемый раздел почти всегда будет тем, который квалифицируется как системный раздел EFI из-за приведенных выше соображений: это тип раздела, к которому мы можем доверять прошивке, чтобы иметь доступ.

    Это механизм, который спецификация UEFI предоставляет операционным системам, чтобы сделать себя доступными для загрузки: операционная система предназначена для установки загрузчика, который загружает ядро ​​ОС и т. Д. В системный раздел EFI, и добавляет запись в загрузку UEFI. конфигурацию диспетчера с именем — очевидно, это обычно будет производным от имени операционной системы — и местоположением загрузчика (в исполняемом формате EFI), который предназначен для загрузки этой операционной системы.

    В дистрибутивах Linux

    используется инструмент efibootmgr для работы с менеджером загрузки UEFI. Что на самом деле делает дистрибутив Linux с точки зрения загрузки, когда вы выполняете собственную установку UEFI, на самом деле довольно просто: он создает системный раздел EFI, если он еще не существует, устанавливает загрузчик EFI с соответствующей конфигурацией — часто grub2-efi, но есть и другие — в правильный путь в системном разделе EFI и вызывает efibootmgr , чтобы добавить запись диспетчера загрузки UEFI с соответствующим именем, указывающую на его загрузчик.Большинство дистрибутивов будут использовать существующий системный раздел EFI, если он есть, хотя вполне допустимо создать новый и использовать его вместо этого: как мы уже отметили, UEFI является разрешающей спецификацией, и если вы логически следуете дизайну, действительно Нет проблем с тем, чтобы иметь столько разделов системы EFI, сколько вы хотите.

    Настройка процесса загрузки (UI прошивки)

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

    Многие прошивки действительно имеют достаточно разумные интерфейсы для конфигурации загрузки. Хороший дизайн прошивки, по крайней мере, покажет вам порядок загрузки с разумным представлением записей на нем и позволит вам добавлять или удалять записи, изменять порядок или отменять порядок для конкретной загрузки (изменяя его только для этого). boot, или напрямую инструктируют микропрограмму о загрузке определенного пункта меню, или даже дают вам возможность просто сказать «загрузите этот диск», либо в режиме совместимости с BIOS, либо в резервном режиме UEFI — моя прошивка делает это).Такой интерфейс часто отображает «полные» собственные загрузочные записи UEFI (как в примерах Fedora и openSUSE, которые мы видели ранее) только по их имени; вам нужно изучить вывод efibootmgr -v , чтобы точно знать, что эти записи на самом деле будут пытаться, а сделать при вызове.

    Некоторые прошивки пытаются абстрагироваться и упростить конфигурацию и могут делать это хорошо или плохо. Например, если у вас есть возможность «включить или отключить» режим совместимости с BIOS, то, что, скорее всего, сделает , — это настроить, добавляет ли микропрограмма записи совместимости BIOS для подключенных дисков в конфигурацию диспетчера загрузки UEFI или нет.Если у вас есть возможность «включить или отключить» встроенную загрузку UEFI, то, вероятно, действительно произойдет, когда вы «отключите», так это то, что микропрограмма изменит конфигурацию диспетчера загрузки UEFI, чтобы все записи, связанные с UEFI, не попадали в BootOrder.

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

    В мире BIOS, как вы помните, не всегда можно обнаружить, что системы настроены на попытку загрузки со съемных дисков — CD, USB — перед загрузкой с постоянных дисков. Некоторые есть, а некоторые нет. Некоторые будут пробовать компакт-диск перед жесткими дисками, но не USB. Люди привыкли к необходимости проверять конфигурацию BIOS, чтобы убедиться, что порядок загрузки «правильный» при попытке установить новую операционную систему.

    Это относится и к миру UEFI, но из-за дополнительной гибкости / сложности механизма диспетчера загрузки UEFI он может выглядеть незнакомым и пугающим.

    Если вы хотите убедиться, что ваша система пытается загрузиться со съемных устройств, используя резервный механизм, прежде чем она попытается загрузить «постоянные» загрузочные записи — как вы захотите сделать, скажем, если вы хотите установить Fedora — вам необходимо это должно быть по умолчанию для вашей прошивки, или вам нужно указать это прошивке. В зависимости от интерфейса вашей прошивки вы можете обнаружить, что для каждого подключенного съемного устройства есть «пункт меню», и вам просто нужно настроить порядок загрузки, чтобы поместить его в верхнюю часть списка, или вы можете обнаружить, что существует механизм для напрямую запросите «резервную загрузку UEFI этого конкретного диска», или вы можете обнаружить, что микропрограмма пытается каким-то образом абстрагироваться от конфигурации.Мы просто не знаем, и это затрудняет написание инструкций для этого. Но теперь вы в целом понимаете, как все работает за кулисами, и вам может быть легче понять, как это отображается в пользовательском интерфейсе вашей прошивки.

    Настройка процесса загрузки (из операционной системы)

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

    Вы можете использовать упомянутый ранее инструмент efibootmgr , чтобы добавлять, удалять и изменять записи в конфигурации диспетчера загрузки UEFI, а также делать с ним множество других вещей. Вы можете изменить порядок загрузки. Вы можете указать ему загружать определенную запись в списке при следующей загрузке вместо использования списка BootOrder (если вы или какой-либо другой инструмент настроили это, ваш вывод efibootmgr -v будет включать BootNext , указывающий, какой пункт меню будет загружен при следующей загрузке).Есть инструменты для Windows, которые тоже могут делать это из Windows. Так что, если вы действительно изо всех сил пытаетесь сделать то, что хотите, с конфигурацией загрузки UEFI из интерфейса прошивки, но вы можете загрузить какую-либо родную операционную систему UEFI, вы можете рассмотреть возможность загрузки конфигурацию из этой операционной системы, а не из пользовательского интерфейса прошивки.

    Итак, резюмируем:

    • Ваша прошивка UEFI содержит что-то очень похожее на то, что вы называете загрузочным меню.
    • Вы можете запросить его конфигурацию с помощью efibootmgr -v из любой загрузки ОС Linux с исходным UEFI, а также изменить свою конфигурацию на efibootmgr (подробности см. На странице руководства).
    • Это «загрузочное меню» может содержать записи, которые говорят «загрузите этот диск в режиме совместимости с BIOS», «загрузите этот диск в собственном режиме UEFI через резервный путь» (который будет использовать метод «искать BOOT (что-то) .EFI» описано выше) или «загрузить конкретный исполняемый файл формата EFI в этом конкретном месте (почти всегда в системном разделе EFI)».
    • Приятный, чистый дизайн, который пытается подразумевать спецификация UEFI, заключается в том, что все операционные системы должны устанавливать собственный загрузчик в системный раздел EFI, добавлять в это «загрузочное меню» записи, указывающие на самих себя, и отказываться от попыток чтобы взять под контроль загрузку чего-либо еще.
    • Пользовательский интерфейс вашего микропрограммного обеспечения имеет полную свободу действий, чтобы представить вам этот механизм в любом виде, и он может делать это хорошо или может делать это плохо.

    Установка операционных систем на компьютеры с UEFI

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

    Загрузка с собственным UEFI и совместимостью с BIOS

    Вот очень простой пример, который люди иногда упускают:

    • Если вы загружаете установочный носитель в «родном» режиме UEFI, он выполнит собственную установку операционной системы UEFI: он попытается записать загрузчик формата EFI в системный раздел EFI и попытается добавить запись в меню загрузки диспетчера загрузки UEFI, которое загружает этот загрузчик.
    • Если вы загружаете установочный носитель в режиме «совместимости с BIOS», он выполнит установку операционной системы, совместимую с BIOS: он попытается записать загрузчик типа MBR в волшебное пространство MBR на диске.

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

    Вы действительно не можете выполнить полностью успешную установку ОС с использованием UEFI, если вы загружаете ее установочный носитель в режиме совместимости с BIOS, потому что установщик не сможет настроить диспетчер загрузки UEFI (это возможно только при загрузке с исходным UEFI) .

    Теоретически установщик ОС может установить ОС в стиле BIOS — то есть записать загрузчик в MBR диска — после загрузки в собственном режиме UEFI, но большинство из них этого не сделает, и это, наверное, разумно.

    Определение того, в каком режиме вы загружены

    Возможно, вы обнаружите, что загрузили программу установки операционной системы и не уверены, действительно ли она загружается в основном режиме UEFI или режиме совместимости с BIOS.Не паникуйте! Это довольно легко выяснить несколькими способами. Один из самых простых — просто попытаться поговорить с менеджером загрузки UEFI. Если вы загрузили установщик Linux или среду и можете перейти к оболочке (например, ctrl-alt-f2 в установщике Fedora), запустите efibootmgr -v . Если вы загрузились в основном режиме UEFI, вы получите конфигурацию диспетчера загрузки UEFI, как показано выше. Если вы загрузились в режиме совместимости с BIOS, вы получите что-то вроде этого:

      Неустранимая ошибка: не удалось открыть каталоги sysfs или procfs для доступа к переменным EFI.Попробуйте "modprobe efivars" от имени пользователя root.
      

    Если вы загрузили какую-то другую операционную систему, вы можете попробовать запустить служебную программу, встроенную в эту ОС, которая пытается взаимодействовать с менеджером загрузки UEFI, и посмотреть, получите ли вы разумный вывод или ошибку подобного рода. Или вы можете изучить системные журналы и выполнить поиск по запросу «efi» и / или «uefi», и вы, вероятно, найдете какое-то указание.

    Включение собственной загрузки UEFI

    Чтобы быть загрузочным в собственном режиме UEFI, ваш установочный носитель ОС, очевидно, должен действительно соответствовать всему, что мы только что описали: он должен иметь таблицу разделов GPT и системный раздел EFI с загрузчиком в правильном « резервном » путь — \ EFI \ BOOT \ BOOTx64.EFI (или другие названия для других платформ). Если у вас возникли проблемы с загрузкой установочного носителя через UEFI и вы не можете понять, почему, убедитесь, что это действительно так. Примечательно, что при использовании инструмента livecd-iso-to-disk для записи образа Fedora на USB-накопитель необходимо передать параметр --efi , чтобы настроить накопитель как загрузочный UEFI.

    Принудительная загрузка с совместимостью с BIOS

    Если ваша прошивка сильно затрудняет загрузку со съемного носителя в режиме совместимости с BIOS, но вы действительно хотите это сделать, вы можете использовать удобный трюк: просто сделайте носитель вообще не загрузочным с UEFI.Вы можете сделать это довольно легко, просто очистив все системные разделы EFI. (В качестве альтернативы, если вы используете livecd-iso-to-disk для создания USB-накопителя из образа Fedora, вы можете просто опустить параметр --efi , и он не будет загрузочным по UEFI). Если в этот момент ваша прошивка отказывается загружать ее в режиме совместимости с BIOS, начните ругаться с поставщиком прошивки (если вы этого еще не сделали).

    Дисковые форматы (MBR и GPT)

    Вот еще одно очень важное соображение:

    • Если вы хотите выполнить установку типа «совместимость с BIOS», вы, вероятно, захотите выполнить установку на диск, отформатированный в MBR.
    • Если вы хотите выполнить собственную установку UEFI, вы, вероятно, захотите выполнить установку на диск в формате GPT.

    Конечно, чтобы усложнить жизнь, многие прошивки могут загружать в стиле BIOS с диска, отформатированного под GPT. Прошивки UEFI на самом деле технически требуются для возможности загрузки в стиле UEFI с диска, отформатированного в MBR (хотя мы не особенно уверены, что все они действительно могут). Но вам действительно следует избегать этого, если это вообще возможно. Это соображение очень важно, так как оно сбивает с толку довольно много людей.Например, не рекомендуется загружать установщик ОС в собственном режиме UEFI, а затем пытаться установить его на диск, отформатированный в MBR, без его переформатирования. Это очень вероятно. Большинство современных установщиков ОС автоматически переформатируют диск в правильный формат, если вы разрешите им полностью стереть его, но если вы попытаетесь сказать установщику, выполните собственную установку UEFI на этот отформатированный диск MBR и не переформатируйте его, потому что он имеет данные на нем, которые мне небезразличны », очень вероятно, что он потерпит неудачу, даже если эта конфигурация технически покрыта спецификацией UEFI.В частности, Windows и Fedora по крайней мере явно запрещают эту конфигурацию.

    Проверка формата диска

    Вы можете использовать утилиту parted для проверки формата данного диска:

      [adamw @ adam Downloads] $ sudo parted / dev / sda
    GNU Parted 3.1
    Использование / dev / sda
    Добро пожаловать в GNU Parted! Введите «help», чтобы просмотреть список команд.
    (расстались) п
    Модель: ATA C300-CTFDDAC128M (scsi)
    Диск / dev / sda: 128 ГБ
    Размер сектора (логический / физический): 512Б / 512Б
    Таблица разделов: msdos
    Флаги диска:
    
    Номер Начало Конец Размер Тип Файловая система Флаги
     1 1049 КБ 525 МБ 524 МБ первичная загрузка ext4
     2 525 МБ 128 ГБ 128 ГБ основной lvm
    
    (расстались)
      

    Видите, что Таблица разделов: msdos ? Это диск в формате MBR / MS-DOS.Если бы он был отформатирован GPT, это было бы gpt . Вы можете переформатировать диск с другим типом таблицы разделов, выполнив mklabel gpt или mklabel msdos из parted. Это уничтожит содержимое диска.

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

    Обработка системного раздела EFI при ручном разделении

    Я могу дать здесь только авторитетный совет для Fedora, но суть может быть полезна для других дистрибутивов / ОС.

    Если вы разрешите Fedora обрабатывать разделы за вас при выполнении собственной установки UEFI — и вы используете диск в формате GPT или разрешите ему переформатировать диск (удалив все существующие разделы) — он будет обрабатывать системные разделы EFI для ты.

    Однако, если вы используете настраиваемое разбиение на разделы, он будет ожидать, что вы предоставите системный раздел EFI для использования установщиком.Если вы этого не сделаете, установщик пожалуется (с несколько сбивающим с толку сообщением об ошибке) и откажется запустить установку.

    Итак, если вы выполняете собственную установку UEFI и используете настраиваемое разбиение на разделы, вам необходимо убедиться, что раздел типа «системный раздел EFI» смонтирован по адресу / boot / efi — именно здесь Fedora ожидает найти EFI системный раздел, который он использует. Если в системе есть существующий системный раздел EFI, просто установите для него точку монтирования / boot / efi .Если системного раздела EFI еще нет, создайте раздел, установите его тип как Системный раздел EFI , сделайте его размером не менее 200 МБ (достаточно 500 МБ) и установите его точку монтирования на / boot / efi .

    Конкретный пример

    Чтобы свести к минимуму сказанное выше: если вы купили систему с Windows 8 или новее, у вас почти наверняка установили Windows с UEFI на диск в формате GPT. Это означает, что если вы хотите установить другую ОС вместе с этой установкой Windows, вы почти наверняка захотите выполнить установку другой вашей ОС с использованием UEFI.Если вам не нравится вся эта чушь UEFI и вы хотите вернуться в старый добрый мир, с которым вы знакомы, вам, я боюсь, придется сдуть установку Windows, родную для UEFI, и это будет Хорошая идея переформатировать диск в MBR.

    Последствия и осложнения

    Итак, вот как работает загрузка UEFI, по крайней мере, в разумном приближении. Когда я так это описываю, почти все имеет смысл, не так ли?

    Однако не все сладко и легко. Есть проблемы.Всегда есть.

    Внимательные читатели могли заметить, что я говорил о спецификации UEFI , обеспечивающей механизм. Это верно и важно. Поскольку спецификация UEFI представляет собой нечто вроде «широкого консенсуса», одним из ее основных недостатков (если смотреть с конкретной точки зрения) является то, что она далеко не является достаточно предписывающей.

    Если вы читаете спецификацию UEFI критически, ее основной подход — определить набор функций, которые должны поддерживать прошивки, совместимые с UEFI. Чего он вообще не делает, так это строгого требования, чтобы что-то делалось определенным образом или не выполнялось каким-либо определенным образом.

    Итак: в спецификации сказано, что системная прошивка должна выполнять все функции, которые я описал выше, чтобы считаться UEFI-совместимой прошивкой. В спецификации, однако, не говорится о том, что операционные системы «должны» или «должны» делать, и не говорится, что прошивки должны поддерживать , а не (или никто не может ожидать от них поддержки, или что-то еще. )…ничего вообще. Другими словами, если вы делаете прошивку UEFI, вы должны поддерживать диски в формате GPT и системные разделы EFI в формате FAT, и вы должны читать записи диспетчера загрузки UEFI в стандартном формате, и вы должны делать то и то и другой — но вы также можете делать любую другую хрень , которая вам нравится.

    Довольно легко прочесть некоторые выводы из спецификации — он тщательно настраивает этот прекрасный механизм для обработки выбора ОС (или другой «загрузочной вещи») на уровне прошивки, например, с явным подтекстом «эй, это было бы отлично, если бы все операционки были написаны на этот механизм ». Но спецификация UEFI не требует этого , как и никакая другая широко уважаемая спецификация.

    Итак, что происходит в реальном мире, так это то, что мы заканчиваем действительно тупой чушью.Apple, например, поставляет по крайней мере или Mac с их загрузчиками в разделе HFS +. В спецификации говорится, что микропрограмма, совместимая с UEFI, должна поддерживать разделы UEFI FAT с определенным типом раздела GPT, который идентифицирует их как «системный раздел EFI», но не говорится, что микропрограмма не может также распознавать некоторые другие типы файловых систем и загрузите загрузчик оттуда. (Считаете ли вы такой раздел «системным разделом EFI» или нет — это интересная философская загадка, но давайте пока рассмотрим ее).

    Мир явно стал бы лучше, если бы все просто чертовски хорошо использовали формат системного раздела EFI, который спецификация так старается определить, но Apple — это Apple, и у нас не может быть хороших вещей, поэтому Apple пошла вперед и написали прошивки, которые также могут читать и загружать код из разделов HFS +, и теперь всем остальным приходится иметь дело с этим или сказать Mac, чтобы они пошли и попали. Apple также довольно далеко выходит за рамки спецификации в дизайне процесса загрузки, и если вы хотите, чтобы ваша альтернативная ОС отображалась в ее графическом меню загрузки с красивым значком и другими вещами, вам нужно сделать больше, чем то, что предлагает спецификация UEFI. .

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

    Также, как мы отметили ранее, в спецификации не содержится требований относительно того, как механизм должен быть представлен пользователю. Так что, если несколько компаний-разработчиков программного обеспечения пишут операционные системы так, чтобы они вели себя «хорошо» в соответствии с соглашениями, спецификация явно предназначена для поддержки, установки загрузчиков EFI и определения записей диспетчера загрузки EFI с красивыми понятными именами — например, ну скажем, «Fedora» и «Windows» — они неявно полагаются на прошивку, чтобы затем предоставить пользователю какой-то вид разумного интерфейса где-то относительно легко обнаруживаемого, который позволяет им выбрать загрузку «Windows» или «Fedora».Чем больше прошивок не справляются с этой задачей, тем меньше инженеры ОС будут полагаться на «правильные» соглашения и тем более вероятно, что они начнут восстанавливать уродливые хаки выше уровня прошивки.

    Честно говоря, на уровне ОС мы могли бы сделать несколько больше. Мы могли бы представить все эти аккуратные возможности efibootmgr более очевидным образом — мы можем использовать это «не уважать BootOrder при следующей загрузке, а вместо этого загружать эту возможность », например, и иметь «Reboot to Windows» как вариант.Было бы неплохо, если бы кто-нибудь посмотрел на демонстрацию всей этой функциональности в более очевидном месте, чем efibootmgr. Системы Windows 8 в некоторой степени используют это — например, вы можете перезагрузить систему в пользовательский интерфейс прошивки из меню настроек Windows 8. Но до сих пор.

    Все это действительно невероятно расстраивает, потому что UEFI настолько близок к к тому, чтобы сделать вещи действительно намного лучше. Подход BIOS вообще не предусматривает каких-либо соглашений или стандартов для мультизагрузки — имеет , которые должны обрабатываться полностью выше уровня прошивки.Мы (индустрия) могли бы придумать какое-то соглашение для обработки мультизагрузки, но мы так и не сделали, так что это просто превратилось в эпический провал на несколько десятилетий, когда каждая операционная система придумала свой собственный подход, и многие люди написали свои собственные загрузчики, которые пытались охватить все операционные системы и все операционные системы, и независимые загрузчики весело дрались, как коты в мешке. Я имею в виду, что мультизагрузка до UEFI — это такой кластер, черт возьми, в него даже не стоит вдаваться, он по определению отличается от воскресенья шестнадцатью способами.

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

    Это не та перспектива, которая наполняет разум любого, кому приходилось думать об этом с радостью.

    Тем не менее, важно признать, что грехи UEFI в этой области — это грехи упущения, а не грехи по поручению и не результат злых умыслов с чьей-либо стороны.Если у вас идиотская системная прошивка, которая не дает вам хорошего доступа к механизму диспетчера загрузки UEFI, вам действительно следует сердиться, это не форум UEFI или Microsoft, и это , безусловно, не Fedora и даже больше конечно не я Smile. Сущность, на которую вы должны злиться, — это производитель вашей системы / материнской платы и чертовски некомпетентные люди, которых они наняли для написания прошивки, потому что спецификация UEFI делает чертовски ясным для любого, у кого есть две клетки мозга, которые нужно тереть вместе, что это было бы очень хорошей идеей. чтобы предоставить какой-то полезный пользовательский интерфейс для диспетчера загрузки UEFI, и любая прошивка, которая этого не делает, по определению является дерьмовым кодом.Да, форум UEFI должен был понять, что инженеры прошивки не могут закодировать свой выход из проклятого бумажного пакета, и просто приказал им это сделать, но все же в конечном итоге именно инженеры прошивки должны быть выстроены в линию у ближайшей стены.

    Подождите, мы можем это упростить. «Любая прошивка — это хрень». Обычно довольно точно.

    Безопасная загрузка

    Итак, мы подошли, наконец, к безопасной загрузке.

    Безопасная загрузка — это не волшебство. Это не сложно. Хорошо, это ложь, это невероятно сложно, но теория не очень сложна.И нет, Secure Boot — это не зло. Мне вполне комфортно констатировать это как факт, и вам следует поступать так же, если вы не думаете, что GPG — зло.

    Безопасная загрузка определена в главе 28 спецификации UEFI (по крайней мере, 2.4a). На самом деле это довольно умный механизм. Но то, что он делает, можно описать очень и очень просто. В нем говорится, что прошивка может содержать набор подписей и отказываться запускать любой исполняемый файл EFI, который не подписан одной из этих подписей.

    Вот и все. Что ж, нет, на самом деле это не так, но это разумно приемлемое упрощение.Безопасность — это сложно, поэтому для реализации действительно безопасной загрузочной цепочки с помощью Secure Boot существуют всевозможные хитрости, и mjg59 может рассказать вам все о них, или вы можете налить еще одну большую порцию джина и прочитать всю главу 28. Но это основная мысль.

    Использование криптографии с открытым ключом для проверки целостности чего-либо вряд ли является радикальной или злой концепцией. Практически все дистрибутивы Linux зависят от этого — мы подписываем наши пакеты, и наши менеджеры пакетов переходят AWOOGA AWOOGA, если вы пытаетесь установить пакет, который не подписан одним из наших ключей.Мы не являемся злом, и я не думаю, что кто-либо когда-либо обвинял ОС в зле за использование криптографической подписи с открытым ключом для установления доверия таким образом. Безопасная загрузка — это буквально тот же самый широко распространенный механизм, применяемый к загрузочной цепочке. Тем не менее, поскольку группа журналистов дико схватила не за тот конец палки, многие считают, что это немного более зло, чем Гитлер.

    Secure Boot, как определено в спецификации UEFI, вообще ничего не говорит о том, каким ключам должна быть доверенная прошивка или откуда они должны поступать.Я не собираюсь вдаваться во все эти чертовы подробности, потому что это становится до чертовски скучным, а этот пост уже слишком длинный. Но краткое изложение состоит в том, что спецификация полностью и полностью посвящена определению механизма для выполнения криптографической проверки загрузочной цепочки. На самом деле он даже не рассматривает какие-либо неприятные вопросы о политике для этого. Ничего плохого не делает. Он настолько гибкий, насколько это возможно, и позволяет настраивать все задействованные механизмы на нескольких уровнях.Слово «Microsoft» не упоминается. Это никоим образом не является секретной программой мирового господства Microsoft. Если вы сомневаетесь в этом, по крайней мере, черт возьми, идите и прочтите . Я дал вам все необходимые указания. Буквально нет ни одной законной причины, по которой я могу придумать, чтобы кто-то был зол идеей «эй, было бы здорово, если бы в этой спецификации прошивки был механизм дополнительной криптографической проверки кода загрузчика».Никто. Не один.

    Безопасная загрузка в реальном мире

    Большая часть неудовлетворенности Secure Boot на самом деле связана не с механизмом Secure Boot — независимо от того, думают ли люди, выражающие это недовольство , это так или нет, — а из-за конкретных реализаций Secure Boot в реальном мире.

    Единственное, что нас действительно волнует, — это безопасная загрузка, поскольку она реализована на ПК с предустановленной Microsoft Windows 8 или более поздней версии.

    У Microsoft есть такие вещи, которые называются требованиями к сертификации оборудования Windows.Там они. Они не являются совершенно секретными, только для глаз. После прочтения вас накормят акулами Билла Гейтса — они прямо в Интернете, чтобы любой мог их прочитать.

    Если вы хотите получить дешевые корпоративные лицензии Windows от Microsoft для предварительной установки на свои компьютеры и получить приятное «обнадеживающее» сообщение «Microsoft Approved!». наклейку или другой предмет на корпусе, вы должны соблюдать эти требования. Это все, что у них есть: они не на самом деле часть закона Соединенных Штатов или любой другой страны, во что бы ни верили некоторые люди.Билл Гейтс не сможет скормить вас своим акулам, если вы продадите компьютер, не соответствующий этим требованиям, при условии, что вам не нужна дешевая копия Windows для предустановки и красивая наклейка. Буквально не требуется, чтобы ПК, проданный вне программы лицензирования Microsoft , настраивал безопасную загрузку каким-либо определенным образом или вообще включал безопасную загрузку. ПК, который утверждает, что имеет прошивку, совместимую с UEFI 2.2 или более позднюю версию, должен реализовывать безопасную загрузку, но может поставляться с ней, настроенной буквально любым способом (включая выключенный).

    Если вы собираетесь иметь очень громкое мнение о безопасной загрузке, у вас нет оправдания, чтобы не пойти и не прочитать требования сертификации Microsoft. Сейчас. Я буду ждать. Вы можете выполнить поиск по запросу «Безопасная загрузка», чтобы перейти к соответствующему биту. Он начинается с «System.Fundamentals.Firmware.UEFISecureBoot».

    Вы должны это прочитать. Но вот краткое изложение того, что в нем говорится.

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

    • Доставка с включенной безопасной загрузкой (кроме серверов)
    • Иметь ключ Microsoft в списке ключей, которым они доверяют
    • Отключить режим совместимости с BIOS, когда включена безопасная загрузка (на самом деле этого требует спецификация UEFI, если я правильно ее прочитал)
    • Поддержка подписи в черный список

    Компьютеры x86 , соответствующие требованиям, должны дополнительно:

    • Разрешить физически присутствующему человеку отключить безопасную загрузку
    • Разрешить физически присутствующему человеку включить пользовательский режим и изменить список ключей, которым доверяет прошивка.

    Компьютеры ARM , соответствующие требованиям, должны дополнительно:

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

    Да.Вы правильно прочитали. Сертификационные требования Microsoft для компьютеров x86 явно требуют от разработчиков предоставить физически присутствующему пользователю полный контроль над безопасной загрузкой — выключить его или полностью контролировать список ключей, которым он доверяет. Еще одно важное замечание здесь заключается в том, что хотя в требованиях к сертификации указано, что готовый список доверенных ключей должен включать ключ Microsoft, они не говорят, например, что он должен не включать какие-либо другие ключи. .Требования явно и намеренно позволяют системе поставляться с любым количеством других доверенных ключей.

    Эти требования не представлены полностью по доброте сердца Microsoft или чего-то еще — они присутствуют в значительной степени потому, что другие люди объяснили Microsoft, что, если бы они не присутствовали, у нее был бы адский судебный процесс по его руки 2 — но они присутствуют. Любой, кто действительно понимает UEFI и Secure Boot, не сможет прочитать требования каким-либо другим способом, они предельно ясны и недвусмысленны.Оба они явно намереваются и преуспеть в , гарантируя, что владелец сертифицированной системы имеет полный контроль над безопасной загрузкой.

    Если у вас есть система x86, которая утверждает, что она сертифицирована для Windows, но не позволяет вам отключить безопасную загрузку, это является прямым нарушением требований сертификации, и вам, безусловно, следует кому-то очень громко пожаловаться. Если существует много таких систем, то у нас явно есть проблема, и, возможно, пришло время для этого гигантского судебного процесса, но пока я не знаю об этом.Все системы на базе x86, сертифицированные для Windows, имеют в прошивках параметр «отключить безопасную загрузку».

    Теперь для машин ARM требования значительно более зловещие: они заявляют прямо противоположное, что должна быть возможность , а не , отключить безопасную загрузку, и что владелец системы должен иметь возможность , а не , изменить доверенные ключи. Это плохо и неправильно. Это превращает сертифицированные Microsoft системы ARM в систему закрытого типа. Но стоит отметить, что это не более плохой или неправильный, чем большинство других основных платформ ARM.Apple блокирует загрузчик на всех iDevices, и большинство устройств Android также поставляются с заблокированными загрузчиками.

    Если вы планируете купить сертифицированное Microsoft устройство ARM, помните об этом, и имейте в виду, что вы не будете контролировать, что вы можете на нем загружать. Если вам это не нравится, не покупайте. Но также не покупайте iDevice или Android-устройство с заблокированным загрузчиком (вы все равно можете купить Android-устройства с разблокированными или разблокируемыми загрузчиками, но вам нужно провести исследование).

    Что касается устройств x86, то сейчас сертификационные требования Microsoft явно защищают ваше право определять, что может загружаться в вашей системе. Это хорошо.

    Рекомендации

    Ниже приведены Общие рекомендации AdamW по управлению загрузкой системы, предлагаемые без каких-либо гарантий точности, чистоты или безопасности.

    • Если возможно, установите по одной ОС на компьютер. Если вам нужно несколько ОС, купите больше компьютеров или воспользуйтесь виртуализацией.Если вы можете это сделать, все очень просто, и не имеет большого значения, если у вас есть прошивка BIOS или UEFI, или используете ли UEFI-native или BIOS-совместимую загрузку в системе UEFI. Все будет красиво и легко и работать. Вы будете насвистывать во время работы, будьте добры к детям и маленьким животным. Все будет сладко и светло. Действительно, сделай это.
    • Если вам абсолютно необходимо иметь более одной ОС на компьютере, установите хотя бы одну ОС на диск . Если вы достаточно хорошо знакомы с тем, как работает загрузка в стиле BIOS, и не думаете, что вам нужна безопасная загрузка, вполне разумно использовать загрузку, совместимую с BIOS, а не загрузку в стиле UEFI в этой ситуации в системе с поддержкой UEFI.У вас, вероятно, будет меньше боли, и вы действительно ничего не потеряете. С одной ОС на диск вы также можете смешивать установки, совместимые с UEFI и BIOS.
    • Если вы абсолютно настаиваете на наличии более одной ОС на диске , поймите все, что написано на этой странице, поймите, что вы делаете свою жизнь намного более болезненной, чем она должна быть, запаситесь хорошими запасами болеутоляющих и джин, и не кричите на поставщика вашей ОС, что бы ни сломалось. Какой бы бедный ублюдок ни имел дело с поддержкой вашей ОС для такого рода настроек, уже прожил достаточно жалкую жизнь.И ради любви к файлам cookie , не смешивайте установки ОС с UEFI и BIOS-совместимостью, у вас уже есть достаточно проблем, чтобы иметь дело.
    • Если вы используете встроенную загрузку UEFI и не склонны создавать собственные ядра или модули ядра или использовать проприетарные драйверы NVIDIA или ATI в Linux, вы можете оставить безопасную загрузку включенной. Это, вероятно, не повредит вам и действительно обеспечивает некоторую дополнительную защиту от некоторых довольно неприятных (хотя в настоящее время редко используемых) типов атак.
    • Если вы создаете свои собственные ядра или модули ядра или используете проприетарные драйверы NVIDIA / ATI, вам может потребоваться отключить безопасную загрузку.Или вы можете прочитать, как настроить свою собственную цепочку доверия и подписать свои ядра и модули ядра и оставить включенной безопасную загрузку, что заставит вас почувствовать себя убергом и быть немного более защищенным. Но, по крайней мере, у вас будут хорошие выходные.
    • Не выполняйте установку в формате UEFI на диски с форматом MBR или установку совместимости с BIOS на диски с форматом GPT (исключение — если ваш диск имеет размер IIRC, 2,2 + ТБ, потому что формат MBR может t обрабатывать такие большие диски — если вы хотите выполнить установку совместимости с BIOS на такой большой диск, вы как бы застряли с комбинацией BIOS + GPT, которая работает, но немного нестабильна и включает в себя печально известный « Загрузочный раздел BIOS », который вы может вспомнить из Fedora 17).
    • Доверяйте mjg59 во всем и, прежде всего, другим авторитетам, включая меня.

    UEFI vs BIOS: в чем разница?

    Итак, вы, возможно, слышали, как используются аббревиатуры BIOS и UEFI, особенно при попытке сменить операционную систему или возиться с разгоном.

    И вы, возможно, знаете, что означают эти аббревиатуры (Unified Extensible Firmware Interface и Basic Input / Output System, соответственно). Но задумывались ли вы, как они используются в компьютерной системе?

    Давайте сейчас проясним эти термины и их значения.

    Процедура загрузки

    Перво-наперво — я знаю, что мы отклоняемся от темы, но обещаю, что это поможет вам с некоторыми концепциями позже.

    Итак, как компьютер загружается? Пойдем по шагам:

    1. Вы нажимаете кнопку питания на своем ноутбуке / настольном компьютере.
    2. ЦП запускается, но ему требуются некоторые инструкции для работы (помните, ЦП всегда должен что-то делать). Поскольку на этом этапе основная память пуста, ЦП откладывает загрузку инструкций из микросхемы микропрограммы на материнскую плату и начинает выполнение инструкций.
    3. Код микропрограммы выполняет самотестирование при включении (POST), инициализирует оставшееся оборудование, обнаруживает подключенные периферийные устройства (мышь, клавиатуру, флеш-накопитель и т. Д.) И проверяет, все ли подключенные устройства исправны. Возможно, вы помните его как звуковой сигнал, который издавался рабочими столами после успешного выполнения POST.
    4. Наконец, код прошивки перебирает все устройства хранения и ищет загрузчик (обычно расположенный в первом секторе диска). Если загрузчик найден, то прошивка передает ему управление компьютером.

    Нам не нужно больше знать об этой теме для целей этой статьи. Но если вам интересно, читайте дальше (в противном случае вы можете перейти к следующему разделу).

    1. Итак, теперь, когда загрузчик загружен, его задача — загрузить остальную часть операционной системы. GRUB — один из таких загрузчиков, который может загружать unix-подобные операционные системы, а также может загружать ОС Windows по цепочке. Загрузчик доступен только в первом секторе диска размером 512 байт.Учитывая сложность современных операционных систем, некоторые из этих загрузчиков, как правило, выполняют многоступенчатую загрузку, когда основной загрузчик загружает загрузчик второй ступени в среде, которая не ограничена 512 байтами.

    2. Затем загрузчик загружает ядро ​​в память. Unix-подобные операционные системы затем запускают процесс init (главный процесс, из которого разветвляются / выполняются другие процессы) и, наконец, инициализируют уровни выполнения.

    3. В Windows wininit.exe загружается вместе с некоторыми другими процессами, такими как services.exe для управления службами, lsass.exe для локальной безопасности и полномочий (аналогично уровням выполнения) и lsm.exe для управления локальными сеансами.

    4. После всего этого и после инициализации некоторых других драйверов загружается графический интерфейс пользователя (GUI), и вам предоставляется экран входа в систему.

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

    Теперь вернемся к нашей исходной теме.

    BIOS:

    BIOS означает базовую систему ввода / вывода, микропрограмму, о которой мы говорили в вышеупомянутой процедуре загрузки.

    Он хранится в EPROM (стираемое программируемое постоянное запоминающее устройство), что позволяет производителю легко распространять обновления.

    Он предоставляет множество вспомогательных функций, которые позволяют читать загрузочные секторы подключенного хранилища и выводить данные на экран.Вы можете получить доступ к BIOS на начальных этапах процедуры загрузки, нажав del , F2 или F10 .

    UEFI:

    ASUS UEFI

    UEFI означает Unified Extensible Firmware Interface. Он выполняет ту же работу, что и BIOS, но с одним основным отличием: он хранит все данные об инициализации и запуске в файле .efi, а не в микропрограмме.

    Этот файл .efi хранится в специальном разделе под названием EFI System Partition (ESP) на жестком диске.Этот раздел ESP также содержит загрузчик.

    UEFI был разработан для преодоления многих ограничений старого BIOS, в том числе:

    1. UEFI поддерживает диски размером до 9 зеттабайт, тогда как BIOS поддерживает только 2,2 терабайта.
    2. UEFI обеспечивает более быстрое время загрузки.
    3. UEFI поддерживает дискретные драйверы, в то время как BIOS поддерживает диски, хранящиеся в его ПЗУ, поэтому обновление микропрограмм BIOS немного затруднено.
    4. UEFI предлагает такую ​​безопасность, как «Безопасная загрузка», которая предотвращает загрузку компьютера из неавторизованных / неподписанных приложений.Это помогает предотвратить использование руткитов, но также затрудняет двойную загрузку, поскольку рассматривает другие ОС как неподписанные приложения. В настоящее время подписанными ОС являются только Windows и Ubuntu (дайте мне знать, если я ошибаюсь).
    5. UEFI работает в 32-битном или 64-битном режиме, тогда как BIOS работает в 16-битном режиме. Таким образом, UEFI может предоставлять графический интерфейс (навигацию с помощью мыши) в отличие от BIOS, который позволяет осуществлять навигацию только с помощью клавиатуры.

    Возможно, вам не понадобится UEFI

    Хотя все современные компьютеры по умолчанию оснащены UEFI, некоторые причины, по которым вы можете выбрать BIOS вместо UEFI:

    1. Если вы новичок и не заботитесь о том, чтобы возиться с любым типом прошивки, BIOS для вас.
    2. Если у вас <2 ТБ на жесткий диск или раздел, вы можете использовать BIOS.
    3. BIOS позволяет запускать несколько операционных систем без изменения каких-либо настроек. Это может быть проблемой безопасности с современной точки зрения, но никаких проблем для пользователя.
    4. BIOS предоставляет операционной системе информацию о системе. Поэтому, если ваша ОС работает в 16-битном режиме, она не требует написания кода для взаимодействия с оборудованием. Он может напрямую использовать методы, предоставляемые BIOS. В противном случае, если ОС переключается в 32-битный или 64-битный режим, ей необходимо предоставить свои собственные подпрограммы для взаимодействия с оборудованием.
    5. Если вы предпочитаете клавиатуру и текстовый интерфейс, а не навигацию с помощью мыши и графического интерфейса, то BIOS для вас.

    UEFI учитывает эти ограничения и предоставляет устаревший режим. В нем можно запускать все, как если бы у вас была прошивка BIOS. Но имейте в виду, что Intel объявила, что не будет поддерживать традиционный BIOS с 2020 года.

    Заключение

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

    Если у вас возникнут вопросы, я всегда буду доступен в Твиттере. Спасибо за ваше время.

    31.3.3 Загрузка драйверов UEFI — EDK II Руководство по созданию драйверов UEFI

    Загрузить

    Загружает драйвер UEFI из файла. Файлы драйверов UEFI обычно имеют расширение .efi . Команда Load имеет одну важную опцию, -nc («Нет соединения»), для разработчиков драйверов UEFI. Когда команда Load используется без параметра -nc , загруженный драйвер автоматически подключается к любым устройствам в системе, которыми он может управлять.Это означает, что выполняется точка входа драйвера UEFI, а затем вызывается служба загрузки UEFI ConnectController () . Если драйвер UEFI создает протокол привязки драйвера в точке входа драйвера, то вызов ConnectController () выполняет созданные службы Supported () и Start () протокола привязки драйвера. Если параметр -nc используется с командой Load , то эта операция автоматического подключения не выполняется.Вместо этого выполняется только точка входа драйвера UEFI. Когда используется параметр -nc , можно использовать команду оболочки UEFI connect для подключения драйвера UEFI к любым устройствам в системе, которыми он может управлять. Команда Load также может принимать подстановочные знаки, поэтому одновременно можно загружать несколько драйверов UEFI. В приведенном ниже коде показаны следующие примеры команды Load : Пример 1: Загружает и не подключает образ драйвера UEFI EfiDriver.efi . В этом примере проверяется только точка входа драйвера UEFI: fs0:> Загрузить -nc EfiDriver.efi Пример 2: Загружает и подключает образ драйвера UEFI с именем EfiDriver.efi . В этом примере проверяется точка входа драйвера UEFI и функции Supported () и Start () протокола привязки драйверов: fs0:> Загрузить EfiDriver.efi Пример 3: Загружает и соединяет все драйверы UEFI с .efi расширение от fs0: , используя точки входа драйвера UEFI и их Поддерживаемые () и Start () Протокол функции драйвера: 9034 `fs0:> Load .efi`

    LoadPciRom

    Эта команда используется для имитации загрузки дополнительного ПЗУ PCI драйвером шины PCI. Он также поддерживает флаг -nc , как и команда Load , но принимает имя файла PCI Option ROM вместо .efi файл.

    10 вещей, которые следует знать об UEFI

    Если вы немного не уверены в том, что такое UEFI и как он существенно изменит функциональность современного ПК, эти краткие факты помогут вам быстро освоиться.

    Возможно, вы слышали об унифицированном расширяемом интерфейсе микропрограмм (UEFI), но не понимали, что это означает. Я обычно слышу это в связи с некоторыми «секретными соусами», которые используют Macintosh, чтобы «не допустить загрузки Windows на них» или, возможно, «чтобы обычные ПК не загружали OS X.«Хотя это правда, что компьютеры Mac используют UEFI, это еще не все. Вот 10 вещей, которые вы должны знать об UEFI.

    1: UEFI — это замена BIOS

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

    2: Обеспечивает лучшую поддержку дисков

    UEFI наконец избавляется от старых дисков основной загрузочной записи (MBR) в стиле DOS, перенося нас в будущее таблицы разделов GUID (GPT). Хотя не все операционные системы поддерживают загрузку с дисков GPT (в частности, 32-разрядные версии Windows), поддержка GPT на уровне микропрограмм позволяет использовать диски огромного размера даже для загрузки операционной системы.

    3: Apple уже использует его

    Вы мало что слышали об UEFI? Это потому, что, хотя он уже используется, самой распространенной системой, использующей его, является Apple, которая не очень дружелюбна к мастерам. Некоторое время он также использовался в системах Itanium, а также во многих встроенных системах.

    4: Его можно эмулировать

    Ряд платформ виртуализации уже могут эмулировать прошивку UEFI, что позволяет загружать в них операционные системы, зависящие от UEFI.Некоторые примеры — VirtualBox и Qemu. И да, это означает, что технически возможно запустить OS X на виртуальной машине в этих средах.

    5: Загрузчики больше не нужны

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

    6: Замена BIOS не требуется…

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

    7: … но он может использовать альтернативы BIOS

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

    8: Широкая отраслевая поддержка

    Стандарт UEFI уже получил широкую поддержку в отрасли. В организации по стандартизации UEFI есть такие компании, как Intel, AMD, Apple, Microsoft, а также ряд производителей BIOS и материнских плат.В результате UEFI станет путем вперед, а не просто мертвым стандартом, оставшимся после индустрии, как многие другие инициативы. Все современные операционные системы также совместимы с UEFI.

    9: Ваша работа не сильно изменится

    Если вы не работаете инженером по встроенным системам или не пишете низкоуровневый код для операционной системы, UEFI, вероятно, не повлияет на ваши повседневные задачи. Конечно, есть некоторые ИТ-роли, которые включают копание в BIOS, но для той работы, которую они обычно выполняют, различия между BIOS и UEFI не повлияют на их работу.ИТ-персоналу важно научиться работать с GPT-дисками в более поздних операционных системах.

    10: UEFI может быть целевым драйвером устройства

    Одним из преимуществ UEFI является то, что драйверы устройств могут нацеливаться на него, а не на конкретное оборудование. Это означает, что вместо того, чтобы писать драйверы для разных платформ, они могут просто написать их один раз. Ну, вы же компьютерщик, какое вам дело, правда? Это будет очень важно для Windows 8, которая будет работать как на архитектуре x64, так и на архитектуре ARM.В результате Windows 8 на ARM вполне может выйти с лучшей поддержкой драйверов, чем Windows Vista.

    Процесс загрузки Arch — ArchWiki

    Для загрузки Arch Linux должен быть установлен загрузчик с поддержкой Linux. Загрузчик отвечает за загрузку ядра и начального RAM-диска перед запуском процесса загрузки. Процедура отличается для систем BIOS и UEFI, подробное описание приведено на этой или связанных страницах.

    Типы прошивок

    BIOS

    BIOS или базовая система ввода-вывода — это самая первая программа (прошивка), которая выполняется после включения системы.В большинстве случаев он хранится во флеш-памяти на самой материнской плате и не зависит от системной памяти.

    UEFI

    Унифицированный расширяемый интерфейс микропрограмм

    поддерживает чтение как таблицы разделов, так и файловых систем. UEFI не запускает загрузочный код из основной загрузочной записи (MBR), независимо от того, существует она или нет, вместо этого загрузка зависит от загрузочных записей в NVRAM.

    Спецификация UEFI требует поддержки файловых систем FAT12, FAT16 и FAT32 (см. Спецификацию UEFI версии 2.8, раздел 13.3.1.1), но любой соответствующий поставщик может при желании добавить поддержку дополнительных файловых систем; например, компьютеры Apple Mac поддерживают (и по умолчанию используют) собственные драйверы файловой системы HFS +. Реализации UEFI также поддерживают ISO-9660 для оптических дисков.

    UEFI запускает приложения EFI, например загрузчики, менеджеры загрузки, оболочка UEFI и т. д. Эти приложения обычно хранятся в виде файлов в системном разделе EFI. Каждый поставщик может хранить свои файлы в системном разделе EFI в папке / EFI / vendor_name .Приложения можно запустить, добавив загрузочную запись в NVRAM или из оболочки UEFI.

    Спецификация UEFI поддерживает загрузку устаревшей BIOS с помощью модуля поддержки совместимости (CSM). Если CSM включен в UEFI, UEFI будет генерировать загрузочные записи CSM для всех дисков. Если для загрузки выбрана загрузочная запись CSM, CSM UEFI попытается загрузиться с помощью кода начальной загрузки MBR диска.

    Инициализация системы

    В BIOS

    1. Система включена, выполняется самотестирование при включении (POST).
    2. После POST BIOS инициализирует оборудование, необходимое для загрузки (диск, контроллеры клавиатуры и т. Д.).
    3. BIOS запускает первые 440 байтов (область кода начальной загрузки основной загрузочной записи) первого диска в порядке дисков BIOS.
    4. Первый этап загрузчика в загрузочном коде MBR затем запускает свой второй этап кода (если есть) из любого:
    5. Актуальный загрузчик запускается.
    6. Затем загрузчик загружает операционную систему путем последовательной или прямой загрузки ядра операционной системы.

    Под UEFI

    1. Система включена, выполняется самотестирование при включении (POST).
    2. После POST UEFI инициализирует оборудование, необходимое для загрузки (диск, контроллеры клавиатуры и т. Д.).
    3. Микропрограмма
    4. считывает загрузочные записи в NVRAM, чтобы определить, какое приложение EFI запускать и откуда (например, с какого диска и раздела).
      • Загрузочной записью может быть просто диск. В этом случае микропрограмма ищет системный раздел EFI на этом диске и пытается найти приложение EFI в резервном пути загрузки \ EFI \ BOOT \ BOOTx64.EFI ( BOOTIA32.EFI в системах с IA32 (32-разрядным) UEFI). Так работают загрузочные съемные носители UEFI.
    5. Прошивка запускает приложение EFI.

    Если включена безопасная загрузка, процесс загрузки будет проверять подлинность двоичного файла EFI с помощью подписи.

    Примечание: Некоторые системы UEFI могут загружаться только по резервному пути загрузки.

    Мультизагрузка в UEFI

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

    См. Также Двойная загрузка с Windows.

    Загрузчик

    Загрузчик — это часть программного обеспечения, запускаемая микропрограммой (BIOS или UEFI). Он отвечает за загрузку ядра с требуемыми параметрами ядра и начальный RAM-диск на основе файлов конфигурации. В случае UEFI само ядро ​​может быть напрямую запущено UEFI с помощью загрузочной заглушки EFI. Отдельный загрузчик или менеджер загрузки по-прежнему можно использовать для редактирования параметров ядра перед загрузкой.

    Предупреждение: Загрузчик должен иметь доступ к ядру и образам initramfs, иначе система не загрузится. Таким образом, в типичной настройке он должен поддерживать доступ к / boot . Это означает, что он должен поддерживать все, начиная с блочных устройств, блочных устройств в стеке (LVM, RAID, dm-crypt, LUKS и т. Д.) И заканчивая файловой системой, в которой находятся ядро ​​(я) и образ (я) initramfs. .

    Примечание: Загрузка обновлений микрокода требует корректировки конфигурации загрузчика.[1]

    Сравнение функций

    Примечание:
    • Поскольку GPT является частью спецификации UEFI, все загрузчики UEFI поддерживают диски GPT. GPT в системах BIOS возможен с использованием либо «гибридной загрузки» с гибридной MBR, либо нового протокола только для GPT. Однако этот протокол может вызывать проблемы с некоторыми реализациями BIOS; подробности см. в rodsbooks.
    • Шифрование, упомянутое в поддержке файловой системы, — это шифрование на уровне файловой системы, оно не имеет отношения к шифрованию на уровне блоков.
    Только Только
    Имя Прошивка Таблица перегородок Мультизагрузка Файловые системы Заметки
    BIOS UEFI MBR GPT Btrfs доб.4 ReiserFS VFAT XFS
    EFISTUB Да Есть Да Унаследовано от прошивки 1 Ядро превратилось в исполняемый файл EFI для загрузки непосредственно из прошивки UEFI или другого загрузчика.
    Клевер Эмулирует UEFI Да Есть Да Есть 2 Без шифрования Унаследовано от прошивки 1 Нет Вилка rEF Изменена для запуска macOS на оборудовании сторонних производителей.
    GRUB Есть Да Есть Да Да Есть Есть Есть Есть Да В конфигурации BIOS / GPT требуется загрузочный раздел BIOS.
    Поддерживает RAID, LUKS1 и LVM (но не тома с тонким предоставлением).
    Лимин Есть Да Есть Да Да Без шифрования Есть Нет
    REFInd Да Есть Да Есть 2 Без шифрования Без шифрования Без сальника Унаследовано от прошивки 1 Нет Поддерживает автоматическое определение ядер и параметров без явной настройки, а также поддерживает fastboot [2].
    Syslinux Есть Частично Есть Да Частично Без: тома на нескольких устройствах, сжатие, шифрование Без шифрования Есть MBR; без редких индексов Нет поддержки некоторых функций файловой системы. [3]
    Не имеет драйверов файловой системы [4], имеет доступ только к той файловой системе, в которую он был установлен.
    systemd-загрузка Да Только ручная установка Да Есть 2 Унаследовано от прошивки 1 Нет Невозможно запустить двоичные файлы из разделов, отличных от ESP или раздела расширенного загрузчика (раздел XBOOTLDR).
    Наследие GRUB Есть Нет Есть Нет Да Есть Есть XFS v4 Снято с производства в пользу GRUB.
    LILO Есть Нет Есть Нет Да Без шифрования Есть Есть Да Снято с производства в связи с ограничениями (например,г. с Btrfs, GPT, RAID).
    1. Поддержка файловой системы унаследована от прошивки. Спецификация UEFI требует поддержки файловых систем FAT12, FAT16 и FAT32 [5], но поставщики могут дополнительно добавить поддержку дополнительных файловых систем; например, прошивка в Apple Mac поддерживает файловую систему HFS +. Если микропрограмма предоставляет интерфейс для загрузки драйверов UEFI при запуске, то поддержка дополнительных файловых систем может быть добавлена ​​путем загрузки (независимо полученных) драйверов файловой системы.
    2. Диспетчер загрузки. Он может запускать только другие приложения EFI, например, образы ядра Linux, созданные с использованием CONFIG_EFI_STUB = y и Windows bootmgfw.efi .

    См. Также Википедия: Сравнение загрузчиков.

    Ядро

    Ядро — это ядро ​​операционной системы. Он функционирует на низком уровне ( пространство ядра ), взаимодействуя между аппаратным обеспечением машины и программами, которые используют аппаратное обеспечение для работы. Ядро временно останавливает программы для запуска других программ, что называется вытеснением.Это создает иллюзию одновременного выполнения множества задач даже на одноядерных процессорах. Ядро использует планировщик ЦП, чтобы решить, какая программа имеет приоритет в любой момент времени.

    initramfs

    После того, как загрузчик загружает ядро ​​и возможные файлы initramfs и запускает ядро, ядро ​​распаковывает архивы initramfs (начальная файловая система RAM) в (тогда пустые) rootfs (начальная корневая файловая система, в частности ramfs или tmpfs). Первый извлеченный файл initramfs внедряется в двоичный файл ядра во время сборки ядра, затем извлекаются возможные внешние файлы initramfs.Таким образом, файлы во внешнем initramfs перезаписывают файлы с тем же именем во встроенном initramfs. Затем ядро ​​выполняет / init (в rootfs) в качестве первого процесса. Начинается раннее пользовательское пространство .

    Официальные ядра Arch Linux используют пустой архив для встроенных initramfs (по умолчанию при сборке Linux). Внешние образы initramfs можно сгенерировать с помощью mkinitcpio, dracut или booster.

    Назначение initramfs — загрузить систему до точки, где она сможет получить доступ к корневой файловой системе (подробности см. В FHS).Это означает, что любые модули, необходимые для таких устройств, как IDE, SCSI, SATA, USB / FW (при загрузке с внешнего диска), должны загружаться из initramfs, если они не встроены в ядро; как только нужные модули загружены (либо явно через программу или скрипт, либо неявно через udev), процесс загрузки продолжается. По этой причине initramfs должен содержать только модули, необходимые для доступа к корневой файловой системе; он не обязательно должен содержать каждый модуль, который когда-либо захотелось бы использовать. Большинство модулей будут загружены позже udev в процессе инициализации.

    процесс инициализации

    На заключительном этапе раннего пользовательского пространства монтируется настоящий корень, а затем заменяется исходная корневая файловая система. Выполняется / sbin / init , заменяя процесс / init . Arch использует systemd в качестве инициализации по умолчанию.

    getty

    init вызывает getty один раз для каждого виртуального терминала (обычно их шесть), который инициализирует каждый tty и запрашивает имя пользователя и пароль. Как только имя пользователя и пароль указаны, getty сравнивает их с / etc / passwd и / etc / shadow , а затем вызывает логин.В качестве альтернативы getty может запустить диспетчер отображения, если он присутствует в системе.

    Диспетчер дисплея

    Диспетчер дисплея может быть настроен для замены приглашения getty входа в систему на tty.

    Для автоматической инициализации диспетчера дисплея после загрузки необходимо вручную включить служебный модуль через systemd. Для получения дополнительной информации о включении и запуске служебных модулей см. Systemd # Использование модулей.

    Логин

    Программа входа в систему начинает сеанс для пользователя, устанавливая переменные среды и запуская оболочку пользователя на основе / etc / passwd .

    Программа login отображает содержимое файла / etc / motd ( m essage o f t he d ay) после успешного входа в систему, непосредственно перед запуском оболочки входа. Это хорошее место для отображения ваших Условий использования, чтобы напомнить пользователям о ваших местных правилах или обо всем, что вы хотите им сообщить.

    Оболочка

    После запуска оболочки пользователя она обычно запускает файл конфигурации среды выполнения, такой как bashrc, перед тем, как представить пользователю приглашение.Если учетная запись настроена на запуск X при входе в систему, файл конфигурации среды выполнения будет вызывать startx или xinit.

    GUI, xinit или wayland

    xinit запускает файл конфигурации времени выполнения xinitrc пользователя, который обычно запускает оконный менеджер. Когда пользователь завершает работу и выходит из оконного менеджера, xinit , startx , оболочка и вход в систему завершаются в указанном порядке, возвращаясь к getty.

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

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