Efi Linux что это такое

Обновлено: 05.07.2024

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

Я начал работать с тем, что мы называли «аналоговыми компьютерами», при обслуживании самолетов в ВВС США в 1970 году. После окончания военной службы и возвращения в университет я познакомился с микропроцессорами и машинным языком программирования на процессорах Intel 4040.< /p>

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

Обязательные предложения

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

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

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

До EFI стандартный процесс загрузки практически для всех систем ПК назывался «MBR» (основная загрузочная запись); сегодня вы, вероятно, услышите, как его называют «Legacy Boot». Этот процесс зависел от использования первого физического блока на диске для хранения некоторой информации, необходимой для загрузки компьютера (отсюда и название Master Boot Record); в частности, он содержал адрес диска, по которому можно было найти фактический загрузчик, и таблицу разделов, которая определяла структуру диска. Используя эту информацию, микропрограмма ПК может найти и запустить загрузчик, который затем включит компьютер и запустит операционную систему.

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

Со временем в рамках Extensible Firmware Interface был разработан новый подход к конфигурации загрузки. Вместо того, чтобы хранить важную информацию о конфигурации загрузки в одном «волшебном» месте, EFI использует выделенный «загрузочный раздел EFI» на рабочем столе. Это совершенно обычный стандартный раздел диска, который может использоваться для хранения операционной системы или данных восстановления системы.

Единственным требованием является то, что он должен быть отформатирован в FAT и иметь установленные флаги разделов boot и esp (esp означает системный раздел EFI). Конкретные данные и программы, необходимые для загрузки, затем хранятся в каталогах на этом разделе, обычно в каталогах, имена которых указывают, для чего они предназначены. Поэтому, если у вас есть система Windows, вы обычно найдете каталоги с именами «Boot» и «Microsoft» и, возможно, один из них, названный в честь производителя оборудования, такого как HP. Если у вас есть система Linux, вы найдете каталоги с именами opensuse, debian, ubuntu или любым другим, в зависимости от того, какой именно дистрибутив Linux вы используете.

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

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

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

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

Когда вы покупаете новый компьютер с Windows, этот список обычно включает загрузчик Windows на основном диске, а затем, возможно, некоторые другие периферийные устройства, такие как USB, сетевые интерфейсы и т.п. Когда вы устанавливаете Linux вместе с Windows на такой компьютер, установщик добавит необходимую информацию в загрузочный раздел EFI, но если список приоритета загрузки не изменить, то при перезагрузке системы после установки она просто снова загрузит Windows, и вы, вероятно, подумаете, что установка не сработала.

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

Во-первых, в простейшем случае в состав Linux входит программная утилита под названием efibootmgr, которую можно использовать для изменения, добавления или удаления списка приоритетов загрузки. Если бы эта утилита работала правильно, а вносимые ею изменения были бы постоянными в системе, то у вас не было бы других проблем, а после ее установки загрузился бы линукс и было бы вам счастье. К сожалению, иногда это так, но часто это не так. Наиболее распространенная причина этого заключается в том, что изменения, сделанные программными утилитами, на самом деле не сохраняются системным BIOS постоянно, поэтому при перезагрузке компьютера список приоритетов загрузки восстанавливается до того, что было раньше, что обычно означает, что Windows загружается снова.

Еще один распространенный способ изменения списка приоритетов загрузки — через программу настройки BIOS компьютера. Детали того, как это сделать, у каждого производителя разные, но общий порядок действий примерно одинаков. Сначала вам нужно нажать клавишу конфигурации BIOS (обычно F2, но, к сожалению, не всегда) во время включения системы (POST). Затем выберите пункт «Загрузка» в меню конфигурации BIOS, который должен привести вас к списку целей загрузки, представленных в порядке приоритета. Затем вам нужно изменить этот список; иногда это можно сделать прямо на этом экране с помощью обычного процесса клавиш F5/F6 вверх/вниз, а иногда вам нужно перейти на один уровень глубже, чтобы сделать это. Я хотел бы дать более конкретную и подробную информацию об этом, но это действительно отличается для каждой системы (иногда даже для разных систем, выпущенных одним и тем же производителем), поэтому вам просто нужно действовать осторожно и просчитывать шаги по мере продвижения.

