En este artículo explico como hibernar Ubuntu.

Requisitos:

La partición de swap tiene que ser mayor que la memoria física

Lo que hacemos es instalar este programa.

apt-get install uswsusp

Con esto nos habrá cambiado el initrd, el siguiente paso es añadir al menu.lst del grub en la línea de las opciones del núcleo esta opción:

resume=/dev/hda4

Esta es mi partición swap mira cual es la tuya.

y quedaría de esta forma:

kernel /boot/vmlinuz-2.6.20-15-generic root=/dev/hd… resume=/dev/hda4

Por último creamos este shell script y le damos permiso de ejecución

nano -w /usr/local/bin/hibernar

#!/bin/bash
swapoff -a
swapon -a
sync && echo 4 > /proc/acpi/sleep

Lo que hacemos es desactivar el swap (borramos la memoria virtual), la cargamos, sincronizamos discos y lo ponemos a hibernar.

Ejecutamos hibernar como root a ver que tal va. Si al resumir la pantalla se queda en negro, cambiar de terminales texto a la gráfica y mover el ratón, sino habrá que modificar opciones en /etc/defaults

Por último si queremos que se hiberne presionando el botón modificamos el:

# /etc/acpi/events/powerbtn

event=button[ /]power
#action=/etc/acpi/powerbtn.sh
action=/usr/local/bin/hibernar