Recuperou a opção de Hibernação, mas não pode retomar do Hibernate


10

No meu Ubuntu 12.04, a opção de hibernação estava funcionando bem. No entanto, instalei o Debian em outra partição recentemente e quando tentei inicializar novamente no Ubuntu, recebi uma mensagem na tela inicial dizendo:

A unidade de disco para / ainda não está pronta ou não está presente. Continue aguardando; ou pressione s para pular a montagem ou M para recuperação manual.

Depois de entrar no Ubuntu, acho que minha opção de hibernação desapareceu.

Existe alguma maneira de recuperar a opção de hibernação?

EDIT: Solucionei o problema da unidade de disco e recuperei a opção de hibernação. Quando eu fiz o "sudo pm-hibernate", meu sistema foi para a hibernação. No entanto, ao ligar novamente, inicializou normalmente e, portanto, não houve efeito de hibernação.

Como isso pode ser corrigido?

EDIT1: Sistema - Lenovo ideapad s10-2.

insira a descrição da imagem aqui

EDIT2: / etc / fstab

insira a descrição da imagem aqui

EDIT3: Captura de tela do meu disco rígido.

insira a descrição da imagem aqui

Respostas:


12

Suponho que você tenha instalado o Debian de uma maneira que ele use sua própria partição de swap separada. Se você não tiver, sugiro fazê-lo (crie outra partição de troca e altere os /etc/fstabarquivos de acordo), porque sistemas operacionais muito diferentes gravando na mesma partição de troca podem descartar os dados de hibernação armazenados na partição pelo outro sistema operacional.

Então você deve garantir que o sistema operacional em que você deseja usar a hibernação (normalmente as duas) grave na partição correta. Isso está configurado no /etc/initramfs-tools/conf.d/resumearquivo Você precisa colocar o UUID da partição de troca correta (use sudo blkid /dev/$device_namepara obter o UUID). Finalmente, você precisa atualizar o ramdisk inicial:

sudo update-initramfs -u -k all

Isso deve consertar.


1
Isso funcionou perfeitamente bem. Obrigado, recuperei minha hibernação. :)
harisibrahimkv

1
Eu também tive problemas para sair do hibernar. Depois de alterar de alguma forma o UUID da minha partição de swap, meu sistema não seria retomado, não importa o que parecesse fazer. Corrigir meu /etc/initramfs-tools/conf.d/resume , colar e colar o UUID de sudo blkidparece ter corrigido o problema.
TSJNachos117

2

Infelizmente, o hibernar não funciona em muitos casos, o que pode causar a perda de dados se você esperar que seus documentos e aplicativos sejam abertos novamente quando você ligar novamente o computador. Portanto, a hibernação é desativada por padrão.

Teste se o hibernar funciona

Nota : Sempre salve seu trabalho antes de hibernar
Você deve salvar todo o seu trabalho antes de hibernar o computador, caso algo dê errado e seus aplicativos e documentos abertos não possam ser recuperados quando você ligar o computador novamente.

Você pode usar a linha de comando para testar se o hibernar funciona no seu computador.

  1. Abra o Terminal pressionando Ctrl+ Alt+ Tou procurando o terminal no Dash.

  2. Digite sudo pm-hibernateno terminal e pressione Enter.
    Digite sua senha quando solicitado.

  3. Depois que o computador desligar, ligue-o novamente. Seus aplicativos abertos foram reabertos?

Se o hibernate não funcionar, verifique se sua partição de swap é pelo menos tão grande quanto a RAM disponível.

Ativar hibernação

Se o teste de hibernação funcionar, você poderá continuar usando o sudo pm-hibernatecomando quando quiser hibernar.

Você também pode ativar a opção de hibernação nos menus. Para fazer isso, use seu editor de texto favorito para criar /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla. Adicione o seguinte ao arquivo e salve:

[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.hibernate-multiple-sessions
ResultActive=yes

Reinicie e a hibernação está de volta!

Ou corra killall unity-panel-servicepara apenas redefinir o menu.

Alguns usuários precisarão executar sudo update-grubpara obter a opção de hibernação disponível no menu de energia. Alguns usuários também podem ter que pelo menos desconectar-se e fazer login para que apareça no menu superior (direito).

Fonte : Ubuntu Docs - Power Hibernate

Fonte : Ubuntu Wiki - Depuração do Hibernate do Kernel


0

Tente adicionar uma nobootwaitopção ao /etc/fstab, algo como isto:

/dev/sda1 / ext4 rw,nobootwait 0 1


Você poderia esclarecer isso? Meu / etc / fstab possui a seguinte entrada para minha partição swap: # swap esteve em / dev / sda8 durante a instalação UUID = 08a07061-165b-4f0a-87c3-470a02d1ea4c none swap sw 0 0 Devo mudar "sw" para "rw, nobootwait "?
harisibrahimkv

Você precisa adicioná-lo ao seu ponto de montagem raiz, não à troca. Publique seu fstab completo e eu publicarei a versão atualizada.
Frantique 18/09/12

Eu adicionei à pergunta.
harisibrahimkv

1
erros = remount-ro, nobootwait
Frantique

0

Ao entrar em hibernação, uma imagem completa da sua RAM é copiada para troca. Portanto, na maioria das vezes as pessoas têm problemas com a hibernação que não funciona, sua troca é muito pequena.

Você precisa de pelo menos a quantidade de swap que possui RAM. Se você tiver muita RAM, defina swappiness = 0 . Portanto, se você tiver 8 GB de RAM, use 8,5 ou 9 GB de swap. Se você tem 4GB de RAM, 6GB de swap é um bom número.


Tenho 1 GB de RAM e espaço de troca de 1,95 GB. Pergunta atualizada com uma captura de tela do meu disco rígido.
harisibrahimkv

0

Até onde eu sei, o Linux, incluindo o Ubuntu, deve ter espaço de troca 2x de RAM instalado.

De alguma forma, como minha configuração personalizada do computador de compilação não é capaz de usar a hibernação, eu tenho mais do que suficiente espaço de troca. imagem

Se você acha que sua troca está atrapalhando você, pode usar este script que encontrei na internet. Limpa troca.

#!/bin/bash

free_data="$(free)"
mem_data="$(echo "$free_data" | grep 'Mem:')"
free_mem="$(echo "$mem_data" | awk '{print $4}')"
buffers="$(echo "$mem_data" | awk '{print $6}')"
cache="$(echo "$mem_data" | awk '{print $7}')"
total_free=$((free_mem + buffers + cache))
used_swap="$(echo "$free_data" | grep 'Swap:' | awk '{print $3}')"

echo -e "Free memory:\t$total_free kB ($((total_free / 1024)) MB)\nUsed swap:\t$used_swap kB ($((used_swap / 1024)) MB)"
if [[ $used_swap -eq 0 ]]; then
    echo "Congratulations! No swap is in use."
elif [[ $used_swap -lt $total_free ]]; then
    echo "Freeing swap..."
    swapoff -a
    swapon -a
else
    echo "Not enough free memory. Exiting."
    exit 1
fi

Tenho 2x espaço de troca disponível. Obrigado pela sugestão.
harisibrahimkv
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.