Unified Extensible Firmware Interface (Русский)

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

Состояние перевода: На этой странице представлен перевод статьи Unified Extensible Firmware Interface. Дата последней синхронизации: 6 февраля 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Он вводит новый способ загрузки операционных систем, который отличается от обычного «загрузочного кода MBR», который использовался в системах BIOS. Различия в процессе загрузки описаны в статье Процесс загрузки Arch.

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

Версии UEFI

  • UEFI начинался как EFI от Intel в версиях 1.x.
  • Позже группа компаний под названием UEFI Forum взяла на себя его разработку и переименовала в Unified EFI, начиная с версии 2.0.
  • Если не указано, что имеется в виду EFI 1.x, термины EFI и UEFI используются как взаимозаменяемые для обозначения прошивки UEFI 2.x.
  • Реализация EFI от Apple не является ни версией EFI 1.x, ни версией UEFI 2.x, а смешивает оба варианта. Этот вид прошивок не подпадает ни под одну из спецификаций (U)EFI и поэтому не является стандартной прошивкой UEFI. Если не указано явно, эти инструкции являются общими, и некоторые из них могут не работать или отличаться в MacBook.

Спецификацию последней версии UEFI можно найти на https://uefi.org/specifications.

Разрядность прошивки UEFI

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

Подавляющее большинство прошивок UEFI, включая последние модели Apple Mac, используют прошивку UEFI x86_64. Единственными известными устройствами, использующими IA32 (32-битный) UEFI, являются старые (до 2008 года) Apple Mac, системы Intel Atom System-on-Chip (по состоянию на 2 ноября 2013 года) и некоторые старые серверные платы Intel, которые, как известно, работают на прошивке Intel EFI 1.10.

Прошивки x86_64 UEFI не имеют поддержки запуска 32-битных EFI-приложений (в отличие от x86_64 версий Linux и Windows, которые имеют такую поддержку). Поэтому EFI-приложение должно быть скомпилировано для конкретной разрядности/архитектуры процессора, на котором работает прошивка.

Примечание: Установленная система потребует использования загрузчика, поддерживающего IA32 UEFI, например, GRUB с целью i386-efi.

Проверка разрядности прошивки

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

Из Linux

В дистрибутивах с ядром Linux версии 4.0 или новее разрядность прошивки UEFI можно узнать через интерфейс sysfs. Выполните:

$ cat /sys/firmware/efi/fw_platform_size

Это вернёт 64 для 64-битного (x86_64) UEFI или 32 для 32-битного (IA32) UEFI. Если файл не существует, значит, вы загрузились не в режиме UEFI.

Из macOS

Mac, выпущенные до 2008 года, в основном имеют прошивку i386-efi, а выпущенные в 2008 или позднее — x86_64-efi. Все Mac, способные работать с 64-битным ядром Mac OS X Snow Leopard имеют прошивку x86_64 EFI 1.x.

Чтобы узнать разрядность прошивки EFI в Mac, введите следующую команду в терминале Mac OS X:

$ ioreg -l -p IODeviceTree | grep firmware-abi

Если команда возвращает значение , то прошивка IA32 EFI (32-битная), а если значение — прошивка x86_64 EFI (64-битная). Большинство Mac не имеют прошивку UEFI 2.x, так как реализация EFI от Apple не полностью совместима со спецификацией UEFI 2.x.

Из Microsoft Windows

64-битные версии Windows не поддерживают загрузку на 32-битном UEFI. Поэтому, если у вас 32-битная версия Windows, загруженная в режиме UEFI, у вас 32-битный UEFI.

Для проверки разрядности запустите . В разделе Сведения о системе смотрите значения записей «Тип» и «Режим BIOS».

Для 64-битного Windows и 64-битного UEFI будет и Режим BIOS: UEFI. Для 32-битного Windows и 32-битного UEFI — Тип: Компьютер на базе x86 и Режим BIOS: UEFI. Если «Режим BIOS» имеет значение не , значит, Windows загружен не в режиме UEFI.

Конфигурация ядра Linux для UEFI

Необходимая конфигурация для ядра Linux такова:

CONFIG_RELOCATABLE=y
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_X86_SYSFB=y
CONFIG_FB_SIMPLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y

Поддержка UEFI Runtime Variables (файловая система efivarfs — ). Эта опция важна, так как нужна для работы с переменными времени выполнения UEFI с помощью инструментов вроде . Эта опция появилась в ядре 3.10.

CONFIG_EFIVAR_FS=y

Поддержка UEFI Runtime Variables (старый интерфейс efivars sysfs — ). Эта опция должна быть отключена, чтобы предотвратить возможные проблемы при одновременно включенных efivarfs и sysfs-efivars.

