Потратив часы на отладку проблемы, когда systemd-boot
начал пропускать свое загрузочное меню и вообще игнорируя свой конфигурационный файл /loader/loader.conf
(в разделе EFI), я обнаружил, что могу вызвать меню загрузки, нажав несколько ключ при запуске, и что проблема вызвана определенной переменной EFI, которую я, по-видимому, случайно создал. (Я не знаю, как это произошло, но проблема появилась вскоре после того, как я переустановил Ubuntu 18.04.1 на один раздел.)
В частности, я обнаружил, что переменная LoaderConfigTimeout-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
установлена на 0
, что переопределило тайм-аут, определенный в /loader/loader.conf
, и у меня также была переменная LoaderEntryDefault-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
, который переопределяет элемент меню по умолчанию, заданный в /loader/loader.conf
.
Смотрите в нижней части страницы «systemd-boot UEFI Boot Manager» на freedesktop.org список переменных EFI, используемых systemd-boot
. Их значения могут быть проверены, например, с
cat /sys/firmware/efi/efivars/LoaderConfigTimeout-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
После того, как я заставил меню загрузки появиться нажатием некоторой клавиши, а затем дважды нажал d, чтобы установить и сбросить новую запись по умолчанию, это удалило мою переменную LoaderEntryDefault-...
Тем не менее, я все еще застрял с LoaderConfigTimeout-...
Я знаю, что могу изменить время ожидания с помощью клавиш t T(Shift-t) в меню, которое изменяет LoaderConfigTimeout-...
, но я хочу полностью удалить его, чтобы конфигурация в /loader/loader.conf
была использовал снова.
Какой правильный и безопасный способ изменения и сброса переменных EFI, таких как LoaderConfigTimeout-...
?