Я видел несколько редких случаев, когда ни один из этих методов не работает или, по крайней мере, они не кажутся постоянными, и система продолжает возвращаться к загрузке Windows. Опять же, есть два способа действовать в этом случае. Во-первых, просто нажмите клавишу «выбор загрузки» во время POST (включение). Какая именно это клавиша, варьируется, я видел, что это F12, F9, Esc и, возможно, одна или две другие. Каким бы ключом он ни оказался, когда вы нажмете его во время POST, вы должны получить список загрузочных объектов, определенных в списке приоритетов загрузки EFI, поэтому, если ваша установка Linux сработала, вы должны увидеть его там. Я знаю людей, которые были довольны этим решением и просто использовали компьютер таким образом, и им приходилось нажимать кнопку выбора загрузки каждый раз, когда они хотели загрузить Linux.

В качестве альтернативы можно изменить файлы в загрузочном разделе EFI, чтобы (неизменяемая) процедура загрузки Windows фактически загружала Linux. При этом файл bootmgfw.efi Windows перезаписывается файлом grubx64.efi Linux. Я сделал это, особенно в первые дни загрузки EFI, и это работает, но я настоятельно рекомендую вам быть предельно осторожными, если вы попытаетесь это сделать, и убедитесь, что у вас есть копия оригинального файла bootmgfw.efi. Наконец, как последнее (удручающее) предупреждение, я также видел системы, в которых это, казалось, работало, по крайней мере, какое-то время, но затем в какой-то непредсказуемый момент процесс загрузки, казалось, замечал, что что-то изменилось, и восстанавливал bootmgfw.efi. в исходное состояние — таким образом снова теряется загрузочная конфигурация Linux. Вздох.

Итак, это основы загрузки EFI и способы ее настройки. Но возможны некоторые важные варианты и некоторые предостережения, о которых следует знать.

Корпоративное программное обеспечение

В начале описания я сказал, что когда вы устанавливаете Linux, он добавит необходимую загрузочную информацию в существующий загрузочный раздел EFI вместе с любой существующей конфигурацией Windows или других дистрибутивов Linux. Фактически у вас может быть более одного загрузочного раздела EFI на диске, поэтому вы можете создать новый (дополнительный) загрузочный раздел EFI и использовать его для своей установки Linux.Некоторые дистрибутивы Linux (особенно Fedora и ее производные) делают это по умолчанию, в то время как другие дают вам возможность сделать это и просто добавят в первый существующий загрузочный раздел EFI, если вы этого не сделаете. Несколько дистрибутивов (особенно Ubuntu и его производные) не дают вам выбора, они просто устанавливаются в первый загрузочный раздел EFI. Это, наверное, нормально, если только. (читать дальше)

Как я упоминал в начале, большинство дистрибутивов Linux используют уникальное имя, обычно производное от имени дистрибутива, для своего загрузочного каталога EFI. К сожалению, не все из них; в частности, Linux Mint и несколько других производных Ubuntu по-прежнему используют имя ubuntu для загрузочного каталога. Это не проблема, если вы не пытаетесь установить два дистрибутива, которые используют одно и то же имя для этого каталога; тогда вторая установка перезапишет первую, и в итоге вы сможете загрузить только одну из них. В этом случае вы в основном вынуждены использовать отдельный загрузочный раздел EFI по крайней мере для одного из них, что я и сделал со своим новым ноутбуком HP, что положило начало всем последним волнениям, которые привели к этой статье.

Последнее, что нужно упомянуть, это то, что утилита Linux для создания загрузочной конфигурации EFI была значительно улучшена за последние несколько лет. Ему больше не требуется длинная и сложная последовательность параметров командной строки для указания конфигурации, он может полностью самостоятельно создать минимальную функциональную конфигурацию. Поэтому, если что-то случится, и ваши загрузочные данные будут повреждены или уничтожены, вы можете воссоздать их в правильном месте, просто запустив «grub-install /dev/xxx» (или grub2-install, в зависимости от дистрибутива), где xxx заменяется именем основного диска, обычно sda.

Здесь представлен общий обзор загрузки EFI и способов ее настройки (или уговоров) для работы с двойной загрузкой (или мультизагрузкой) Linux/Windows. Обратите внимание, что я не упомянул здесь об утилитах «исправления загрузки», которые утверждают, что создают или восстанавливают такую ​​конфигурацию для вас. Для этого есть несколько простых причин; во-первых, они мне не нравятся, потому что мне вообще не нравятся вещи, которые якобы предлагают «волшебное решение» сложной проблемы; во-вторых, потому что, как видно из поста, детали конфигурации загрузки EFI все еще меняются, и «волшебная утилита», которая работает сегодня, вполне может не работать завтра, или которая работает для одного дистрибутива или для двойной загрузки, может не работать для другого дистрибутива или для мультизагрузки (более двух загрузочных объектов). Я думаю, что гораздо более целесообразно на самом деле потратить время на то, чтобы понять, что вы делаете, если вы настолько глубоко разбираетесь в системном администрировании, чтобы вы знали, что изменить, как это изменить и как это исправить, если что-то пойдет не так. Назовите меня старомодным.

И последнее. Также доступен пакет утилит под названием rEFInd, который поможет вам настроить конфигурацию загрузки EFI и управлять ею. Я использовал его, и он работает (или работал, когда я в последний раз использовал его несколько лет назад), поэтому, если вы боретесь и не можете заставить что-либо работать, возможно, стоит попробовать. Я не считаю это «волшебной утилитой», потому что вы видите все, что она делает, и все это объясняется в сопроводительной документации. По сути, он пытается установить себя в качестве первого объекта загрузки, а затем составляет список всех других возможных целей загрузки на вашем компьютере и представляет их вам для выбора. Если это работает, это нормально — и на самом деле это хороший способ узнать, как все это работает, — но я не уверен, что это действительно необходимо. Большинство систем сегодня поставляются с прошивкой EFI, которая достаточно настраивается, чтобы вы могли настроить правильно работающую систему без особых проблем, и в этом случае rEFInd обычно излишен.

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

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

Содержание

Проверить наличие существующего раздела

Если вы устанавливаете Arch Linux на компьютер с поддержкой UEFI и установленной операционной системой, такой как, например, Windows 10, весьма вероятно, что у вас уже есть системный раздел EFI.

Чтобы узнать схему разделов диска и системный раздел, используйте fdisk от имени пользователя root на диске, с которого вы хотите загрузиться:

Команда возвращает:

  • Таблица разделов диска: указывает тип метки диска: gpt, если таблица разделов GPT, или тип метки диска: dos, если это MBR.
  • Список разделов на диске: Найдите в списке системный раздел EFI, обычно он имеет размер не менее 100 МБ и имеет тип EFI System или EFI (FAT-12/16/32). Чтобы убедиться, что это ESP, смонтируйте его и проверьте, содержит ли он каталог с именем EFI , если он есть, это определенно ESP.

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

Создайте раздел

В следующих двух разделах показано, как создать системный раздел EFI (ESP).

Предупреждение. Системный раздел EFI должен быть физическим разделом в основной таблице разделов диска, а не в LVM или программном RAID и т. д.

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

Чтобы предотвратить проблемы совместимости с другими операционными системами[1][2], рекомендуется сделать его не менее 300 МБ. Для ранних и/или ошибочных реализаций UEFI может потребоваться размер не менее 512 МБ.[3] Если ни одна из этих проблем не является актуальной, размер раздела может быть всего 2 МиБ, и в этом случае в нем не может быть ничего, кроме загрузчика.

Диски с разделами GPT

Выберите один из следующих способов создания ESP для диска с разделами GPT:

    : Создайте раздел с типом раздела EFI System . : Создайте раздел с типом раздела EF00 . : Создайте раздел с фат32 в качестве типа файловой системы и установите на нем флаг esp.

Диски с разделами MBR

  • Рекомендуется использовать GPT, так как некоторые прошивки могут не поддерживать загрузку UEFI/MBR из-за того, что она не поддерживается программой установки Windows.
  • bootctl не поддерживает установку systemd-boot на диск с разделами MBR; см. системную проблему 1125.

Системный раздел EFI в таблице разделов основной загрузочной записи идентифицируется идентификатором типа раздела EF .

Выберите один из следующих способов создания ESP для диска с разделами MBR:

    : Создайте основной раздел с типом раздела EFI (FAT-12/16/32). : Создайте основной раздел с файловой системой fat32 и установите для него флаг esp.

Отформатировать раздел

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

Чтобы предотвратить возможные проблемы с другими операционными системами, а также поскольку в спецификации UEFI указано, что UEFI «включает использование FAT32 для системного раздела и FAT12 или FAT16 для съемных носителей»[4], рекомендуется использовать FAT32. Используйте утилиту mkfs.fat(8) из dosfstools:

Если вы получили сообщение ПРЕДУПРЕЖДЕНИЕ: Недостаточно кластеров для 32-битной FAT! , уменьшите размер кластера с помощью mkfs.fat -s2 -F32 . или -s1; в противном случае раздел может быть нечитаемым для UEFI. См. mkfs.fat(8) для поддерживаемых размеров кластеров.

Для разделов размером менее 32 МиБ использование FAT32 может оказаться невозможным. В этом случае отформатируйте его в FAT16 или даже FAT12. Например, ESP размером 2 МиБ сможет поддерживать только FAT12:

Смонтировать раздел

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

Обычные точки монтирования

  • /efi — это замена[5] ранее популярной (и, возможно, все еще используемой в других дистрибутивах Linux) точки монтирования ESP /boot/efi .
  • Каталог /efi недоступен по умолчанию, его необходимо сначала создать с помощью mkdir(1), прежде чем подключать к нему ESP.

Альтернативные точки подключения

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

Примечание. Если ESP не подключен к /boot , не полагайтесь на механизм автоматического монтирования systemd (включая механизм systemd-gpt-auto-generator(8) ). Всегда монтируйте его вручную перед любым обновлением системы или ядра, в противном случае вы не сможете смонтировать его после обновления, что заблокирует вас в текущем работающем ядре без возможности обновить копию ядра на ESP.

Использование привязки

Вместо того, чтобы монтировать сам ESP в /boot , вы можете смонтировать каталог ESP в /boot, используя монтирование с привязкой (см. mount(8) ). Это позволяет pacman обновлять ядро ​​напрямую, сохраняя ESP организованным по вашему вкусу.

Примечание. Для этого требуется ядро ​​и загрузчик, совместимые с FAT32. Это не проблема для обычной установки Arch, но может быть проблематичной для других дистрибутивов (а именно тех, которые требуют символических ссылок в /boot/ ). См. сообщение на форуме [6].

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

Использование systemd

Затем включите и запустите efistub-update.path .

Совет. Для безопасной загрузки с собственными ключами вы можете настроить службу так, чтобы она также подписывала образ с помощью sbsigntools:

Использование событий файловой системы

События файловой системы можно использовать для запуска скрипта, синхронизирующего ядро ​​EFISTUB после обновления ядра. Далее следует пример с инкроном.

Примечание. Первый параметр /boot/initramfs-linux-fallback.img — это файл для просмотра. Второй параметр IN_CLOSE_WRITE — это действие, за которым нужно следить. Третий параметр /usr/local/bin/efistub-update — это сценарий для выполнения.

Чтобы использовать этот метод, включите incrond.service .

Использование хука mkinitcpio

Mkinitcpio может генерировать перехватчик, для работы которого не требуется демон системного уровня. Он запускает фоновый процесс, который ожидает создания vmlinuz , initramfs-linux.img и initramfs-linux-fallback.img перед копированием файлов.

Добавить efistub-update в список ловушек в /etc/mkinitcpio.conf.

Использование пресета mkinitcpio

Поскольку пресеты в /etc/mkinitcpio.d/ поддерживают сценарии оболочки, ядро ​​и initramfs можно скопировать, просто отредактировав пресеты.

Замена хука mkinitcpio выше

Отредактируйте файл /etc/mkinitcpio.d/linux.preset :

Чтобы проверить это, просто запустите:

Еще один пример

Использование хука pacman

Последний вариант зависит от перехватчиков pacman, которые запускаются в конце транзакции.

Первый файл — это ловушка, которая отслеживает соответствующие файлы и запускается, если они были изменены в предыдущей транзакции.

Второй файл — это сам скрипт. Создайте файл и сделайте его исполняемым:

