Restaure o Linux da hibernação antiga (já restaurada)

Restaure o Linux da hibernação antiga (já restaurada)

Hibernei com sucesso e retomei da partição swap no Linux. Até onde eu sei, nada foi trocado desde então, nem a partição swap foi modificada de outra forma. Isso me faz pensar que a imagem hibernada do estado anterior ainda está presente e funcional, apenas com cabeçalho modificado ou algo parecido.

Se isso for verdade,como posso retomar a partir dessa imagem?A questão tangente é então se é aconselhável tentar tal coisa e quais são algumas das coisas que isso pode quebrar.

A possibilidade óbvia de fazer isso funcionar é recriar o processo de hibernação, mas não salvar realmente a imagem. Depois de mexer equivocadamente, /sys/power/resumeme deparei com este segmento dehttps://www.kernel.org/doc/Documentation/power/swsusp.txt:

The resume process checks for the presence of the resume device,
if found, it then checks the contents for the hibernation image signature.
If both are found, it resumes the hibernation image.

A partir disso, tenho a sensação de que essa assinatura é o que está escrito na hibernação para significar que o dispositivo precisa ser reiniciado e apagado posteriormente para evitar retomadas recorrentes. Mesmo que isso seja verdade, não tenho habilidade suficiente para obter informações sobre a assinatura do código do kernel e o despejo hexadecimal da partição swap é surpreendentemente esparso e cheio de estruturas que não entendo.

Responder1

Certa vez cometi o erro de fazer algo semelhante:

  1. Executei o Windows como sistema operacional host e uma instalação real do Linux como sistema operacional convidado no VirtualBox (por meio de dispositivo virtual mapeado por VMDK bruto). Eu faço isso diariamente sem problemas, alternando entre a mesma instalação do Linux rodando virtualmente no Windows e, na verdade, no bare metal, a cada poucos dias.
  2. Por alguma razão, o Windows hibernou sem o meu conhecimento - o que eu praticamente nunca faço manualmente ou permito fazer (para evitar os seguintes problemas potenciais).
  3. Fiquei um tempo sem usar a máquina e esqueci em que estado ela estava anteriormente. Ao reiniciar, presumi que tudo tivesse sido desligado corretamente (a VM foi desligada de forma limpa e, em seguida, o sistema operacional host foi desligado de forma limpa).
  4. Inicializei direto no Linux nativamente. Como isso era essencialmente uma reinicialização do Linux após uma falha grave, tudo estava mais ou menos bem. Como na época nem me lembrava de que alguma das coisas anteriores havia acontecido, não notei nada de incomum.
  5. Reiniciei no Windows, pensando novamente, sem perceber que ele estava saindo da hibernação.
    • Isso incluiu o carregamento de volta na memória, a VM rodando no SSD Linux real.

O resultado? A VM do Linux travou imediatamente etudo o que o Linux foi completamente destruído, irremediavelmente além de reparo ou recuperação.

Até mesmo reparar e acessar o sistema de arquivos ext4 inicializando primeiro em um CD de recuperação resultou em um sistema não inicializável com vários arquivos de sistema e de dados do usuário corrompidos aleatoriamente que me deixaram sem confiança na integridade de nada.

A única coisa sensata a fazer a partir daí foi reinstalar o Linux do zero e restaurar os dados dos backups.

Por razões semelhantes, é quase certo que isso aconteceria se você inicializasse com um arquivo de hibernação armazenado anteriormente. (Embora eu nem tenha certeza de como um sistema funcionando corretamente "deixaria" você fazer isso?)

informação relacionada