CONFIG_EFI_VARS=n

Таблица разделов GUID (GPT) — необходима для поддержки UEFI

CONFIG_EFI_PARTITION=y

Поддержка EFI mixed-mode — для загрузки 64-битного ядра на 32-битной прошивке UEFI.

CONFIG_EFI_MIXED=y

Переменные UEFI

UEFI определяет переменные, через которые операционная система может взаимодействовать с прошивкой. Переменные загрузки UEFI используются загрузчиком и применяются ОС только для раннего запуска системы. Переменные времени выполнения (runtime variables) позволяют ОС управлять опредёленными настройками прошивки, такими как менеджер загрузки UEFI или управление ключами для протокола UEFI Secure Boot и т.д. Вы можете получить список с помощью команды:

$ efivar --list

Поддержка переменных UEFI в ядре Linux

Ядро Linux даёт пользовательскому пространству доступ к переменным UEFI через интерфейс efivarfs (EFI VARiable FileSystem) () — монтируется с помощью модуля ядра efivarfs в — не имеет ограничений на максимальный размер переменной и поддерживает переменные UEFI Secure Boot. Появилось в ядре 3.8.

Требования для поддержки переменных UEFI

  1. Ядро должно быть загружено в режиме UEFI через EFISTUB (опционально с использованием менеджера загрузки) или загрузчиком UEFI, а не через BIOS или CSM, или Apple Boot Camp, который также является CSM.
  2. Ядро должно иметь поддержку EFI Runtime Services (, проверить наличие можно командой ).
  3. EFI Runtime Services в ядре не должны быть отключены через командную строку ядра, то есть параметр noefi должен отсутствовать.
  4. Файловая система efivarfs должна быть смонтирована в , иначе следуйте разделу #Монтирование efivars ниже.
  5. должен отобразить список переменных UEFI (опция /) без ошибок.

Если поддержка переменных UEFI не работает даже после выполнения вышеуказанных условий, попробуйте следующие обходные пути:

  1. Если просмотр списка переменных UEFI () приводит к ошибке и система загружена в ядро реального времени, добавьте в параметры ядра и перезагрузитесь (efivarfs отключен по умолчанию на таких ядрах).
  2. Дополнительные шаги по устранению неполадок смотрите в разделе #Пользовательские инструменты не могут изменить переменные UEFI

Монтирование efivars

Если systemd не смонтировал efivarfs в автоматически, смонтируйте его вручную:

# mount -t efivarfs efivarfs /sys/firmware/efi/efivars
Примечание: При использовании chroot нужно выполнить монтирование и снаружи, и внутри него.

Документация ядра доступна здесь: efivarfs.html.

Пользовательские инструменты

Существует несколько инструментов, работающих в пространстве пользователя (userspace), которые могут взаимодействовать с переменными UEFI:

  • efitools Инструменты для манипулирования платформами UEFI secure boot
https://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git || efitools

    efibootmgr

    Установите пакет .

    Чтобы добавить новую загрузочную запись с помощью efibootmgr, необходимо знать три вещи:

    • Диск, содержащий системный раздел EFI (ESP). Например: , .
    • Номер раздела ESP на этом диске. в /dev/sdaY или /dev/nvme0n1pY.
    • Путь к приложению EFI (относительно корня ESP).

    Например, если вы хотите добавить запись для , где — это точка монтирования ESP, выполните

    В данном примере это означает, что ESP находится на диске и имеет номер раздела 1. Путь к EFI-приложению относительно корня ESP . Соответственно, можно загрузочную запись так:

    # efibootmgr --create --disk /dev/sda --part 1 --loader /EFI/refind/refind_x64.efi --label "rEFInd Boot Manager" --verbose
    # efibootmgr --create --disk /dev/nvme0n1p1 --loader /EFI/refind/refind_x64.efi --label "rEFInd Boot Manager" --verbose

    Смотрите efibootmgr(8) или efibootmgr README для более подробной информации.

    Отключение доступа к переменным UEFI

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

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

    Возможные решения:

    • Монтирование в режиме только для чтения через fstab. Например:
    • Использование параметра ядра noefi, который полностью отключит доступ к UEFI из ОС.

    UEFI Shell

    Командная оболочка UEFI (UEFI Shell) — это оболочка/терминал для прошивки, позволяющий запускать EFI-приложения, в том числе загрузчики UEFI. Кроме того, оболочка может использоваться для получения различной информации о системе или прошивке, например, распределение памяти (memmap), изменение переменных менеджера загрузки (bcfg), запуск программ разметки (diskpart), загрузки драйверов UEFI, редактирование текстовых файлов (edit), hexedit и т.д.

    Получение UEFI Shell

    Можно получить UEFI Shell из проекта TianoCore EDK2 (лицензия BSD):

    Shell v2 лучше всего работает в системах UEFI 2.3+ и рекомендуется вместо Shell v1. Shell v1 должен работать во всех системах UEFI независимо от версии спецификации, которой соответствует прошивка. Дополнительная информация доступна на ShellPkg и в теме из списка рассылки EDK2 — Inclusion of UEFI shell in Linux distro iso.

    Запуск UEFI Shell

    Некоторые материнские платы Asus и другие материнские платы, использующие AMI Aptio x86_64 UEFI (начиная с Sandy Bridge и далее), имеют опцию под названием Launch EFI Shell from filesystem device. Для этих материнских плат скопируйте x86_64 UEFI Shell в корень системного раздела EFI с именем .

    Системы с прошивкой Phoenix SecureCore Tiano UEFI имеют встроенный UEFI Shell, которую можно запустить с помощью клавиши , F11 или .

    Важные команды UEFI Shell

    Команды UEFI Shell обычно поддерживают опцию , которая приостанавливает вывод после каждой страницы. Выполните команду help -b, чтобы получить список доступных внутренних команд. Доступные команды либо встроены в оболочку, либо являются отдельными приложениями EFI.

    Подробнее можно почитать Intel Scripting Guide 2008 и Intel "Course" 2011.

    bcfg

    изменяет записи UEFI NVRAM, что позволяет пользователю изменить загрузочные записи или опции драйвера. Эта команда подробно описана на странице 96 (раздел 5.3) документа UEFI Shell Specification 2.2.

    Список текущих загрузочных записей:

    Shell> bcfg boot dump -v

    Добавление пункта загрузки для rEFInd (например) как четвёртый (нумерация начинается с нуля) пункт в меню загрузки:

    Shell> bcfg boot add 3 FS0:\EFI\refind\refind_x64.efi "rEFInd Boot Manager"

    где соответствует системному разделу EFI, а — запускаемый файл.

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

    Shell> bcfg boot add N fsV:\vmlinuz-linux "Arch Linux"
    Shell> bcfg boot -opt N "root=/dev/sdX# initrd=\initramfs-linux.img"

    где — приоритет, — номер тома системного раздела EFI, а — корневой раздел.

    Удаление четвёртого пункта загрузки:

    Shell> bcfg boot rm 3

    Перемещение четвёртого пункта на место первого пункта:

    Shell> bcfg boot mv 3 0

    Справка команды bcfg:

    Shell> help bcfg -v -b

    или:

    Shell> bcfg -? -v -b

    map

    map отображает список сопоставлений устройств, то есть имена доступных файловых систем () и устройств хранения ().

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

    Shell> FS0:
    FS0:\> cd EFI/

    edit

    предоставляет базовый текстовый редактор с интерфейсом, похожим на nano, но немного менее функциональный. Он обрабатывает кодировку UTF-8 и поддерживает окончания строк LF и CRLF.

    Например, для редактирования файла в системном разделе EFI (доступен в прошивке как ):

    Shell> edit FS0:\EFI\refind\refind.conf

    Нажмите для справки.

    Загрузочные носители UEFI

    Создание загрузочного UEFI USB из ISO

    Смотрите Установочный образ на USB-накопителе#Создание загрузочного USB для BIOS и UEFI.

    Удаление поддержки UEFI с оптического носителя

    Большинство 32-битных компьютеров Mac с EFI и некоторые 64-битные компьютеры Mac с EFI отказываются загружаться с загрузочного CD/DVD с UEFI(X64)+BIOS. Если вы хотите продолжить установку с оптического носителя, возможно, придётся сначала удалить поддержку UEFI.

    Распакуйте ISO, пропуская каталоги, специфичные для UEFI:

    $ mkdir extracted_iso
    $ bsdtar -x --exclude=EFI/ --exclude=loader/ -f archlinux-версия-x86_64.iso -C extracted_iso

    Затем пересоберите ISO, исключив поддержку загрузки оптических носителей UEFI, используя из пакета . Обязательно установите правильную метку тома, например ARCH_202103; её можно получить с помощью на исходном ISO.

    Запишите на оптический носитель, и установка с него должна пройти нормально.

    Тестирование UEFI на системах без его поддержки

    OVMF для виртуальных машин

    OVMF — это проект TianoCore для поддержки UEFI в виртуальных машинах. OVMF содержит образец прошивки UEFI и отдельное энергонезависимое хранилище переменных для QEMU.

    Его можно установить с помощью пакета .

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

    $ cp /usr/share/edk2-ovmf/x64/OVMF_VARS.fd my_uefi_vars.fd

    Чтобы использовать прошивку OVMF и это хранилище переменных, используйте следующие опции QEMU:

    -drive if=pflash,format=raw,readonly,file=/usr/share/edk2-ovmf/x64/OVMF_CODE.fd \
    -drive if=pflash,format=raw,file=my_uefi_vars.fd

    Например:

    $ qemu-system-x86_64 -enable-kvm -m 1G -drive if=pflash,format=raw,readonly,file=/usr/share/edk2-ovmf/x64/OVMF_CODE.fd -drive if=pflash,format=raw,file=my_uefi_vars.fd …

    DUET для BIOS-систем

    DUET был проектом TianoCore, который позволял сделать chainloading полного окружения UEFI из системы BIOS, способом, аналогичным загрузке ОС BIOS. Этот метод подробно обсуждается на сайте https://www.insanelymac.com/forum/topic/186440-linux-and-windows-uefi-boot-using-tianocore-duet-firmware/. Образы DUET можно загрузить из одного из репозиториев по адресу https://gitlab.com/tianocore_uefi_duet_builds/tianocore_uefi_duet_installer. Конкретные инструкции по настройке DUET доступны на https://gitlab.com/tianocore_uefi_duet_builds/tianocore_uefi_duet_installer/blob/master/Migle_BootDuet_INSTALL.txt. Однако по состоянию на ноябрь 2018 года код DUET был удалён из git-репозитория TianoCore.

    Вы также можете попробовать https://sourceforge.net/projects/cloverefiboot/ , который предоставляет модифицированные образы DUET, которые могут содержать некоторые специфические для системы исправления и чаще обновляются по сравнению с репозиториями gitlab.

    Решение проблем

    Загрузка в Arch Linux после застревания в Windows

    Если вы застряли в Windows, то для возвращения в Arch Linux зайдите в расширенные параметры запуска в Windows с помощью команды Windows PowerShell или через Параметры > Обновление и безопасность > Восстановление > Расширенные параметры запуска и выберите Перезагрузить сейчас. Когда вы достигнете меню выбора действия, выберите Использовать устройство, которое фактически содержит ваши варианты загрузки UEFI (не ограничивается USB или CD, но может также загружать операционную систему на жёстком диске), и выберите "Arch Linux".

    Открытие настроек прошивки без функциональных клавиш

    На некоторых ноутбуках, например Lenovo XiaoXin 15are 2020, использование клавиш вроде F2 или ничего не даёт. Возможно, это можно исправить, вернув ноутбуки OEM-производителю для восстановления информации на материнской плате, но иногда это невозможно или нежелательно. Однако есть и другие способы войти в настройки прошивки:

    Пользовательские инструменты не могут изменить переменные UEFI

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

    Не удаётся создать загрузочные записи с помощью efibootmgr

    Некоторые комбинации версий ядра и efibootmgr могут не работать. Это может быть связано с нехваткой свободного места в NVRAM. Проверьте способы, описанные в разделе #Пользовательские инструменты не могут изменить переменные UEFI.

    Вы также можете попробовать откатить efibootmgr до версии 0.11.0. Она работает с Linux 4.0.6. Смотрите обсуждение , в частности закрывающий комментарий.

    Windows 7 не загружается в режиме UEFI

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

    Материнские платы с подобной проблемой:

    • Gigabyte Z77X-UD3H rev. 1.1 (UEFI version F19e)
      • Опция загрузки "UEFI Only" не предотвращает запуск CSM.

    Windows изменяет порядок загрузки

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

    • Убедитесь, что в настройках Windows отключен быстрый запуск (Fast Startup).
    • Убедитесь, что Secure Boot в настройках прошивки отключен (если у вас неподписанный загрузчик).
    • Убедитесь, что Windows Boot Manager не прописывается прошивкой на первое место: например, сравните вывод efibootmgr с тем, что вы видите в настройках UEFI. Некоторые материнские платы автоматически ставят Windows на первое место, если обнаруживают его. В частности, это наблюдалось на ноутбуке Packard Bell.
    • Если ваша материнская плата загружается по пути загрузки по умолчанию (), этот файл может быть перезаписан загрузчиком Windows. Попробуйте установить правильный путь загрузки, например, с помощью efibootmgr.
    • Если предыдущие шаги не сработали, можно указать загрузчику Windows запустить другое приложение EFI. В командной строке, запущенной от имени администратора, выполните:
    • Как вариант, отключите Windows Boot Manager, выполнив efibootmgr -A -b bootnumber от имени root. Замените на фактический номер записи Windows Boot Manager; вы можете узнать его, запустив без опций.
    • Ещё можно установить скрипт запуска в Windows, который обеспечивает правильную установку порядка загрузки при каждой загрузке Windows.
      1. Запустите командную строку от имени администратора. Выполните и найдите нужную загрузочную запись.
      2. Скопируйте его идентификатор вместе с фигурными скобками, например {31d0d5f4-22ad-11e5-b30b-806e6f6e6963}
      3. Создайте bat-файл с командой
      4. Откройте gpedit.msc и в разделе Политика "Локальный компьютер" > Конфигурация компьютера > Конфигурация Windows > Сценарии (запуск/завершение) выберите пункт Автозагрузка.
      5. На вкладке Сценарии нажмите кнопку Добавить и выберите ваш bat-файл.
    Примечание: Windows 10 Home официально не включает в себя gpedit.msc, хотя существуют неподдерживаемые обходные пути для его установки вручную.
    • В качестве альтернативы можно воспользоваться планировщиком заданий:
      1. Повторите шаги 1-3, описанные выше, для создания bat-файла.
      2. Запустите taskschd.msc и выберите пункт меню Действие > Создать задачу.
      3. На вкладке Общие:
        Введите подходящие Имя и Описание.
        Убедитесь, что выбранная учётная запись является администратором, а не обычным пользователем.
        Выберите пункт "Выполнять для всех пользователей".
        Поставьте галочку "Выполнить с наивысшими правами".
      4. На вкладке Триггеры создайте триггер При входе в систему.
      5. На вкладке Действия нажмите Создать, затем Обзор и выберите ваш bat-файл, созданный в первом шаге.
      6. На вкладке Условия снимите галочки в секции Питание, чтобы скрипт запускался при работе от батареи (для ноутбуков).
      7. Нажмите OK и по необходимости введите пароль от учётной записи администратора, выбранного в шаге 3.

    Чёрный экран при загузке с USB

    Возможно, это проблемы с KMS. Попробуйте отключить KMS при загрузке с USB.

    Загрузчик UEFI не отображается в меню прошивки

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

    Типичное решение — не полагаться на загрузочные записи в NVRAM и установить загрузчик на один из распространённых путей в системном разделе EFI.

    В следующих разделах описаны варианты.

    Стандартные пути загрузки для съёмных носителей

    Спецификация UEFI определяет стандартные пути к файлам EFI для загрузки со съёмных носителей:

    • для x86_64 UEFI
    • для IA32 UEFI.

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

    Как установить или перенести загрузчик на нужный путь, смотрите в соответствующей статье Загрузчик.

    Расположение загрузчика Microsoft Windows

    На некоторых материнских платах с UEFI, например, на платах с чипсетом Intel Z77, добавление записей с помощью или из UEFI Shell не работает, поскольку они не отображаются в списке меню загрузки после добавления в NVRAM.

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

    Скопируйте файл с установочного носителя Arch Linux () в каталог Microsoft вашего раздела ESP на жёстком диске (). Для этого загрузитесь в UEFI Shell и введите:

    Shell> mkdir FS1:\EFI\Microsoft
    Shell> mkdir FS1:\EFI\Microsoft\Boot
    Shell> cp FS0:\EFI\BOOT\BOOTx64.EFI FS1:\EFI\Microsoft\Boot\bootmgfw.efi

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

    Загрузочные записи, созданные с помощью efibootmgr, не отображаются в UEFI

    efibootmgr может не обнаружить EDD 3.0 и в результате создать непригодные для использования загрузочные записи в NVRAM. Смотрите efibootmgr issue 86 для подробностей.

    Чтобы обойти эту проблему, при создании загрузочных записей вручную добавьте опцию к команде efibootmgr. Например:

    # efibootmgr --create --disk /dev/sda --part 1 --loader /EFI/refind/refind_x64.efi --label "rEFInd Boot Manager" --verbose -e 3

    Для исправления программ установки загрузчиков, таких как и refind-install, создайте скрипт-обёртку и сделайте его исполняемым:

    Загрузочная запись UEFI исчезает после удаления диска, на который она ссылается

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

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

    Смотрите также

    gollark: Not really. It has a CLI. Other stuff has nicer GUIs.
    gollark: Setup is kind of complex.
    gollark: https://osmarks.tk/git/osmarks/wyvern
    gollark: CC.
    gollark: Basically you use computers as IO nodes and have them automatically export and import items to/from storage.
    This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.