Устранение неполадок

ESP на программном RAID1

Возможно сделать ESP частью массива RAID1, но это сопряжено с риском повреждения данных, и при создании ESP необходимо принять дополнительные меры. См. [7] и [8] для получения подробной информации, а также загрузку UEFI и RAID1 для подробного руководства с решением.

Ключевой частью является использование --metadata 1.0, чтобы сохранить метаданные RAID в конце раздела, иначе прошивка не сможет получить к ним доступ:

Заглушка EFI Boot Stub позволяет загружать образ ядра Linux без использования обычного загрузчика UEFI. … Такие образы ядра по-прежнему могут быть загружены и запущены загрузчиками на основе BIOS; таким образом, EFI Boot Stub позволяет одному образу ядра работать в любой загрузочной среде.

Что находится в загрузочном EFI?

Описание: раздел EFI (также называемый ESP) содержит несколько загрузочных файлов. Это необходимо, если прошивка (BIOS) настроена на загрузку жесткого диска в режиме EFI (который по умолчанию используется на все более современных компьютерах > 2011 года). Он должен располагаться в начале GPT-диска и иметь флаг загрузки.

Что делает загрузка из файла EFI?

Файл EFI — это системный файл, используемый компьютерными системами на базе процессоров Intel и компьютерными устройствами, такими как AppleTV. … Файлы EFI используются для подготовки обновлений прошивки, загрузки операционных систем и запуска предзагрузочных программ. Используя файлы EFI, системы могут передать процесс предварительной загрузки в контролируемую среду.

Нужны ли загрузочные и загрузочные разделы EFI?

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

Что такое загрузочная папка EFI?

эфи . Это основной метод загрузки со съемных дисков, и он похож на то, как вы загружались с «диска» в эпоху BIOS. Обычно этот файл является копией вашего обычного загрузчика — например. если вы устанавливали Windows последней, вероятно, это будет копия EFIMcrosoftBootmgfw.

Лучше ли EFI, чем BIOS?

efi хранится в специальном разделе под названием EFI System Partition (ESP) на жестком диске. … UEFI обеспечивает более быструю загрузку. UEFI имеет поддержку дискретных драйверов, в то время как BIOS поддерживает диски, хранящиеся в его ПЗУ, поэтому обновление прошивки BIOS немного затруднено.

Что лучше, BIOS или UEFI?

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

Как загрузиться с EFI?

Чтобы получить доступ к меню UEFI, создайте загрузочный USB-носитель:

  1. Отформатируйте USB-устройство в FAT32.
  2. Создайте каталог на USB-устройстве: /efi/boot/
  3. Скопируйте файловую оболочку. efi в каталог, созданный выше. …
  4. Переименуйте файл shell.efi в BOOTX64.efi.
  5. Перезагрузите систему и войдите в меню UEFI.
  6. Выберите вариант загрузки с USB.

В чем разница между EFI и BIOS?

EFI — это аббревиатура от Extensible Firmware Interface. Так же как и слово BIOS, расшифровывается как Basic Input/Output System. Оба они на самом деле описывают интерфейс прошивки. BIOS — это программное обеспечение, встроенное в ПК.

Является ли UEFI загрузчиком?

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

Efi — это то же самое, что загрузка?

1 ответ. Системный раздел EFI — это раздел, который знает прошивка EFI (в ПЗУ на материнской плате) и из которого прошивка может загружать приложения EFI, такие как загрузчики. Таким образом, ESP — это место, куда вы помещаете GRUB2 для загрузки и запуска прошивки.

Сколько места вам нужно для загрузочного EFI?

Таким образом, наиболее распространенный рекомендуемый размер системного раздела EFI составляет от 100 до 550 МБ. Одна из причин этого заключается в том, что впоследствии сложно изменить размер, так как это первый раздел на диске. Раздел EFI может содержать языки, шрифты, прошивку BIOS и другие материалы, связанные с прошивкой.

Как создать загрузочный USB UEFI?

Чтобы создать USB-накопитель UEFI, откройте установленный инструмент Windows.

Когда вы пытаетесь выполнить двойную загрузку Linux с Windows, вам нужно знать, есть ли в вашей системе режим загрузки UEFI или BIOS. Это поможет вам принять решение о создании раздела для установки Linux.

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

