Когда вы используете Linux любого дистрибутива, вам иногда нужно посмотреть настройки для UEFI. Причины различны; у вас может быть система с двойной загрузкой, и вы не можете найти другой вариант загрузки, возможно, вы хотите, чтобы она загружалась безопасно, или, в некоторых случаях, вы хотите отключить безопасную загрузку, чтобы вы могли загружать что угодно.
Для безопасной загрузки вам необходимо использовать команду mokutil. Это управляет ключами, доступными в системе.
Самый очевидный и простой в использовании инструмент — это efibootmgr. Используя это, вы можете работать с разными точками, в которых хотите продолжить загрузку. Используя UEFI, гораздо более гибко настраивать параметры загрузки. С помощью небольшого изящного инструмента efibootmgr вы можете изменять, добавлять и удалять загрузочные записи. Загрузочные записи указывают процессу, куда он должен идти.
Efibootmgr доступен для большинства дистрибутивов в виде двоичного файла. Итак, установите обычный со своим дистрибутивом. После установки вам нужно запустить его от имени пользователя root. Как вы должны понимать, ваша система может не загрузиться, поэтому будьте осторожны. Если вы запустите команду без параметров, вы получите простой список текущих записей.
$ sudo efibootmgr
Список на картинке очень короткий; в системах с двойной загрузкой будет намного больше записей. Поскольку в вашей системе, вероятно, гораздо больше записей, вы можете выбрать другой запуск. Делается это достаточно легко.
$ sudo efibootmgr -n 000C
Это предназначено для экспериментов, ‘-n’ означает установить bootnext. Это установит, что будет загружаться при следующей перезагрузке; он не меняет то, что будет загружаться первым. Если вы добавили что-то новое, вам следует сделать это, чтобы попробовать. Если загрузка прошла так, как вы хотели, она установится на постоянную.
$ sudo efibootmgr -o 000C,000B
Приведенная выше команда изменяет постоянный порядок загрузки. Необязательно вводить все нули, подойдут только буквы «C, B». При создании загрузочной записи:
$ sudo efibootmgr -c
Выполнение команды без дополнительных переключателей предполагает, что у вас есть ESP на dev/sda1 и что он смонтирован в /boot/efi. Вы также можете настроить загрузку на другой диск. Ниже приведен пример.
$ sudo efibootmgr -c -l \\EFI\\refind\\refindx64.efi -L rEFInd -d /dev/sdc
Команда добавляет ‘-c’ и активируется как первая загрузочная запись. Параметр ‘-L’ устанавливает, где находится файл. Это относится к разделу ESP, обычно монтируемому в /boot/efi. Параметр ‘-d’ указывает на диск, который вы хотите использовать, по умолчанию это /dev/sda. Все прошло хорошо? Если нет, вы можете активировать и деактивировать загрузочную запись, используя ‘-a’ и ‘-A’ соответственно.
$ sudo efibootmgr -A -b C $ sudo efibootmgr -a -b C
Параметр указывает на Boot000C, как видите, вы также можете использовать только первое ненулевое значение в номере точки. Если у вас много дисков, результат будет немного сложнее. Используйте подробный параметр, чтобы узнать, есть ли они на многих дисках.
$ efibootmgr -v
root@mats-Ubuntu:/media/matstage/UEFI# efibootmgr -v BootNext: 000C BootCurrent: 000B Timeout: 0 seconds BootOrder: 0001,0000,000B,000C Boot0000* rEFInd Boot Manager HD(2,GPT,439e77ad-82ea-464d-801d-3d5a3d4b7cd4,0xfa000,0x96000)/File(\EFI\refind\refind_x64.efi) Boot0001* rEFInd HD(1,GPT,c85dcbd6-880b-f74d-8dac-0504f1dd291e,0x800,0xaf000)/File(\EFI\refind\refind_x64.efi) Boot000B* ubuntu HD(2,GPT,439e77ad-82ea-464d-801d-3d5a3d4b7cd4,0xfa000,0x96000)/File(\EFI\UBUNTU\GRUBX64.EFI) Boot000C* UEFI OS HD(2,GPT,439e77ad-82ea-464d-801d-3d5a3d4b7cd4,0xfa000,0x96000)/File(\EFI\BOOT\BOOTX64.EFI)
Самое интересное здесь то, что сначала у вас есть раздел, затем UUID и, наконец, путь на этом диске. Запоминать значения немного сложно, но это дает более надежное решение для системы. Любой съемный диск может не получить ту же букву после «sd» при следующей загрузке.
Инструменты EFI — это набор инструментов, которые вы можете использовать, чтобы выяснить, что уже определено. Инструмент efi-readvar может показать вам все, к чему у вас есть доступ. Распечатка академическая, поскольку все, что вы видите, — это ключи. Чтобы управлять списком, вы используете efi-updatevar. Для этого потребуется много обручей, и если все будет сделано неправильно, вы можете заблокировать свою систему. С учетом сказанного, если у вас есть особые потребности, вы можете использовать файловую систему efivars. По умолчанию он монтируется только для чтения из-за риска разрушения системы.
Если вы знаете, какое руководство вам нужно, используйте команду efibootdump. Однако для этого требуется более глубокое знание вашей системы.
Изменение ваших переменных UEFI возможно, однако вы должны точно знать, что делаете, если вы измените что-либо еще, кроме порядка загрузки. Порядок загрузки заставит вас перезагрузиться несколько раз, пока вы не поймете возможные ошибки. Если вы хотите ускорить загрузку и сделать ее более динамичной, подумайте о rEFInd!