Después de hibernar con systemctl hibernate
, el sistema arranca normalmente como si se hubiera apagado. Tengo el parámetro resume en la línea del kernel y el gancho resume en mkinitcpio.conf
Estos son los mensajes relevantes del kernel:
$ dmesg | grep -i swap
[ 0.000000] Command line: initrd=\initramfs-linux.img root=/dev/sda2 rw resume=/dev/sda4
[ 0.000000] Kernel command line: initrd=\initramfs-linux.img root=/dev/sda2 rw resume=/dev/sda4
[ 0.350295] PM: Checking hibernation image partition /dev/sda4
[ 8.776686] Adding 8191996k swap on /dev/sda4. Priority:-1 extents:1 across:8191996k FS
$ dmesg | grep -i hibern
[ 0.350295] PM: Checking hibernation image partition /dev/sda4
[ 0.350301] PM: Hibernation image not present or could not be loaded.
Entonces la única posibilidad que queda es quesystemctl
no escribió en el disco. De hecho, cuando ejecuto el comando, la pantalla primero se queda en blanco durante un par de segundos, luego puedo ver mi terminal nuevamente y finalmente se apaga solo.
Leí que pm-utils no funciona muy bien con systemd, así que no me gustaría cambiar a ellos. ¿Alguna sugerencia?
¡Gracias!
Respuesta1
Para elaborar el comentario de @AdrianRatnapala, debes:
Encuentre el uuid de su partición de intercambio. Supongamos que la partición es sdb3, entonces
$ ls -l /dev/disk/by-uuid/ | grep sdb3 lrwxrwxrwx 1 root root 10 окт. 9 08:59 1dd7e123-1f82-45f0-a202-0ff3ea6f081a -> ../../sdb3
Abra
/etc/default/grub
y busque la línea que comienza conGRUB_CMDLINE_LINUX_DEFAULT="
. Agregue allí entre comillasresume=/dev/disk/by-uuid/your-swap-uuid
. Como ejemplo:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=/dev/disk/by-uuid/1dd7e123-1f82-45f0-a202-0ff3ea6f081a"
- Ejecutar como root
update-grub
- Es necesario reiniciar para utilizar la nueva línea de comandos del kernel.
Respuesta2
Quiero compartir mi éxito aquí porque podría ayudar a otros con este problema. En pocas palabras, para aquellos que quieran omitir los detalles: después de cambiar la línea GRUB_CMDLINE_LINUX_DEFAULT en el archivo /etc/default/grub y realizar update-grub, apague y reinicie completamente la máquina antes de probar la hibernación.
Los detalles: Acabo de implementar con éxito la hibernación en la instalación de Linux de mi Lenovo ThinkPad T480 (arranque dual Debian 9 y Windows) siguiendo el consejo anterior para agregar un parámetro resume=UUID= a la línea GRUB_CMDLINE_LINUX_DEFAULT en /etc/default/grub. Pero no funcionó la primera vez. Agregué el parámetro, ejecuté update-grub e intenté hibernar (systemctl-hibernate). El sistema parecía hibernar, pero cuando se volvía a encender, la imagen de la pantalla anterior aparecía y permanecía durante varios segundos antes de que la máquina ingresara a la pantalla de inicio de sesión que generalmente se presenta en el inicio inicial; todo el trabajo presente antes de que desapareciera la hibernación. Finalmente noté (syslog grep 'línea de comando') que la línea GRUB_CMDLINE_LINUX_DEFAULT modificada NO se había pasado al kernel. Después de más esfuerzo, descubrí que un apagado completo y un reinicio darían como resultado que se pasara la línea modificada (grep 'línea de comando' syslog nuevamente). Después de eso, systemctl hibernate indujo la hibernación como antes, pero al encender el estado anterior de la máquina se restauró correctamente.