Después de habilitar la hibernación, el menú grub aparece al iniciar con un tiempo de espera de 30 segundos

Después de habilitar la hibernación, el menú grub aparece al iniciar con un tiempo de espera de 30 segundos

Mi sistema no es de arranque dual, solo un sistema operativo UBUNTU 16.04. Antes de realizar los siguientes cambios, la pantalla de Grub no aparecía al inicio (OK).

Después de seguir estos pasos desde¿Cómo puedo hibernar en Ubuntu 16.04?para habilitar la hibernación en el menú del sistema:

  1. Abra la terminal y entre;

    sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
    
  2. agregue las líneas al archivo vacío;

    [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 luego Y para guardar (me sugirieron un nombre de archivo y acepté sin tomar nota).

  4. Reinicie para que los cambios surtan efecto.

Hibernar ahora funciona y aparece en el menú (OK), pero cada vez que reinicio aparece un menú de Grub al inicio con un tiempo de espera completo de 30 segundos (NOK). Intenté jugar con la configuración de tiempo de espera del menú de Grub, pero aún así obtengo el tiempo de espera completo de 30 segundos. ¿Cómo evito que aparezca el menú de Grub y reduzco el tiempo de inicio al que tenía antes de realizar estos cambios?

Configuración actual de 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=""

Respuesta1

Tuve un tiempo de espera de 30 segundos después de hibernar, la configuración no documentada GRUB_RECORDFAIL_TIMEOUTfuncionó para mí:

GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

VeresteResponda para más detalles.

Respuesta2

Lamento rechazar la otra respuesta, pero el consejo dado no es sólido ya que cambiará el tiempo de espera cuando falla el arranque (debido a una interrupción del hardware o lo que sea).

Grub tiene un archivo especial donde registra si el último arranque fue exitoso o no: inicialmente registra que el arranque falló usando un recordfailbit, y el sistema operativo principal elimina ese bit cuando toma el control. De esa manera, si el arranque falla, en el siguiente arranque, Grub puede detectar que recordfailtodavía está presente y darle al usuario más tiempo para verificar qué sucede.

Pero al salir de la hibernación, el sistema operativo no elimina ese bit. Entonces tenemos que contarlo escribiendo un guión. Una solución sería poner un archivo /lib/systemd/system-sleep/10_grubcon contenido:

#!/bin/sh

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

Luego hazlo ejecutable consudo chmod +x 10_grub

Otra forma es utilizar un servicio systemd, como se explicaallá.

información relacionada