После включения спящего режима при запуске появляется меню grub с таймаутом 30 с.

После включения спящего режима при запуске появляется меню grub с таймаутом 30 с.

Моя система не имеет двойной загрузки, а только одиночную ОС UBUNTU 16.04. До внесения следующих изменений экран Grub не появлялся при запуске (OK).

После выполнения этих шаговКак перейти в спящий режим в Ubuntu 16.04?чтобы включить спящий режим в системном меню:

  1. Откройте терминал и войдите;

    sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
    
  2. добавьте строки в пустой файл;

    [Re-enable hibernate by default in upower]
    Identity=unix-user:*
    Action=org.freedesktop.upower.hibernate
    ResultActive=yes
    
    [Re-enable hibernate by default in logind]
    Identity=unix-user:*
    Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
    ResultActive=yes
    
  3. ^X, затем Y, чтобы сохранить (было предложено имя файла, и я принял его, не принимая во внимание).

  4. Перезагрузите компьютер, чтобы изменения вступили в силу.

Теперь спящий режим работает и отображается в меню (OK), но теперь при каждой перезагрузке я получаю меню Grub при запуске с полным 30-секундным тайм-аутом (NOK). Я пробовал играть с настройками тайм-аута меню Grub, но все равно получаю полный 30-секундный тайм-аут. Как мне остановить появление меню Grub и сократить время загрузки до того, что было до внесения этих изменений.

Текущие настройки Grub;

GRUB_DEFAULT="0"
GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="1"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

решение1

GRUB_RECORDFAIL_TIMEOUTУ меня был тайм-аут в 30 секунд после перехода в режим гибернации, мне помогла недокументированная настройка :

GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

ВидетьэтотОтветьте для более подробной информации.

решение2

Извините, что отклоняю другой ответ, но данный там совет неверен, поскольку он изменит тайм-аут в случае сбоя загрузки (из-за сбоя оборудования или чего-то еще).

Grub имеет специальный файл, в котором он записывает, была ли последняя загрузка успешной или нет: изначально он записывает загрузку как неудачную с помощью бита recordfail, а основная ОС удаляет этот бит, когда берет управление на себя. Таким образом, если загрузка не удалась, при следующей загрузке Grub может обнаружить, что он recordfailвсе еще присутствует, и дать пользователю больше времени, чтобы проверить, что происходит.

Но при размораживании из гибернации ОС не удаляет этот бит. Поэтому мы должны указать ему это, написав скрипт. Решением было бы поместить файл /lib/systemd/system-sleep/10_grubс содержимым:

#!/bin/sh

case $1 in
        post)
                grub-editenv - unset recordfail
                ;;
esac

Затем сделайте его исполняемым с помощьюsudo chmod +x 10_grub

Другой способ — использовать службу systemd, как объясненотам.

Связанный контент