GRUB чередуется между конфигурациями

Я пытался настроить Grub для скрытого 3-секундного обратного отсчета, а затем загрузить вариант по умолчанию.

Кажется, что происходит, что Grub будет случайным образом переключаться между выполнением именно этого и отображением меню с 25-секундным обратным отсчетом.

Это происходит как при полной перезагрузке, так и при восстановлении из спящего режима. Я не смог установить какую-либо модель, которая будет предсказывать, когда это произойдет. Иногда он дает один конфиг 2 или 3 раза подряд, иногда он переключается.

Как я могу сделать это последовательным?

Ubuntu Desktop 18.04

Содержание /etc/default/grub:

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=3
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT_STYLE=countdown
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nouveau.modeset=0"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=/dev/nvme0n1p3"
#GRUB_CMDLINE_LINUX_DEFAULT="text"
#GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""
GRUB_INIT_TUNE="480 440 1"

Я также использовал grub-customizer 5.1.0,

1 ответ

Решение

Оказывается, проблема в том, что в файле установлено поле "recordfail" /boot/grub/grubenv

Способ сброса это с помощью команды:

sudo /usr/bin/grub-editenv /boot/grub/grubenv unset recordfail

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

Это можно сделать с помощью сервиса.

Используйте этот дескриптор сервиса:

[Unit]
Description=Unset recordfail in grubenv after hibernation.
After=hibernate.target

[Service]
Type=oneshot
ExecStart=/usr/bin/grub-editenv /boot/grub/grubenv unset recordfail

[Install]
WantedBy=hibernate.target hybrid-sleep.target

Затем установите его, используя инструкции из этого ответа:

Создайте описанный выше дескриптор как

/etc/systemd/system/grub-unset-recordfail.service

Затем:

sudo systemctl start grub-unset-recordfail
sudo systemctl enable grub-unset-recordfail
sudo systemctl stop grub-unset-recordfail

Некоторые ссылки предлагают вам запустить sudo systemctl daemon-reload во-первых, но я не нашел это необходимым.

Другие вопросы по тегам