Я покажу вам, как проверить, есть ли в вашей системе UEFI или BIOS как в Windows, так и в Linux:

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

UEFI или Unified Extensible Firmware Interface был разработан для преодоления некоторых ограничений BIOS. В нем добавлена ​​возможность использования дисков емкостью более 2 ТБ, а архитектура и драйверы не зависят от ЦП.

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

Преимущество UEFI перед BIOS

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

Проверьте, используете ли вы UEFI или BIOS в Windows

В Windows в разделе «Информация о системе» на панели «Пуск» и в разделе «Режим BIOS» можно найти режим загрузки. Если написано Legacy, в вашей системе есть BIOS. Если написано UEFI, значит, это UEFI.

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

Здесь, в разделе "Загрузчик Windows", найдите "Путь". если расширение файла для /Windows/System32/winload — .exe, ваша система использует устаревшую версию BIOS. Если расширение .efi, ваша система использует UEFI.

Альтернатива: если вы используете Windows 10, вы можете проверить, используете ли вы UEFI или BIOS, открыв Проводник и перейдя в папку C:\Windows\Panther. Откройте файл setupact.log и найдите приведенную ниже строку.

Я бы посоветовал открыть этот файл в notepad++, так как это огромный текстовый файл, и блокнот может зависнуть (по крайней мере, у меня с 6 ГБ ОЗУ).

Вы найдете пару строк, которые дадут вам информацию.

Проверьте, используете ли вы UEFI или BIOS в Linux

Самый простой способ узнать, используете ли вы UEFI или BIOS, — найти папку /sys/firmware/efi. Папка будет отсутствовать, если ваша система использует BIOS.

/sys/firmware/efi существует означает, что система использует UEFI

Альтернативный вариант. Другой способ — установить пакет под названием efibootmgr.

В дистрибутивах на основе Debian и Ubuntu вы можете установить пакет efibootmgr с помощью следующей команды:

После этого введите следующую команду:

Если ваша система поддерживает UEFI, она выведет другие переменные. В противном случае вы увидите сообщение о том, что переменные EFI не поддерживаются.

Заключительные слова

Итак, теперь вы знаете, что определить, использует ли ваша система UEFI или BIOS, несложно. Разве это не было очень легко?

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

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

В следующей таблице перечислены известные функции текущих загрузчиков и менеджеров загрузки с поддержкой EFI/UEFI. (Примечание. Менеджеры загрузки представляют собой меню параметров загрузки, в то время как загрузчики загружают ядро. Многие программы могут выполнять обе задачи, хотя rEFIt может загружать ядро ​​на аппаратном обеспечении ПК, только если он включает загрузчик-заглушку EFI.)

Ключ: Да — известно, что функция существует, ? - неопределенное наличие функции, Нет - функция не существует


Сноски:

Загрузка из EFI

Все системы, совместимые с EFI, имеют системный раздел EFI (ESP), который представляет собой раздел FAT32, содержащий модули встроенного ПО EFI и загрузочные образы. Обратите внимание, что системных разделов может быть один или несколько. ESP фактически является загрузочным разделом и содержит необходимые образы для загрузки системы. Этот загрузочный раздел, вероятно, следует смонтировать в системе Linux как /boot/efi для обновления новых ядер и образов initrd.

Каждый поставщик "должен" использовать специальный каталог в \EFI\vendor для кода загрузчика .efi.

  • IA-32
  • x86-64 (он же X64)
  • Итанин
  • ARM
  • Общий байт-код EFI, не зависящий от процессора

ELILO, загрузчик-заглушка EFI ядра, Grub 2 (с поддержкой EFI), rEFIt и rEFInd — все это собственный исполняемый код процессора.

Конфигурация ЯДРА

Соберите ядро ​​со следующей конфигурацией.

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

Чтобы использовать загрузчик-заглушку EFI, необходимо установить следующий параметр:

Затем ядро ​​можно загрузить из оболочки EFI или ввести его в список загрузки EFI в NVRAM. Однако правильно подобрать параметры может быть непросто. Использование rEFInd для запуска ядра с поддержкой заглушек EFI может упростить задачу.

Читайте также: