Моя система не имеет двойной загрузки, а только одиночную ОС UBUNTU 16.04. До внесения следующих изменений экран Grub не появлялся при запуске (OK).
После выполнения этих шаговКак перейти в спящий режим в Ubuntu 16.04?чтобы включить спящий режим в системном меню:
Откройте терминал и войдите;
sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
добавьте строки в пустой файл;
[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
^X, затем Y, чтобы сохранить (было предложено имя файла, и я принял его, не принимая во внимание).
Перезагрузите компьютер, чтобы изменения вступили в силу.
Теперь спящий режим работает и отображается в меню (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, как объясненотам.