Eu ainda não sei qual configuração você tem e o que realmente está acontecendo quando você tenta hibernar sua máquina, mas tentarei responder à pergunta.
Eu tenho a distro de teste do Debian, mas acho que não deve haver um problema para configurar isso no seu pc. Basta olhar para a minha configuração, talvez você descubra o que há de errado no seu caso.
Este é o meu disco de teste:
root:~# lsblk -o name,uuid
NAME UUID
sda
├─sda1 727035387035047F
├─sda2 c55b13b7-ca46-488e-a78c-ac229cb6634c
├─sda3 1c379414-bac2-45d9-85c5-25163c663341
│ └─sda3_crypt (dm-0) 44cd4817-c27f-47aa-a7d5-b64276817a74
└─sda4 7774cf98-35fd-42fd-9891-7255c916fe02
└─sda4 (dm-1) 0905595d-db03-4cc9-93d6-7d1262c140a4
sda2
é para partição de inicialização, sda3
, há o meu linux e sda4
é a partição de troca. sda3
e sda4
são criptografados e você deseja desbloquear a partição swap na inicialização. Você precisa editar alguns arquivos para fazer isso.
/etc/fstab
file:
UUID=0905595d-db03-4cc9-93d6-7d1262c140a4 swap swap defaults 0 0
/etc/initramfs-tools/conf.d/resume
file:
RESUME=/dev/disk/by-uuid/0905595d-db03-4cc9-93d6-7d1262c140a4
/etc/crypttab
file:
swap UUID=7774cf98-35fd-42fd-9891-7255c916fe02 none luks
Agora você tem que regenerar o initramfs:
update-initramfs -u -k all
Esta solução funciona para mim no meu teste debian. Eu não fiz mais nada, a inicialização, o desbloqueio e o trabalho de hibernação sem nenhum problema.
UPDATE
Eu acho que percebi isso. Instalei o sistema e fiz o que escrevi na resposta, mas isso não funcionou. Talvez seja por causa do upstart - estou usando o sysvinit. Então eu instalei o sistema novamente, agora usando o recurso embutido criptografado. Em seguida, verifiquei todos os três arquivos e apenas o arquivo /etc/fstab
foi diferente. Parece que você não pode usar UUIDs em /etc/fstab
quando quiser montar ou interagir com dispositivos criptografados. Então, instalei o sistema mais uma vez (não criptografado) e criei uma partição separada para swap. Os dois arquivos /etc/initramfs-tools/conf.d/resume
e /etc/crypttab
permanecem os mesmos, mas no arquivo /etc/fstab
eu adicionei a seguinte linha:
/dev/mapper/swap none swap sw 0 0
E funcionou - eu tinha uma tela de senha inicial e ela parou de ser inicializada até que a senha correta fosse informada. Também verifiquei se a hibernação funciona e funciona conforme o esperado.