a situação não mudou com o systemd? agora estamos destinados a utilizar systemctl hibernatepor isso, talvez não um joguete ... ou resposta, pelo menos atualizado pode ser obrigado a fazer a velha pergunta válida para enganar
Zanna
Qual versão do kernel você está executando? Digite uname -ro terminal (desculpas se você já sabia disso).
WinEunuuchs2Unix 2/16
por favor edite sua pergunta e adicionar a saída free para que possamos determinar se você tem a configuração de swap suficiente para hibernar com sucesso.
Elder Geek
Respostas:
62
Hibernação usando systemctle fazendo funcionar em casos difíceis
Para mim, pm-hibernatesempre falha. Após alguns ajustes, consegui hibernar usando a interface do systemd (sistema init no 16.04 e acima). Também consegui fazê-lo funcionar no 17.04 com um arquivo de troca. Este estudo de caso pode ser útil para outras pessoas com problemas.
Primeira tentativa:
sudo systemctl hibernate
Se isso falhar, inicie a solução de problemas: no estado de hibernação (HTD ou ACPI S4), o estado da máquina é gravado no disco para que não seja necessária energia para preservá-lo. O estado é gravado em uma partição de troca ou em um arquivo de troca. Nota: se usar BTRFS, NÃO tente usar um arquivo de permuta, pois isso pode causar corrupção no sistema de arquivos
Sua partição de swap ou arquivo de troca pode precisar do mesmo tamanho da RAM para permitir a hibernação, mas há uma boa chance de você poder hibernar se tiver pelo menos 2/5 do tamanho da RAM, de acordo com a página wiki do Arch , tente outras etapas antes de aumentar o tamanho da troca.
Se o seu problema é obter uma inicialização limpa em vez do resumo esperado, no mínimo você provavelmente precisará definir um parâmetro de inicialização para encontrar a imagem do disco
Encontre sua partição swap:
grep swap /etc/fstab
para mim isso retorna (saída parcial)
# swap was on /dev/mmcblk0p3 during installation
onde /dev/mmcblk0p3é a partição para especificar
Adicione um parâmetro de inicialização:
sudoedit /etc/default/grub
Para a linha inicial, GRUB_CMDLINE_LINUX_DEFAULTadicione resume=/dev/YourSwapPartitionà seção entre aspas (substitua pela partição que você identificou anteriormente). Usando meu exemplo:
Sempre que você alterar este arquivo, você deve executar sudo update-grubou as alterações não terão efeito.
Agora você precisa reiniciar. Então você pode tentar hibernar, emitindo o comando:
sudo systemctl hibernate
Para continuar, pressione o botão liga / desliga e o sistema inicializará.
Se você ainda tiver problemas, inicie a depuração.
Incluo meu caso abaixo como exemplo, mas informações detalhadas sobre a depuração dos estados S podem ser encontradas neste blog e também neste .
Defina mais alguns parâmetros de inicialização para capturar mais informações. Remova quiete splashadicione initcall_debuge o no_console_suspendque fará com que as chamadas do sistema init sejam impressas no console para que você possa ver o que está errado. Eu defini isso:
O que me ajudou a ver o que estava errado no resumo da hibernação.
No meu caso, após retomar, perdi o WiFi, e o kernel estava claramente chateado, pois a maioria dos comandos (por exemplo, ler qualquer coisa /sys, recarregar módulos ou qualquer systemctlcomando) não funcionaria - o processo parecia iniciar e travar (tudo isso seria voltou ao normal após a reinicialização, é claro). Observando o sistema muito lentamente sendo desligado e lendo todas as mensagens de depuração, notei que havia muitos problemas com "brcm", então achei que meu módulo de driver sem fio Broadcom era o culpado. Com certeza, ajustei meu procedimento de hibernação para descarregar o módulo primeiro:
E tudo funcionou perfeitamente. Eu também tenho que colocar na lista negra o btsdiomódulo que parece ser incompatível combrcmfmac
Atualização: Hibernação usando um arquivo de swap no 17.04.
Mais uma vez, com a ajuda da página wiki do Arch e alguns ajustes adicionais, consegui que a hibernação funcionasse no 17.04 com um arquivo de troca. Isso exigiu um parâmetro de inicialização adicional, em resume_offset=nque n é o primeiro número physical_offsetna saída 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:
....
Portanto, o parâmetro de inicialização adicional no meu caso é resume_offset=34816. Você ainda precisa definir um parâmetro de inicialização para a partição retomar. Essa será a partição raiz (ou qualquer partição em que seu arquivo de troca esteja localizado). Meus parâmetros agora são:
Onde /dev/mmcblk1p2está minha partição raiz (é mais provável que a sua seja algo parecido /dev/sda2).
Durante o currículo, vi a imagem sendo carregada com êxito, mas no meu caso (apenas um exemplo - YMMVAPD), mais alguns drivers ( i2c_designware) geraram alguns erros e eu tive um congelamento completo do sistema no currículo. A hibernação funciona se eu descarregar esses módulos além de brcmfmac, mas o sistema rapidamente se torna inutilizável sem esses módulos. Por isso, criei um tipo de script para descarregar os módulos com erros e imediatamente reinseri-los no currículo:
Quando quero hibernar, corro sudo bash script. Isso funciona muito bem.
TL; DR
Use systemd, defina um parâmetro de inicialização para retomar da troca, identifique os drivers com erros e descarregue-os antes de iniciar a hibernação. Se o sistema não funcionar por muito tempo sem esses módulos ou você precisar descarregar vários, pode ser mais fácil usar um script simples para iniciar a hibernação.
De onde vêm essas informações, que 2/5 do tamanho da RAM podem ser suficientes e sob quais circunstâncias? Eu tenho uma opção de usuário no Gnome, "Hibernar" e parece hibernar, mas ao acordar, ele não funciona corretamente. Eu tenho uma partição de swap de 8 GB e 32 GB de RAM. Isso não é 2/5, mas antes de criar um arquivo de troca de 32 GB (ou partição), seria bom saber.
cslotty
@cslotty eu tenho essa informação do wiki IIRC Arch - deixe-me saber se você conseguir isso, por favor
Zanna
Obrigado, @Zanna. Eu descobri que na verdade não é hibernar, o que eu quero, mas suspender (S3 / STR) - sry.
precisa saber é
@cslotty não se preocupe. Nesse caso, a troca não é um problema seu, pois não está relacionado.
Zanna
1
Obrigado, eu precisava de uma síntese desta resposta, bem como de uma dica sobre como desativar o SecureBoot para fazê-lo funcionar no final.
oligofren
62
Você pode usar
sudo pm-hibernate
para verificar se a hibernação funciona no seu sistema ( isso hibernará o seu computador ).
Se não funcionar, verifique se o tamanho da sua troca é pelo menos tão grande quanto a sua RAM.
Para adicionar a opção ao menu de configurações, você pode criar um arquivo de configuração. Abra uma janela do terminal e execute este comando:
Abre o nano com um arquivo vazio. Copie as linhas abaixo e cole-as na janela 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
Salve as alterações, feche o nano e reinicie o sistema para tornar o Hibernate disponível em "Opções de energia".
Precisamos reiniciar após editar o arquivo para disponibilizar o Hibernate em "Opções de energia".
precisa saber é
21
'sudo pm-hibernate' matou meu sistema imediatamente sem aviso. Você deve dizer às pessoas que é o que vai acontecer.
Yair Daon
melhor resposta . Isso também funciona nas versões 17.4 e 17.10.
Saurabh Bhandari 23/09
1
Esta resposta combinada com a que diz para adicionar "resume =" ao GRUB_CMDLINE_LINUX_DEFAULT resolveu isso para mim - thx!
Christoph
Tenho 17 GB na minha partição de swap e 16 GB de RAM, por que não está funcionando? Parece estar hibernando, porque leva uma eternidade para desligar o computador, enquanto se eu "desligar" ele desliga quase imediatamente. Mas quando ligo meu computador, tudo está fechado e tenho que começar de novo. Isso não está hibernando. Por que não pode ser tão simples como no Windows? Eu gostaria de alguma ajuda se alguém tiver idéias sobre como eu posso fazê-lo hibernar corretamente.
precisa saber é o seguinte
20
Eu acho que, como habilitar a resposta do hibernate para 16.04, é conhecido por todos, conforme descrito no Ubuntu Wiki (veja abaixo se você precisar das etapas). Mas as coisas que precisam ser verificadas não são completas, eu acho. Pelo menos, foi o que eu encontrei.
Coisas a verificar
Nos meus próprios testes, encontrei pelo menos uma verificação extra que você deve executar. Eu não encontrei sobre isso em nenhum lugar da Internet.
Aqui estão algumas verificações -
Verifique se você não está usando nenhuma partição btrfs . Sim . No meu teste, descobri que se você tiver partições btrfs , o hibernate não funcionará. Remover ou alterar o tipo de partição para ext4não me ajudou. Eu precisava remover o btrfs-toolspacote.
sudo apt-get purge btrfs-tools
Convém verificar outros novos tipos de partição que não foram bem testados. Sem remover o pacote, a lista negra do driver também pode funcionar, mas não testei isso.
Além disso, você precisa verificar se possui uma partição de swap grande o suficiente para armazenar o conteúdo da RAM. Se a sua RAM for de 4 GB, a troca deve ter pelo menos 4 GB de largura (você deve alocar mais alguns MB para garantir).
Etapas para ativar a hibernação
Envolve estas etapas
Crie um arquivo como raiz no /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
Salve o arquivo pressionando Ctrl- O. Sair com Ctrl-X
Obrigado, Anwar. Eu arquivei bug # 1619846 e referiu-lhe a sua resposta acima. Alguma chance de você propor alterações / acréscimos mais exatos a essa página na documentação oficial?
Gunnar Hjalmarsson
1
@GunnarHjalmarsson Eu proporia essa ressalva. Mas vou precisar de mais testadores para verificar isso. Avisarei depois
Anwar
Ok, vamos conversar mais então.
Gunnar Hjalmarsson
Eu instalei em uma partição btrfs e limpei de btrfs-toolsacordo com suas instruções. Ainda não pode hibernar.
Oxwivi 4/09/16
1
No disco há apenas vfatpara UEFI, e btrfse swap. Na verdade, estou suspeitando que é devido ao hardware (laptop AMD). Vou testar isso em outro sistema com btrfs e voltar para você.
Oxwivi 4/09/16
7
Modo de segurança
(Fiz uma pergunta semelhante solicitando foco nas respostas baseadas em systemd, compartilhando minha solução aqui para as pessoas que seguem esta pergunta)
Esta solução vem dos tópicos do Fedora (eles mudaram para o systemd há um tempo atrás, então há mais material lá).
No meu caso (instalação nova 16.04.1 em uma máquina que sempre suportava hibernação), chamar obsoleto sudo pm-hibernatenão parecia fazer nada, e a abordagem mais recente do systemd systemctl hibernateretornaria:
Failed to hibernate system via logind: Sleep verb not supported
Acontece que a inicialização segura foi a culpada: na instalação do 16.04, você é perguntado o que deseja fazer com ela (que é uma coisa nova, até onde me lembro) e eu a mantive LIGADA sem pensar muito.
Na minha máquina com inicialização segura ativada, cat /sys/power/diskrespondeu:
[disabled]
Depois de reiniciar e desativar a inicialização segura nas configurações do BIOS (elas são específicas da máquina, mas geralmente bem diretas), tentei a cat /sys/power/diske obtive:
[platform] shutdown reboot suspend
qual parece melhor. E, de fato, a chamada systemctl hibernateresulta em uma sequência de hibernação / degelo bem-sucedida.
Além disso, depois disso, eu pude ver a hibernação disponível como uma opção em vários locais da interface gráfica, sem a necessidade de qualquer polkitinvasão. Portanto, parece que, systemdna verdade, estava supondo /sys/power/diskque o sistema não era capaz de hibernar.
Eu fiz exatamente o que você explicou aqui. Porém, após executar o comando "systemctl hibernate", a tela ficou preta por 3 segundos e a área de trabalho voltou com todos os meus programas abertos, exatamente como antes de executar o comando. Quando eu executei o comando "cat / sys / power / disk" ... ele me mostrou este texto: "[platform] shutdown reboot suspend test_resume", que é semelhante ao resultado quando você executou o mesmo do seu lado, mas o último texto : "teste_resumo". Você tem uma idéia do que eu poderia tentar resolver meu problema?
foxhard
Não tenho certeza, parece que a hibernação não funciona imediatamente no seu hardware, e é por isso que está desativada por padrão, como outros apontaram. Convém iniciar uma pergunta separada sobre seu problema específico.
Marc
Apenas trabalhando para mim. Hiberna, mas em vez de acordar da hibernação, entra na inicialização normal e fica presa para sempre até um desligamento físico intenso.
Matt
6
Esta instrução funcionou para minha instalação do Ubuntu 18.04.
sudo apt install hibernate Ele instalará o hibernate e outras dependências necessárias para hibernar
grep swap /etc/fstab (UUID fing)
sudoedit /etc/default/grub
Na linha GRUB_CMDLINE_LINUX_DEFAULT = "quiet splash" adicione UUID de troca. A linha se parece com isso GRUB_CMDLINE_LINUX_DEFAULT = "resumo silencioso = UUID de troca"
sudo update-grub
Reinicie e após reiniciar sudo systemctl hibernate. Se tudo funcionar ok, adicione as entradas do menu.
[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
em vez de adicionar um valor fixo, /etc/default/grubconsidere atualizar o initramfs usando update-initramfs -u -k alle procure uma mensagem como The initramfs will attempt to resume from /dev/dm-0. Isso definirá automaticamente o dispositivo de retomada.
ukos 21/02
Obrigado, funciona perfeitamente no Ubuntu 18.04! Observe que, se for a primeira vez que você usa uma extensão gnome, será necessário instalar uma extensão do navegador e um conector. Isso é explicado no link de extensão na parte superior.
Karim Sonbol 16/03
4
Expandindo meu próprio comentário para a resposta de kelvinelove, o arquivo que ele sugere editar não existia no meu sistema (novo Ubuntu 16.04). Em vez disso, fiz o seguinte:
Procure estas seções (elas são corretas uma pela outra):
[Desabilitar hibernação por padrão no upower] Identidade = usuário unix: * Ação = org.freedesktop.upower.hibernate ResultActive = no
[Desabilitar hibernação por padrão no logind] Identidade = usuário unix: * Ação = org.freedesktop.login1.hibernate; org.freedesktop.login1.handle-hibernate-key; ResultActive = no
Altere ResultActive = no para ResultActive = yes para os dois.
Pressione Ctrl + O para salvar o arquivo.
Reinicie o computador
A opção Hibernar agora está disponível nos menus de energia.
EDIT: Gunnar apontou que esse arquivo é substituído se um determinado pacote for atualizado, portanto, dependendo de suas intenções, provavelmente não é a melhor solução.
O arquivo in /etcnão deveria existir por padrão. É um arquivo de configuração que você cria. A edição de um arquivo pertencente ao pacote, como sugerido acima, é um mau conselho, pois será substituído na próxima atualização do pacote.
Gunnar Hjalmarsson 02/09
@GunnarHjalmarsson Se for esse o caso, eu diria que deve ser declarado que pode não existir. Espero mais de uma resposta Ask do Ubuntu mais bem avaliada do que uma "cópia / cole este comando" -> "digite esta resposta no estilo" que não tenha nenhum tipo de verificação de se você está fazendo a coisa certa (exceto verificar se funcionou) . E se alguém encontrar essa resposta em alguns anos, mas tiver medo de tentar uma vez que o arquivo está vazio e as instruções claramente indicarem para adicionar ao arquivo, implicando que ela existe? No entanto, agradeço as informações, que serão adicionadas à resposta para conclusão.
Fgblomqvist 03/09/19
1
Ponto justo; Editei a resposta de NirajW com esse esclarecimento. Note-se que a fonte original de informação nesta página fala sobre criação .
Gunnar Hjalmarsson
Isto é perfeito que você me salvou irmão :)
Azam Alvi
4
Para mim, ele trabalha para instalar o hibernatepacote, reiniciar e depois executar sudo hibernate-disk. Tenho certeza de que é possível adicioná-lo ao menu, mas não vale o tempo para mim.
Primeiro, recomendo que você teste se a sua máquina suporta hibernação, porque o motivo da desativação da hibernação é que, às vezes, ela apresenta resultados desagradáveis em algumas máquinas. Teste sua máquina abrindo o terminal ( Ctrl+ Alt+ T) e digitandosudo pm-hibernate
Sua máquina deve hibernar. Acorde sua máquina após a hibernação e observe se ela se comporta mal ou se age normalmente. Se você tiver alguma anormalidade após a hibernação, recomendamos que você não continue com o procedimento a seguir. No entanto, se funcionar bem, continue a ativar a hibernação fazendo o seguinte:
Depois disso, reinicie a máquina e, após fazer login, você verá uma opção de hibernação adicionada no menu de energia, no canto superior direito das configurações.
Eu tenho o thinkpad -E550 e não tem nenhum problema com a hibernação quando meu sistema operacional é o ubuntu 15.1 ou o windows8.1. mas usando o ubuntu 16.04, quando uso o comando "sudo pm-hibernate", ele não hiberna completamente e apenas a tela fica preta e a máquina ainda está ligada.
Mahyar
No meu caso, o comando não faz nada. O terminal vai para a nova linha e aguarda o próximo comando, ou seja, o comando anterior foi executado. Mas ele não faz nadaat all
Aalok
Isso não funciona para mim. Ubuntu 16.04. A opção Hibernar não aparece e fica desativada em Configurações -> Energia, mais alguma coisa?
sudo pm-hibernate
?systemctl hibernate
por isso, talvez não um joguete ... ou resposta, pelo menos atualizado pode ser obrigado a fazer a velha pergunta válida para enganaruname -r
o terminal (desculpas se você já sabia disso).free
para que possamos determinar se você tem a configuração de swap suficiente para hibernar com sucesso.Respostas:
Hibernação usando
systemctl
e fazendo funcionar em casos difíceisPara mim,
pm-hibernate
sempre falha. Após alguns ajustes, consegui hibernar usando a interface do systemd (sistema init no 16.04 e acima). Também consegui fazê-lo funcionar no 17.04 com um arquivo de troca. Este estudo de caso pode ser útil para outras pessoas com problemas.Primeira tentativa:
Se isso falhar, inicie a solução de problemas: no estado de hibernação (HTD ou ACPI S4), o estado da máquina é gravado no disco para que não seja necessária energia para preservá-lo. O estado é gravado em uma partição de troca ou em um arquivo de troca. Nota: se usar BTRFS, NÃO tente usar um arquivo de permuta, pois isso pode causar corrupção no sistema de arquivos
Sua partição de swap ou arquivo de troca pode precisar do mesmo tamanho da RAM para permitir a hibernação, mas há uma boa chance de você poder hibernar se tiver pelo menos 2/5 do tamanho da RAM, de acordo com a página wiki do Arch , tente outras etapas antes de aumentar o tamanho da troca.
Se o seu problema é obter uma inicialização limpa em vez do resumo esperado, no mínimo você provavelmente precisará definir um parâmetro de inicialização para encontrar a imagem do disco
Encontre sua partição swap:
para mim isso retorna (saída parcial)
onde
/dev/mmcblk0p3
é a partição para especificarAdicione um parâmetro de inicialização:
Para a linha inicial,
GRUB_CMDLINE_LINUX_DEFAULT
adicioneresume=/dev/YourSwapPartition
à seção entre aspas (substitua pela partição que você identificou anteriormente). Usando meu exemplo:Sempre que você alterar este arquivo, você deve executar
sudo update-grub
ou as alterações não terão efeito.Agora você precisa reiniciar. Então você pode tentar hibernar, emitindo o comando:
Para continuar, pressione o botão liga / desliga e o sistema inicializará.
Se você ainda tiver problemas, inicie a depuração.
Incluo meu caso abaixo como exemplo, mas informações detalhadas sobre a depuração dos estados S podem ser encontradas neste blog e também neste .
Defina mais alguns parâmetros de inicialização para capturar mais informações. Remova
quiet
esplash
adicioneinitcall_debug
e ono_console_suspend
que fará com que as chamadas do sistema init sejam impressas no console para que você possa ver o que está errado. Eu defini isso:O que me ajudou a ver o que estava errado no resumo da hibernação.
No meu caso, após retomar, perdi o WiFi, e o kernel estava claramente chateado, pois a maioria dos comandos (por exemplo, ler qualquer coisa
/sys
, recarregar módulos ou qualquersystemctl
comando) não funcionaria - o processo parecia iniciar e travar (tudo isso seria voltou ao normal após a reinicialização, é claro). Observando o sistema muito lentamente sendo desligado e lendo todas as mensagens de depuração, notei que havia muitos problemas com "brcm", então achei que meu módulo de driver sem fio Broadcom era o culpado. Com certeza, ajustei meu procedimento de hibernação para descarregar o módulo primeiro:no currículo eu reinsiro o módulo
E tudo funcionou perfeitamente. Eu também tenho que colocar na lista negra o
btsdio
módulo que parece ser incompatível combrcmfmac
Atualização: Hibernação usando um arquivo de swap no 17.04.
Mais uma vez, com a ajuda da página wiki do Arch e alguns ajustes adicionais, consegui que a hibernação funcionasse no 17.04 com um arquivo de troca. Isso exigiu um parâmetro de inicialização adicional, em
resume_offset=n
que n é o primeiro númerophysical_offset
na saída desudo filefrag -v /swapfile
:Portanto, o parâmetro de inicialização adicional no meu caso é
resume_offset=34816
. Você ainda precisa definir um parâmetro de inicialização para a partição retomar. Essa será a partição raiz (ou qualquer partição em que seu arquivo de troca esteja localizado). Meus parâmetros agora são:Onde
/dev/mmcblk1p2
está minha partição raiz (é mais provável que a sua seja algo parecido/dev/sda2
).Durante o currículo, vi a imagem sendo carregada com êxito, mas no meu caso (apenas um exemplo - YMMVAPD), mais alguns drivers (
i2c_designware
) geraram alguns erros e eu tive um congelamento completo do sistema no currículo. A hibernação funciona se eu descarregar esses módulos além debrcmfmac
, mas o sistema rapidamente se torna inutilizável sem esses módulos. Por isso, criei um tipo de script para descarregar os módulos com erros e imediatamente reinseri-los no currículo:Quando quero hibernar, corro
sudo bash script
. Isso funciona muito bem.TL; DR
Use systemd, defina um parâmetro de inicialização para retomar da troca, identifique os drivers com erros e descarregue-os antes de iniciar a hibernação. Se o sistema não funcionar por muito tempo sem esses módulos ou você precisar descarregar vários, pode ser mais fácil usar um script simples para iniciar a hibernação.
fonte
Você pode usar
para verificar se a hibernação funciona no seu sistema ( isso hibernará o seu computador ).
Se não funcionar, verifique se o tamanho da sua troca é pelo menos tão grande quanto a sua RAM.
Para adicionar a opção ao menu de configurações, você pode criar um arquivo de configuração. Abra uma janela do terminal e execute este comando:
Abre o nano com um arquivo vazio. Copie as linhas abaixo e cole-as na janela nano.
Salve as alterações, feche o nano e reinicie o sistema para tornar o Hibernate disponível em "Opções de energia".
Referência: como hibernar meu computador? na documentação oficial do Ubuntu 16.04.
Espero que funcione. Isso funcionou para mim depois de tentar todas as outras opções.
fonte
Eu acho que, como habilitar a resposta do hibernate para 16.04, é conhecido por todos, conforme descrito no Ubuntu Wiki (veja abaixo se você precisar das etapas). Mas as coisas que precisam ser verificadas não são completas, eu acho. Pelo menos, foi o que eu encontrei.
Coisas a verificar
Nos meus próprios testes, encontrei pelo menos uma verificação extra que você deve executar. Eu não encontrei sobre isso em nenhum lugar da Internet.
Aqui estão algumas verificações -
Verifique se você não está usando nenhuma partição btrfs . Sim . No meu teste, descobri que se você tiver partições btrfs , o hibernate não funcionará. Remover ou alterar o tipo de partição para
ext4
não me ajudou. Eu precisava remover obtrfs-tools
pacote.Convém verificar outros novos tipos de partição que não foram bem testados. Sem remover o pacote, a lista negra do driver também pode funcionar, mas não testei isso.
Além disso, você precisa verificar se possui uma partição de swap grande o suficiente para armazenar o conteúdo da RAM. Se a sua RAM for de 4 GB, a troca deve ter pelo menos 4 GB de largura (você deve alocar mais alguns MB para garantir).
Etapas para ativar a hibernação
Envolve estas etapas
Crie um arquivo como raiz no
/etc/polkit-1/localauthority/50-local.d/enable-hibernate.pkla
Coloque esse conteúdo nesse arquivo
Salve o arquivo pressionando Ctrl- O. Sair com Ctrl-X
Reinicie o
polkitd
daemonDeve habilitar a hibernação.
fonte
btrfs-tools
acordo com suas instruções. Ainda não pode hibernar.vfat
para UEFI, ebtrfs
eswap
. Na verdade, estou suspeitando que é devido ao hardware (laptop AMD). Vou testar isso em outro sistema com btrfs e voltar para você.Modo de segurança
(Fiz uma pergunta semelhante solicitando foco nas respostas baseadas em systemd, compartilhando minha solução aqui para as pessoas que seguem esta pergunta)
Esta solução vem dos tópicos do Fedora (eles mudaram para o systemd há um tempo atrás, então há mais material lá).
No meu caso (instalação nova 16.04.1 em uma máquina que sempre suportava hibernação), chamar obsoleto
sudo pm-hibernate
não parecia fazer nada, e a abordagem mais recente do systemdsystemctl hibernate
retornaria:Acontece que a inicialização segura foi a culpada: na instalação do 16.04, você é perguntado o que deseja fazer com ela (que é uma coisa nova, até onde me lembro) e eu a mantive LIGADA sem pensar muito.
Na minha máquina com inicialização segura ativada,
cat /sys/power/disk
respondeu:Depois de reiniciar e desativar a inicialização segura nas configurações do BIOS (elas são específicas da máquina, mas geralmente bem diretas), tentei a
cat /sys/power/disk
e obtive:qual parece melhor. E, de fato, a chamada
systemctl hibernate
resulta em uma sequência de hibernação / degelo bem-sucedida.Além disso, depois disso, eu pude ver a hibernação disponível como uma opção em vários locais da interface gráfica, sem a necessidade de qualquer
polkit
invasão. Portanto, parece que,systemd
na verdade, estava supondo/sys/power/disk
que o sistema não era capaz de hibernar.fonte
Esta instrução funcionou para minha instalação do Ubuntu 18.04.
sudo apt install hibernate
Ele instalará o hibernate e outras dependências necessárias para hibernargrep swap /etc/fstab
(UUID fing)sudoedit /etc/default/grub
Na linha GRUB_CMDLINE_LINUX_DEFAULT = "quiet splash" adicione UUID de troca. A linha se parece com isso GRUB_CMDLINE_LINUX_DEFAULT = "resumo silencioso = UUID de troca"sudo update-grub
sudo systemctl hibernate
. Se tudo funcionar ok, adicione as entradas do menu.sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
agora cole isso:copiado de https://askubuntu.com/a/819891/712203
fonte
/etc/default/grub
considere atualizar o initramfs usandoupdate-initramfs -u -k all
e procure uma mensagem comoThe initramfs will attempt to resume from /dev/dm-0
. Isso definirá automaticamente o dispositivo de retomada.Expandindo meu próprio comentário para a resposta de kelvinelove, o arquivo que ele sugere editar não existia no meu sistema (novo Ubuntu 16.04). Em vez disso, fiz o seguinte:
sudo nano /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
Procure estas seções (elas são corretas uma pela outra):
Altere ResultActive = no para ResultActive = yes para os dois.
EDIT: Gunnar apontou que esse arquivo é substituído se um determinado pacote for atualizado, portanto, dependendo de suas intenções, provavelmente não é a melhor solução.
Fonte: http://www.zedt.eu/tech/linux/enable-hibernation-xubuntu-16-04/
fonte
/etc
não deveria existir por padrão. É um arquivo de configuração que você cria. A edição de um arquivo pertencente ao pacote, como sugerido acima, é um mau conselho, pois será substituído na próxima atualização do pacote.Para mim, ele trabalha para instalar o
hibernate
pacote, reiniciar e depois executarsudo hibernate-disk
. Tenho certeza de que é possível adicioná-lo ao menu, mas não vale o tempo para mim.fonte
Primeiro, recomendo que você teste se a sua máquina suporta hibernação, porque o motivo da desativação da hibernação é que, às vezes, ela apresenta resultados desagradáveis em algumas máquinas. Teste sua máquina abrindo o terminal ( Ctrl+ Alt+ T) e digitando
sudo pm-hibernate
Sua máquina deve hibernar. Acorde sua máquina após a hibernação e observe se ela se comporta mal ou se age normalmente. Se você tiver alguma anormalidade após a hibernação, recomendamos que você não continue com o procedimento a seguir. No entanto, se funcionar bem, continue a ativar a hibernação fazendo o seguinte:
Edite o arquivo aberto e adicione estas linhas:
Depois disso, reinicie a máquina e, após fazer login, você verá uma opção de hibernação adicionada no menu de energia, no canto superior direito das configurações.
fonte
at all
com.ubuntu.enable-hibernate.pkla
. Ver resposta postada por NirajW.Existem alguns recursos muito bons aqui para ajudá-lo a resolver alguns dos problemas mais comuns de hibernação no Ubuntu.
No meu caso, executando o Ubuntu 16.10 em um Lenovo u300s, para que o hibernate funcione corretamente, tive que fazer o seguinte:
Edite
/etc/default/grub
para incluir a seguinte linha:RESUME refere-se ao seu arquivo de troca específico UUID. Em particular, na minha máquina, a configuração
pci=nomsi
era a chave.Boa sorte!
fonte
Você precisa ativá-lo manualmente com um pouco de esforço. Ele foi desativado por padrão.
http://ubuntuhandbook.org/index.php/2014/04/enable-hibernate-ubuntu-14-04/
Então, se não funcionar, pode ser um problema do kernel 4.4.0 e talvez você precise atualizar o kernel.
fonte