efibootmgr: Управление диспетчером загрузки UEFI(up25)

Установка, настройка, эксплуатация.

Модератор: ROOT

efibootmgr: Управление диспетчером загрузки UEFI(up25)

Сообщение ROOT » 06 авг 2021, 07:22

Оглавление


efibootmgr: Управление диспетчером загрузки UEFI

Введение
`efibootmgr` — утилита для управления записями загрузки UEFI (UEFI boot entries).
Позволяет:
  • просматривать текущие записи (Boot####),
  • добавлять новые,
  • менять порядок загрузки,
  • удалять ненужные записи.
Применимо для систем с UEFI и разделом EFI System Partition (ESP).



Просмотр записей загрузки
Чтобы увидеть список загрузочных записей:
Код: выделить все
efibootmgr

Для подробного вывода с указанием путей:
Код: выделить все
efibootmgr -v

Пример:
Код: выделить все
BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0003,0001,0002
Boot0001* Fedora HD(1,....)/EFI/fedora/shimx64.efi
Boot0002* Windows Boot Manager HD(1,....)/EFI/Microsoft/Boot/bootmgfw.efi
Boot0003* UEFI Shell HD(1,....)/EFI/tools/Shellx64.efi




Добавление новой записи (пример UEFI Shell)
Чтобы добавить запись для UEFI Shell:
Код: выделить все
efibootmgr -c -d /dev/sda -p 1 -l '\EFI\tools\Shell.efi' -L 'UEFI Shell'

Где:
  • `-c` — создать новую запись,
  • `-d /dev/sda` — устройство с EFI-разделом,
  • `-p 1` — номер раздела,
  • `-l` — путь к EFI-файлу (относительно ESP),
  • `-L` — метка записи, отображаемая в меню UEFI.



Изменение порядка загрузки
Для установки своего порядка загрузки:
Код: выделить все
efibootmgr -o 0006,0003,0002,0007,0005,0004,0008

Где `Boot0006`, `Boot0003` и т.д. — номера записей из вывода команды `efibootmgr`.



Удаление записи загрузки
Чтобы удалить ненужную запись (например, `Boot0008`):
Код: выделить все
efibootmgr -b 0008 --delete-bootnum




Работа при включённом Secure Boot
Secure Boot — это функция проверки цифровых подписей EFI-загрузчиков и драйверов.
При активном Secure Boot в UEFI могут быть ограничения на изменение загрузочных записей.
Если команда `efibootmgr` возвращает ошибку “Operation not permitted”, возможны причины:
  • Secure Boot активен и не разрешает модификацию переменных загрузчика.
  • Система использует “Setup Mode” или “User Mode” и защищает EFI переменные.
  • Работа выполняется не от имени root.

Чтобы временно отключить Secure Boot:
Код: выделить все
mokutil --disable-validation
reboot

После перезагрузки подтвердите действие в меню “Machine Owner Key (MOK)” и выберите “Disable validation”.
Теперь `efibootmgr` сможет изменять записи.

Если Secure Boot нужно оставить включённым, но разрешить работу с загрузчиком, можно добавить собственный ключ MOK:
Код: выделить все
mokutil --import my_key.der
reboot

После подтверждения ключа можно использовать подписанные загрузчики (например, свой shim или grub).

Проверить состояние Secure Boot:
Код: выделить все
mokutil --sb-state

Пример вывода:
Код: выделить все
SecureBoot enabled
Platform is in user mode




Советы и предостережения
  • EFI System Partition должна быть смонтирована (обычно `/boot/efi`).
  • Пути к файлам чувствительны к регистру и требуют обратных слешей (`\`).
  • При удалении записей проверяй, что не удаляешь текущую (`BootCurrent`).
  • Некоторые UEFI-прошивки не сохраняют порядок, заданный через efibootmgr.
  • Если ничего не работает — проверь Secure Boot и переменные UEFI через `dmesg | grep EFI`.



Заключение
`efibootmgr` — мощный инструмент управления UEFI-загрузкой.
С его помощью можно добавлять и удалять записи, менять порядок, создавать загрузку с UEFI Shell.
При активном Secure Boot потребуется внимательность — система может блокировать изменения.
Работай аккуратно, проверяй содержимое `/boot/efi` и всегда имей Live-диск для восстановления.
Администрирование Fedora Linux + настройка сети и прочая IT-Ботва


Для желающих поддержать
Карта SB: 2202 2083 5115 2302


Лучше ужасный конец, чем ужас без конца!
Аватар пользователя
ROOT
Администратор
 
Сообщений: 463
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Вернуться в Fedora

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron