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
во-первых, но я не нашел это необходимым.