Tuve los mismos problemas. Hay un error en el kernel más reciente en 16.04. Aquí están los pasos explícitos que he hecho. Haz el primero y, si te resuelve el problema, detente allí. Si no, continúa.
1. Configure la computadora para que arranque con el núcleo anterior
Empezar con:
uname -r
El mío dice 4.13 ... Entonces haz:
grep -i "menuentry '" /boot/grub/grub.cfg
Verá las diferentes entradas de menú en grub. En mi caso, junto con "Ubuntu, con Linux 4.13 ..." había una opción de menú para arrancar con el núcleo anterior. Decía Ubuntu, con Linux 4.10.0-28-generic . En la misma línea tiene algo como 'gnulinux-4.10.0-28-generic-advanced ... (un montón de caracteres aquí)' Copie ese texto, y luego tenemos que decirle a grub2 que arranque con ese núcleo por defecto:
sudo cp / etc / default / grub /etc/default/grub.back
sudo gedit / etc / default / grub
Luego inserté esta línea:
GRUB_DEFAULT = "gnulinux-advanced-4a50e1e8-56d9-413e-9954-55648888a31d> gnulinux-4.10.0-28-generic-advanced-4a50e1e8-56d9-413e-9954-55648888a31d"
No copie esta línea literalmente, pero use la salida del comando grep anterior como se dijo. Luego guardar y,
sudo update-grub
Luego reinicie y verifique que la salida de "uname -r" sea el núcleo más antiguo (4.10 ... en mi caso). Es posible que pueda hibernar ahora o no. Si no, continúe con el siguiente paso.
2. Instale cosas diferentes para hibernar que la predeterminada:
En mi caso, el uso del kernel anterior eliminó la pantalla negra de la muerte y me permitió reanudar después de la hibernación, pero el contenido de la imagen del disco se borraba, es decir, era idéntico a un reinicio, no a la hibernación. Así que instalé algo de mierda que hiberna de manera diferente:
sudo apt-get install uswsusp
Luego cierre la terminal, ábrala nuevamente y escriba:
sudo s2disk
Se supone que esto hiberna la computadora. Si, después de reanudar, todo está como lo dejó, entonces ha resuelto el problema. Pero aún debe continuar con el paso 4 para decirle a Ubuntu que desea usar las cosas nuevas de forma predeterminada y también que desea tener opciones para hibernar en las aplicaciones.
3. Indique a grub 2 dónde está la partición de intercambio:
Todavía no me funcionó, así que tuve que decirle a Grub dónde está la partición de intercambio:
gato / etc / fstab
Podía leer allí "# swap estaba en / dev / sda2 durante la instalación", así que edité grub nuevamente:
sudo gedit / etc / default / grub
Y agregado:
GRUB_CMDLINE_LINUX_DEFAULT = "intel_pstate = deshabilitar resume = / dev / sda2"
La parte importante es "resume = / dev / sda2" pero lo anterior (intel blablabla) está ahí por otras razones. Bueno, el siguiente paso es:
sudo update-grub
Reinicie e intente nuevamente hibernar con algunas cosas que están sucediendo (por ejemplo, abrir una película con vlc) con:
sudo s2disk
Si las cosas siguen ahí después de reanudar, ha resuelto el problema.
4. Indicar a Ubuntu que use las nuevas cosas de hibernación que ha instalado en lugar de las predeterminadas
Ahora tiene que decirle a Ubuntu que use s2disk para hibernar en lugar de las cosas que vienen por defecto:
sudo gedit /etc/pm/config.d/00sleep_module
E inserte allí:
SLEEP_MODULE = "uswsusp"
Guarde y cierre el archivo. Entonces:
sudo gedit /etc/polkit-1/localauthority/50-local.d/enable-hibernate.pkla
E inserte allí:
[Vuelva a habilitar la hibernación por defecto en upower]
Identidad = usuario unix: *
Acción = org.freedesktop.upower.hibernate
ResultActive = yes
[Vuelva a habilitar la hibernación por defecto en logind]
Identidad = usuario unix: *
Acción = org.freedesktop.login1.hibernate; org.freedesktop.login1.handle-hibernate-key; org.freedesktop.login1; org.freedesktop.login1.hibernate-multiple-sessions; org.freedesktop.login1.hibernate-ignore- inhibir
ResultActive = yes
Reinicie e intente nuevamente.
5. Si después de ejecutar el Paso 4, no puede hibernar usando sudo systemctl hibernate
, haga lo siguiente
El paso 4 no es suficiente para hacer el cambio a uswsusp en Ubuntu 18.10.
Edite el servicio de hibernación
sudo systemctl edit systemd-hibernate.service
Y agregue lo siguiente
[Service]
ExecStart=
ExecStartPre=-/bin/run-parts -v -a pre /usr/lib/systemd/system-sleep
ExecStart=/usr/sbin/s2disk
ExecStartPost=-/bin/run-parts -v --reverse -a post /usr/lib/systemd/system-sleep
Actualizar systemd
sudo systemctl daemon-reload
Pruebe la configuración ejecutando lo siguiente
sudo systemctl hibernate