¿No ha cambiado la situación con systemd? ahora estamos destinados a usar, systemctl hibernateasí que quizás no sea un engañado ... o al menos una respuesta actualizada puede ser necesaria para que la antigua pregunta sea válida para engañar
Zanna
¿Qué versión de kernel estás ejecutando? Escribe uname -rel terminal (disculpas si ya lo sabías).
WinEunuuchs2Unix
Por favor, editar su pregunta y añadir la salida de free modo que podamos determinar si tiene la configuración de intercambio suficiente para hibernar éxito.
Élder Geek
Respuestas:
62
Hibernación usando systemctly haciendo que funcione en casos difíciles
Para mí, pm-hibernatesiempre falla. Después de algunos ajustes, pude hibernar usando la interfaz de systemd (sistema init en 16.04 y superior). También logré hacerlo funcionar en 17.04 con un archivo de intercambio. Este estudio de caso puede ser útil para otras personas con problemas.
Primer intento:
sudo systemctl hibernate
Si eso falla, comience la solución de problemas: en el estado de hibernación (HTD o ACPI S4), el estado de la máquina se escribe en el disco para que no se necesite energía para preservarlo. El estado se escribe en una partición de intercambio o en un archivo de intercambio. Nota: si usa BTRFS NO intente usar un archivo de intercambio ya que esto puede causar daños en el sistema de archivos
Es posible que su partición de intercambio o archivo de intercambio tenga que ser del mismo tamaño que la RAM para permitir la hibernación, pero existe una buena posibilidad de que pueda hibernar si es al menos 2/5 del tamaño de la RAM, según la página wiki de Arch , intente otros pasos primero antes de aumentar el tamaño de intercambio.
Si su problema es que obtiene un inicio limpio en lugar del currículum esperado, como mínimo probablemente necesite establecer un parámetro de inicio para encontrar la imagen del disco
Encuentra tu partición de intercambio:
grep swap /etc/fstab
para mí esto devuelve (salida parcial)
# swap was on /dev/mmcblk0p3 during installation
donde /dev/mmcblk0p3es la partición para especificar
Agregue un parámetro de arranque:
sudoedit /etc/default/grub
A la línea de inicio GRUB_CMDLINE_LINUX_DEFAULTagregue resume=/dev/YourSwapPartitiona la sección entre comillas (reemplace con la partición que identificó anteriormente). Usando mi ejemplo:
Cada vez que cambie este archivo, debe ejecutarlo sudo update-grubo los cambios no tendrán efecto.
Ahora necesitas reiniciar. Entonces puede intentar hibernar, emitiendo el comando:
sudo systemctl hibernate
Para reanudar, presione el botón de encendido y el sistema se iniciará.
Si aún tiene problemas, comience a depurar.
Incluyo mi caso a continuación como ejemplo, pero se puede encontrar información detallada sobre la depuración de los estados S en este blog y también en este .
Establezca algunos parámetros de arranque más para capturar más información. Retire quiety splashy añadir initcall_debugy no_console_suspendlo que hará que el sistema init llama a imprimir a la consola para que pueda ver lo que está mal. Establezco esto:
Lo que me ayudó a ver qué iba mal en el currículum vitae de la hibernación.
En mi caso, después del currículum perdí WiFi, y el kernel claramente estaba molesto ya que la mayoría de los comandos (por ejemplo, leer cualquier cosa /sys, recargar módulos o cualquier systemctlcomando) no funcionarían; el proceso parece comenzar y simplemente colgarse (todo esto sería volvió a la normalidad después del reinicio, por supuesto). Al observar que el sistema se apagaba muy lentamente y leer todos los mensajes de depuración, noté que había muchos problemas con "brcm", así que supuse que mi culpa era del módulo de controlador inalámbrico Broadcom. Efectivamente, ajusté mi procedimiento de hibernación para descargar el módulo primero:
Y todo funcionó a la perfección. También tengo que poner en la lista negra el btsdiomódulo que parece ser incompatible conbrcmfmac
Actualización: Hibernación utilizando un archivo de intercambio en 17.04.
Una vez más, con la ayuda de la página wiki de Arch y algunos ajustes adicionales, logré que la hibernación funcione en 17.04 con un archivo de intercambio. Esto requería un parámetro de arranque adicional, resume_offset=ndonde n es el primer número bajo physical_offseten la salida de sudo filefrag -v /swapfile:
$ sudo filefrag -v /swapfile
Filesystem type is: ef53
File size of /swapfile is 1425873920 (348114 blocks of 4096 bytes)
ext: logical_offset: physical_offset: length: expected: flags:
0: 0.. 32767: 34816.. 67583: 32768:
1: 32768.. 63487: 67584.. 98303: 30720:
....
Por lo tanto, el parámetro de arranque adicional en mi caso es resume_offset=34816. Aún necesita establecer un parámetro de arranque para que la partición se reanude. Esta será la partición raíz (o cualquier partición en la que se encuentre su archivo de intercambio) Mis parámetros son ahora:
¿Dónde /dev/mmcblk1p2está mi partición raíz (es más probable que sea la suya /dev/sda2)?
Durante la reanudación, vi que la imagen se cargaba correctamente, pero en mi caso (solo un ejemplo: YMMVAPD), luego algunos controladores más ( i2c_designware) arrojaron algunos errores y obtuve un congelamiento completo del sistema en la reanudación. La hibernación también funciona si descargo esos módulos brcmfmac, pero el sistema se vuelve rápidamente inutilizable sin esos módulos. Por lo tanto, hice una especie de secuencia de comandos para descargar los módulos con errores e inmediatamente reinsertarlos en el currículum:
Cuando quiero hibernar, corro sudo bash script. Esto funciona muy bien.
TL; DR
Utilice systemd, establezca un parámetro de arranque para reanudar desde el intercambio, identifique los controladores con errores y descárguelos antes de iniciar la hibernación. Si el sistema no puede funcionar por mucho tiempo sin esos módulos o si necesita descargar varios, puede ser más fácil usar un script simple para iniciar la hibernación.
¿De dónde proviene esa información, que 2/5 del tamaño de RAM podrían ser suficientes y bajo qué circunstancias? Tengo una opción de usuario en Gnome, "Hibernar" y parece que hiberna, pero al despertar, no funciona correctamente. Tengo una partición de intercambio de 8 GB y 32 GB de RAM. Eso no es 2/5, pero antes de crear un archivo de intercambio de 32 GB (o partición) sería bueno saberlo.
cslotty
@cslotty Recibí esa información del Arch wiki IIRC - avísame si lo logras, por favor
Zanna
Gracias, @Zanna. Descubrí que en realidad no es hibernar, lo que quiero, sino suspender (S3 / STR) - sry.
cslotty
@cslotty no te preocupes en absoluto. En ese caso, el intercambio no es su problema, ya que no está relacionado.
Zanna
1
Gracias, necesitaba una síntesis de esta respuesta, así como la sugerencia para deshabilitar SecureBoot para que funcione al final.
oligofren
62
Puedes usar
sudo pm-hibernate
para verificar si la hibernación funciona en su sistema ( esto hibernará su computadora ).
Si no funciona, verifique si su tamaño de intercambio es al menos tan grande como su RAM.
Para agregar la opción al menú de configuración, puede crear un archivo de configuración. Abra una ventana de terminal y ejecute este comando:
Abre nano con un archivo vacío. Copie las líneas a continuación y péguelas en la ventana nano.
[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
Luego guarde los cambios y cierre nano y reinicie el sistema para que Hibernate esté disponible en "Opciones de energía".
Necesitamos reiniciar después de editar el archivo para que Hibernate esté disponible en "Opciones de energía".
Jus12
21
'sudo pm-hibernate' mató mi sistema inmediatamente sin previo aviso. Deberías decirle a la gente que eso es lo que va a pasar.
Yair Daon
la mejor respuesta . Esto también funciona en 17.4 y 17.10 también.
Saurabh Bhandari
1
Esta respuesta combinada con la que dice agregar "resume =" al GRUB_CMDLINE_LINUX_DEFAULT lo resolvió por mí, ¡gracias!
Christoph el
Tengo 17 GB en mi partición de intercambio y 16 GB de RAM, ¿por qué no funciona? Parece estar en hibernación porque se tarda una eternidad en apagar la computadora, mientras que si "apago" se apaga casi de inmediato. Pero cuando vuelvo a encender mi computadora, todo está cerrado y tengo que comenzar de nuevo. Eso no está hibernando en absoluto. ¿Por qué no puede ser tan simple como en Windows? Me gustaría recibir ayuda si alguien tiene ideas sobre cómo puedo hacer que hiberne correctamente.
user1271772
20
Creo que todos saben cómo habilitar la hibernación para la respuesta 16.04, tal como se describe en Ubuntu Wiki (consulte a continuación si necesita los pasos). Pero las cosas que necesitan verificación no son exhaustivas, creo. Al menos, eso es lo que encontré.
Cosas para verificar
De mis propias pruebas, al menos he encontrado un control adicional que debes realizar. No lo he encontrado en ninguna parte de Internet.
Aquí hay algunas comprobaciones:
Compruebe que no está utilizando ninguna partición btrfs . Sí . En mi prueba, descubrí que si tienes particiones btrfs , hibernar no funcionará. Eliminar o cambiar el tipo de partición a ext4no me ayudó. Necesitaba eliminar el btrfs-toolspaquete.
sudo apt-get purge btrfs-tools
Es posible que desee comprobar otros tipos nuevos de partición que no están bien probados. Sin eliminar el paquete, poner en la lista negra el controlador también podría funcionar, pero no lo he probado.
También debe verificar que tiene una partición de intercambio lo suficientemente grande como para contener el contenido de RAM. Si su RAM es de 4 GB, el intercambio debe ser de al menos 4 GB (debe asignar unos pocos MB más para estar seguro).
Pasos para habilitar la hibernación
Implica estos pasos
Crear un archivo como root en /etc/polkit-1/localauthority/50-local.d/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
Guarde el archivo presionando Ctrl- O. Salir con Ctrl-X
Gracias Anwar. Archivé el error # 1619846 y le remití su respuesta arriba. ¿Hay alguna posibilidad de que pueda proponer cambios / adiciones más exactos a esa página en la documentación oficial?
Gunnar Hjalmarsson
1
@GunnarHjalmarsson Propondría esta advertencia. Pero, necesitaré más probadores que verifiquen esto. Te lo haré saber después
Anwar
Ok, hablemos más entonces.
Gunnar Hjalmarsson
Lo instalé en una partición btrfs y lo purgué de btrfs-toolsacuerdo con sus instrucciones. Todavía no puede hibernar.
Oxwivi
1
En el disco solo hay vfatpara UEFI, y btrfsy swap. De hecho, sospecho que se debe al hardware (computadora portátil AMD). Voy a probar esto en otro sistema con btrfs y te responderé.
Oxwivi
7
Arranque seguro
(Hice una pregunta similar pidiendo un enfoque en las respuestas basadas en systemd, compartiendo mi solución aquí para las personas que siguen esta pregunta)
Esta solución proviene de temas de Fedora (hicieron el cambio a systemd hace un tiempo, así que hay más material allí).
En mi caso (instalación reciente de 16.04.1 en una máquina que siempre admitía la hibernación), llamar a los obsoletos sudo pm-hibernateno parecía hacer nada, y el enfoque systemd actualizado systemctl hibernatedevolvería:
Failed to hibernate system via logind: Sleep verb not supported
Resulta que el arranque seguro fue el culpable: instalando 16.04 se le pregunta qué quiere hacer con él (que es algo nuevo hasta donde puedo recordar) y lo mantuve encendido sin pensarlo mucho.
En mi máquina con arranque seguro activado, cat /sys/power/diskrespondió:
[disabled]
Después de reiniciar y deshabilitar el inicio seguro en la configuración del BIOS (estos son específicos de la máquina, pero generalmente bastante sencillos) probé cat /sys/power/disky obtuve:
[platform] shutdown reboot suspend
que se ve mejor Y, de hecho, llamar a systemctl hibernateresultados en una secuencia de hibernación / descongelación exitosa.
Además, después de eso pude ver la hibernación disponible como una opción en varios lugares de la interfaz gráfica, sin la necesidad de ningún polkithack. Parece que en systemdrealidad estaba deduciendo /sys/power/diskque el sistema no podía hibernar.
Hice exactamente lo que has explicado aquí. Pero después de ejecutar el comando "systemctl hibernate", la pantalla se oscureció durante 3 segundos y luego el escritorio volvió con todos mis programas abiertos al igual que antes de ejecutar el comando. Cuando ejecuté el comando "cat / sys / power / disk" ... me mostró este texto: "[plataforma] apagado reiniciar suspender test_resume", que es similar al resultado cuando ejecutó lo mismo desde su lado pero el último texto : "prueba_resume". ¿Tienes idea de lo que podría tratar de resolver mi problema?
foxhard
No estoy muy seguro, parece que la hibernación no funciona de fábrica en su hardware, por lo que está deshabilitada de forma predeterminada como otros señalaron. Es posible que desee comenzar una pregunta por separado sobre su problema específico.
Marc
Solo trabajando a medias para mí. Hiberna, pero en lugar de despertarse de la hibernación, pasa al arranque normal, luego se queda atascado para siempre hasta un apagado físico duro.
mate
6
Esta instrucción funcionó para mi instalación de Ubuntu 18.04.
sudo apt install hibernate Instalará hibernate y otras dependencias necesarias para hibernar
grep swap /etc/fstab (UUID fing)
sudoedit /etc/default/grub
En la línea GRUB_CMDLINE_LINUX_DEFAULT = "splash silencioso" agregue UUID de intercambio. La línea se ve así GRUB_CMDLINE_LINUX_DEFAULT = "quiet splash resume = UUID of swap"
sudo update-grub
Reiniciar, y después de reiniciar sudo systemctl hibernate. Si todo funciona bien, agregue entradas de menú.
[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
en lugar de agregar un valor fijo para /etc/default/grubconsiderar actualizar el initramfs usando update-initramfs -u -k ally buscar un mensaje como The initramfs will attempt to resume from /dev/dm-0. Esto configurará automáticamente el dispositivo de reanudación.
ukos
¡Gracias, funciona perfectamente en Ubuntu 18.04! Tenga en cuenta que si es la primera vez que utiliza una extensión gnome, deberá instalar una extensión de navegador y un conector. Esto se explica en el enlace de extensión en la parte superior.
Karim Sonbol
4
Ampliando mi propio comentario a la respuesta de Kelvinelove, el archivo que sugiere editar no existía en mi sistema (Ubuntu 16.04 nuevo). En cambio, hice esto:
Busque estas secciones (están una al lado de la otra):
[Desactivar hibernación por defecto en upower] Identidad = usuario-unix: * Acción = org.freedesktop.upower.hibernate ResultActive = no
[Desactivar hibernación por defecto en logind] Identity = usuario-unix: * Acción = org.freedesktop.login1.hibernate; org.freedesktop.login1.handle-hibernate-key; ResultActive = no
Cambie ResultActive = no a ResultActive = yes para ambos.
Presione Ctrl + O para guardar el archivo.
Reinicie su computadora
La opción Hibernar ahora está disponible en sus menús de energía.
EDITAR: Gunnar señaló que este archivo se sobrescribe si se actualiza un determinado paquete, por lo que, dependiendo de sus intenciones, lo más probable es que no sea la mejor solución.
Se /etcsupone que el archivo no existe de forma predeterminada. Es un archivo de configuración que creas. Editar un archivo propiedad de un paquete, como sugiere anteriormente, es un mal consejo, ya que se sobrescribirá en la próxima actualización del paquete.
Gunnar Hjalmarsson
@GunnarHjalmarsson Si ese fuera el caso, argumentaría que debería decirse que podría no existir. Espero más de una respuesta Ask Ubuntu mejor calificada que una respuesta de "copiar / pegar este comando" -> "escribir esto" que no tiene ningún tipo de verificación de si está haciendo lo correcto (aparte de verificar si funcionó) . ¿Qué sucede si alguien encuentra esa respuesta en un par de años, pero tiene miedo de intentarlo ya que el archivo está vacío y las instrucciones indican claramente que se debe agregar al archivo, lo que implica que existe? No obstante, agradezco la información, la agregaré a la respuesta para completarla.
fgblomqvist
1
Punto justo; Edité la respuesta de NirajW con esa aclaración. Cabe señalar que la fuente original de información en esta página habla sobre la creación .
Gunnar Hjalmarsson
Esto es perfecto, me salvaste hermano :)
Azam Alvi
4
Para mí, funciona para instalar el hibernatepaquete, reiniciar y luego ejecutar sudo hibernate-disk. Estoy seguro de que es posible agregarlo al menú, pero no vale la pena.
Primero, le recomiendo que pruebe si su máquina admite hibernación, porque la razón por la cual la hibernación está deshabilitada de manera predeterminada es porque a veces tiene resultados desagradables en algunas máquinas. Pruebe su máquina abriendo el terminal ( Ctrl+ Alt+ T) y luego escribiendosudo pm-hibernate
Su máquina debería hibernar. Despierte su máquina después de la hibernación y observe si se comporta mal o si actúa normalmente. Si experimenta alguna anormalidad después de la hibernación, le aconsejo que no continúe con el siguiente procedimiento. Sin embargo, si funciona bien, continúe activando la hibernación haciendo esto:
Después de esto, reinicie su máquina, y después de iniciar sesión, debería ver una opción de hibernación agregada en el menú de encendido, en la esquina superior derecha de la configuración.
Tengo thinkpad -E550 y no tiene ningún problema con la hibernación cuando mi sistema operativo es ubuntu 15.1 o windows8.1. pero usando ubuntu 16.04, cuando uso el comando "sudo pm-hibernate", no hiberna completamente y solo la pantalla se pone negra y la máquina aún está encendida.
Mahyar
En mi caso, el comando no hace nada en absoluto. El terminal va a la nueva línea y espera el siguiente comando, es decir, se ha ejecutado el comando anterior. Pero no hace nadaat all
Aalok
Esto no funciona para mi. Ubuntu 16.04. La opción Hibernar no aparece y permanece deshabilitada en Configuración -> Energía, ¿algo más?
sudo pm-hibernate
?systemctl hibernate
así que quizás no sea un engañado ... o al menos una respuesta actualizada puede ser necesaria para que la antigua pregunta sea válida para engañaruname -r
el terminal (disculpas si ya lo sabías).free
modo que podamos determinar si tiene la configuración de intercambio suficiente para hibernar éxito.Respuestas:
Hibernación usando
systemctl
y haciendo que funcione en casos difícilesPara mí,
pm-hibernate
siempre falla. Después de algunos ajustes, pude hibernar usando la interfaz de systemd (sistema init en 16.04 y superior). También logré hacerlo funcionar en 17.04 con un archivo de intercambio. Este estudio de caso puede ser útil para otras personas con problemas.Primer intento:
Si eso falla, comience la solución de problemas: en el estado de hibernación (HTD o ACPI S4), el estado de la máquina se escribe en el disco para que no se necesite energía para preservarlo. El estado se escribe en una partición de intercambio o en un archivo de intercambio. Nota: si usa BTRFS NO intente usar un archivo de intercambio ya que esto puede causar daños en el sistema de archivos
Es posible que su partición de intercambio o archivo de intercambio tenga que ser del mismo tamaño que la RAM para permitir la hibernación, pero existe una buena posibilidad de que pueda hibernar si es al menos 2/5 del tamaño de la RAM, según la página wiki de Arch , intente otros pasos primero antes de aumentar el tamaño de intercambio.
Si su problema es que obtiene un inicio limpio en lugar del currículum esperado, como mínimo probablemente necesite establecer un parámetro de inicio para encontrar la imagen del disco
Encuentra tu partición de intercambio:
para mí esto devuelve (salida parcial)
donde
/dev/mmcblk0p3
es la partición para especificarAgregue un parámetro de arranque:
A la línea de inicio
GRUB_CMDLINE_LINUX_DEFAULT
agregueresume=/dev/YourSwapPartition
a la sección entre comillas (reemplace con la partición que identificó anteriormente). Usando mi ejemplo:Cada vez que cambie este archivo, debe ejecutarlo
sudo update-grub
o los cambios no tendrán efecto.Ahora necesitas reiniciar. Entonces puede intentar hibernar, emitiendo el comando:
Para reanudar, presione el botón de encendido y el sistema se iniciará.
Si aún tiene problemas, comience a depurar.
Incluyo mi caso a continuación como ejemplo, pero se puede encontrar información detallada sobre la depuración de los estados S en este blog y también en este .
Establezca algunos parámetros de arranque más para capturar más información. Retire
quiet
ysplash
y añadirinitcall_debug
yno_console_suspend
lo que hará que el sistema init llama a imprimir a la consola para que pueda ver lo que está mal. Establezco esto:Lo que me ayudó a ver qué iba mal en el currículum vitae de la hibernación.
En mi caso, después del currículum perdí WiFi, y el kernel claramente estaba molesto ya que la mayoría de los comandos (por ejemplo, leer cualquier cosa
/sys
, recargar módulos o cualquiersystemctl
comando) no funcionarían; el proceso parece comenzar y simplemente colgarse (todo esto sería volvió a la normalidad después del reinicio, por supuesto). Al observar que el sistema se apagaba muy lentamente y leer todos los mensajes de depuración, noté que había muchos problemas con "brcm", así que supuse que mi culpa era del módulo de controlador inalámbrico Broadcom. Efectivamente, ajusté mi procedimiento de hibernación para descargar el módulo primero:en el currículum reinserto el módulo
Y todo funcionó a la perfección. También tengo que poner en la lista negra el
btsdio
módulo que parece ser incompatible conbrcmfmac
Actualización: Hibernación utilizando un archivo de intercambio en 17.04.
Una vez más, con la ayuda de la página wiki de Arch y algunos ajustes adicionales, logré que la hibernación funcione en 17.04 con un archivo de intercambio. Esto requería un parámetro de arranque adicional,
resume_offset=n
donde n es el primer número bajophysical_offset
en la salida desudo filefrag -v /swapfile
:Por lo tanto, el parámetro de arranque adicional en mi caso es
resume_offset=34816
. Aún necesita establecer un parámetro de arranque para que la partición se reanude. Esta será la partición raíz (o cualquier partición en la que se encuentre su archivo de intercambio) Mis parámetros son ahora:¿Dónde
/dev/mmcblk1p2
está mi partición raíz (es más probable que sea la suya/dev/sda2
)?Durante la reanudación, vi que la imagen se cargaba correctamente, pero en mi caso (solo un ejemplo: YMMVAPD), luego algunos controladores más (
i2c_designware
) arrojaron algunos errores y obtuve un congelamiento completo del sistema en la reanudación. La hibernación también funciona si descargo esos módulosbrcmfmac
, pero el sistema se vuelve rápidamente inutilizable sin esos módulos. Por lo tanto, hice una especie de secuencia de comandos para descargar los módulos con errores e inmediatamente reinsertarlos en el currículum:Cuando quiero hibernar, corro
sudo bash script
. Esto funciona muy bien.TL; DR
Utilice systemd, establezca un parámetro de arranque para reanudar desde el intercambio, identifique los controladores con errores y descárguelos antes de iniciar la hibernación. Si el sistema no puede funcionar por mucho tiempo sin esos módulos o si necesita descargar varios, puede ser más fácil usar un script simple para iniciar la hibernación.
fuente
Puedes usar
para verificar si la hibernación funciona en su sistema ( esto hibernará su computadora ).
Si no funciona, verifique si su tamaño de intercambio es al menos tan grande como su RAM.
Para agregar la opción al menú de configuración, puede crear un archivo de configuración. Abra una ventana de terminal y ejecute este comando:
Abre nano con un archivo vacío. Copie las líneas a continuación y péguelas en la ventana nano.
Luego guarde los cambios y cierre nano y reinicie el sistema para que Hibernate esté disponible en "Opciones de energía".
Referencia: ¿Cómo hibernar mi computadora? en la documentación oficial de Ubuntu 16.04.
Espero que funcione. Esto funcionó para mí después de probar todas las demás opciones.
fuente
Creo que todos saben cómo habilitar la hibernación para la respuesta 16.04, tal como se describe en Ubuntu Wiki (consulte a continuación si necesita los pasos). Pero las cosas que necesitan verificación no son exhaustivas, creo. Al menos, eso es lo que encontré.
Cosas para verificar
De mis propias pruebas, al menos he encontrado un control adicional que debes realizar. No lo he encontrado en ninguna parte de Internet.
Aquí hay algunas comprobaciones:
Compruebe que no está utilizando ninguna partición btrfs . Sí . En mi prueba, descubrí que si tienes particiones btrfs , hibernar no funcionará. Eliminar o cambiar el tipo de partición a
ext4
no me ayudó. Necesitaba eliminar elbtrfs-tools
paquete.Es posible que desee comprobar otros tipos nuevos de partición que no están bien probados. Sin eliminar el paquete, poner en la lista negra el controlador también podría funcionar, pero no lo he probado.
También debe verificar que tiene una partición de intercambio lo suficientemente grande como para contener el contenido de RAM. Si su RAM es de 4 GB, el intercambio debe ser de al menos 4 GB (debe asignar unos pocos MB más para estar seguro).
Pasos para habilitar la hibernación
Implica estos pasos
Crear un archivo como root en
/etc/polkit-1/localauthority/50-local.d/enable-hibernate.pkla
Ponga este contenido en ese archivo
Guarde el archivo presionando Ctrl- O. Salir con Ctrl-X
Reinicia el
polkitd
demonioDebería habilitar la hibernación.
fuente
btrfs-tools
acuerdo con sus instrucciones. Todavía no puede hibernar.vfat
para UEFI, ybtrfs
yswap
. De hecho, sospecho que se debe al hardware (computadora portátil AMD). Voy a probar esto en otro sistema con btrfs y te responderé.Arranque seguro
(Hice una pregunta similar pidiendo un enfoque en las respuestas basadas en systemd, compartiendo mi solución aquí para las personas que siguen esta pregunta)
Esta solución proviene de temas de Fedora (hicieron el cambio a systemd hace un tiempo, así que hay más material allí).
En mi caso (instalación reciente de 16.04.1 en una máquina que siempre admitía la hibernación), llamar a los obsoletos
sudo pm-hibernate
no parecía hacer nada, y el enfoque systemd actualizadosystemctl hibernate
devolvería:Resulta que el arranque seguro fue el culpable: instalando 16.04 se le pregunta qué quiere hacer con él (que es algo nuevo hasta donde puedo recordar) y lo mantuve encendido sin pensarlo mucho.
En mi máquina con arranque seguro activado,
cat /sys/power/disk
respondió:Después de reiniciar y deshabilitar el inicio seguro en la configuración del BIOS (estos son específicos de la máquina, pero generalmente bastante sencillos) probé
cat /sys/power/disk
y obtuve:que se ve mejor Y, de hecho, llamar a
systemctl hibernate
resultados en una secuencia de hibernación / descongelación exitosa.Además, después de eso pude ver la hibernación disponible como una opción en varios lugares de la interfaz gráfica, sin la necesidad de ningún
polkit
hack. Parece que ensystemd
realidad estaba deduciendo/sys/power/disk
que el sistema no podía hibernar.fuente
Esta instrucción funcionó para mi instalación de Ubuntu 18.04.
sudo apt install hibernate
Instalará hibernate y otras dependencias necesarias para hibernargrep swap /etc/fstab
(UUID fing)sudoedit /etc/default/grub
En la línea GRUB_CMDLINE_LINUX_DEFAULT = "splash silencioso" agregue UUID de intercambio. La línea se ve así GRUB_CMDLINE_LINUX_DEFAULT = "quiet splash resume = UUID of swap"sudo update-grub
sudo systemctl hibernate
. Si todo funciona bien, agregue entradas de menú.sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
ahora pegue esto:copiado de https://askubuntu.com/a/819891/712203
fuente
/etc/default/grub
considerar actualizar el initramfs usandoupdate-initramfs -u -k all
y buscar un mensaje comoThe initramfs will attempt to resume from /dev/dm-0
. Esto configurará automáticamente el dispositivo de reanudación.Ampliando mi propio comentario a la respuesta de Kelvinelove, el archivo que sugiere editar no existía en mi sistema (Ubuntu 16.04 nuevo). En cambio, hice esto:
sudo nano /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
Busque estas secciones (están una al lado de la otra):
Cambie ResultActive = no a ResultActive = yes para ambos.
EDITAR: Gunnar señaló que este archivo se sobrescribe si se actualiza un determinado paquete, por lo que, dependiendo de sus intenciones, lo más probable es que no sea la mejor solución.
Fuente: http://www.zedt.eu/tech/linux/enable-hibernation-xubuntu-16-04/
fuente
/etc
supone que el archivo no existe de forma predeterminada. Es un archivo de configuración que creas. Editar un archivo propiedad de un paquete, como sugiere anteriormente, es un mal consejo, ya que se sobrescribirá en la próxima actualización del paquete.Para mí, funciona para instalar el
hibernate
paquete, reiniciar y luego ejecutarsudo hibernate-disk
. Estoy seguro de que es posible agregarlo al menú, pero no vale la pena.fuente
Primero, le recomiendo que pruebe si su máquina admite hibernación, porque la razón por la cual la hibernación está deshabilitada de manera predeterminada es porque a veces tiene resultados desagradables en algunas máquinas. Pruebe su máquina abriendo el terminal ( Ctrl+ Alt+ T) y luego escribiendo
sudo pm-hibernate
Su máquina debería hibernar. Despierte su máquina después de la hibernación y observe si se comporta mal o si actúa normalmente. Si experimenta alguna anormalidad después de la hibernación, le aconsejo que no continúe con el siguiente procedimiento. Sin embargo, si funciona bien, continúe activando la hibernación haciendo esto:
Edite el archivo abierto y agregue estas líneas:
Después de esto, reinicie su máquina, y después de iniciar sesión, debería ver una opción de hibernación agregada en el menú de encendido, en la esquina superior derecha de la configuración.
fuente
at all
com.ubuntu.enable-hibernate.pkla
. Ver respuesta publicada por NirajW.Aquí hay algunos recursos muy buenos para ayudarlo a resolver algunos de los problemas de hibernación más comunes en Ubuntu.
En mi caso, ejecutando Ubuntu 16.10 en un Lenovo u300s, para que la hibernación funcione correctamente, tuve que hacer lo siguiente:
Editar
/etc/default/grub
para incluir la siguiente línea:El RESUME se refiere a su UUID de archivo de intercambio específico. En particular, en la configuración de mi máquina
pci=nomsi
estaba la clave.¡La mejor de las suertes!
fuente
Tienes que habilitarlo manualmente con un poco de esfuerzo. Ha sido deshabilitado por defecto.
http://ubuntuhandbook.org/index.php/2014/04/enable-hibernate-ubuntu-14-04/
Entonces, si no funciona, puede ser un problema del kernel 4.4.0 y es posible que deba actualizar el kernel.
fuente