É possível configurar a hibernação para uso seguro em um único SO, com inicialização única, com múltiplos kernels ou “instantâneos” do sistema? [fechadas]

2

Esta é a minha terceira pergunta em um dia sobre a hibernação, após a sobre hibernar em uma inicialização dupla com troca compartilhada a> e outro sobre a hibernação em uma inicialização dupla com uma partição gravável compartilhada .

Eu percebi que os perigos da hibernação também dizem respeito a máquinas de inicialização única. Por exemplo, você pode hibernar, ligar seu computador e selecionar um kernel errado no menu GRUB. Se bem entendi, isso pode danificar seriamente o seu sistema. Além disso, no NixOS na inicialização você está escolhendo não apenas um kernel para inicializar, mas um sistema completo entre vários "snapshots" independentes.

Parece bastante errado para mim que uma sequência de ações inocentes e comuns, em que o usuário nem recebe um aviso, possa destruir o sistema. Assim, parece-me que, sem algum tipo de salvaguarda, a hibernação é uma característica indesejável.

Alguém encontrou alguma solução para esse problema? Existem soluções alternativas?

A solução mais lógica que o IMO seria para não permitir o carregamento de qualquer sistema que não o de hibernação, ou fazer com que os sistemas limpem os dados de troca na inicialização é algo que não combina.

Para ser mais claro, deixe-me enfatizar que estou falando sobre problemas em uma configuração "single boot" , onde múltiplas versões (kernels, snapshots) do mesmo sistema podem existir e serem carregadas.

    
por Alexey 05.06.2016 / 18:25

2 respostas

2

Eu acho que a situação do sistema de arquivos compartilhados é um pouco maléfica :(. Ela é mitigada por uma colcha de retalhos de medidas diferentes, mas há, sem dúvida, muitos buracos pelos quais você pode cair.

O caso partição compartilhada é legal, pois quando você sabe que é terrivelmente perigoso, você pode "apenas" evitar configurar o sistema dessa forma. Apesar de quão útil seria se não fosse tão perigoso. No entanto, algo como o slot de cartão de memória no meu Thinkpad, ou o pendrive comum, é um pouco mais difícil de manter sob controle.

  1. O caso mais comum e simples: inicialização dupla entre o Windows e um único sistema operacional Linux, acabou forçando o NTFS-3G a resolver o problema. Ele deve avisar bastante alto se você tentar montar uma partição do sistema Windows que inclua uma imagem de hibernação.

    Não tenho certeza sobre partições NTFS secundárias. Há certamente um mecanismo potencial (o bit "sujo"). Acho que pelo menos algumas versões do NTFS-3G poderiam dar um aviso primeiro, mas eu definitivamente gostaria de testar antes de assumir o contrário. link: procure por "dirty" .

    (Isso não significa usar o NTFS para compartilhar entre instalações Linux diferentes é necessariamente uma boa idéia. Uma vez que seu NTFS está marcado como sujo, o modo recomendado para se certificar de que está corrigido é usando o Windows. Ou reformatá-lo :).

  2. Selecionando a versão errada do kernel, mas o sistema operacional correto não causará mais danos do que uma falha de energia. Há uma verificação de versão do kernel para evitar que isso cause problemas sutis. Software de hibernação do Linux usado para fornecer um prompt para que você possa reinicializar o & tente novamente se você quisesse, mas mais recentemente parece apenas ir em frente e limpar a imagem de hibernação. Você notará que o software do sistema moderno não se auto-destrói quando o seu laptop está funcionando de forma inesperada. Alguns softwares aplicativos inevitavelmente não serão tão bem escritos.

  3. A montagem usando os udisks (por exemplo, por meio da GUI) deve incluir a opção errors=remount-ro por padrão. Assim que o sistema de arquivos realmente detectar corrupção, ele deixará de gravar dados adicionais nele. Isso não impede totalmente a corrupção do sistema de arquivos. No entanto, em muitos casos, evitará o pior caso de você ficar inconsciente ou confuso, e a corrupção massiva se espalha à medida que o sistema de arquivos continua sendo gravado.

  4. Eu imagino que os instantâneos Nix podem causar o pior problema, mas somente se você tiver criado instantâneos usando diferentes partições swap (hibernação). E se os dois ainda existem. Eu sugiro que isso é lamentável, mas não é algo que vai acontecer com freqüência. A principal razão para o Nix é o gerenciamento de pacotes. As condições mostram como você pode excluí-lo: apenas exclua a partição swap antiga primeiro.

Não é conceitualmente difícil consertar um sistema de arquivos Linux, ou seja, falhar na continuação da hibernação, em vez de causar corrupção quase certa no sistema de arquivos. AFAIK simplesmente não foi feito. Uma verificação básica pode ser implementada na maioria dos sistemas de arquivos usando o bit sujo, mas não é strong o suficiente, pois sistemas de arquivos FAT montados pelos atuais sistemas operacionais Linux tendem a ficar sujos, uma vez que foram marcados como sujos devido a uma falha de energia. / p>

Eu não acho que um sistema operacional baseado no GNOME vai tentar tornar sistemas de arquivos compartilhados + hibernação realmente utilizáveis em breve, porque é um conflito difícil de resolver. O sistema de arquivos não pode ser desmontado se algum dos arquivos nele estiver aberto. E é provável que algum aplicativo respondesse mal se seus arquivos abertos fossem revogados. Em teoria, você poderia lidar com isso como outros acessos intercalados (por um programa diferente ou pelo acesso ao sistema de arquivos pela rede). Na prática, isso exigiria muito trabalho no kernel e ainda seria um pouco surpreendente, quando você esquecer que você tinha um aplicativo em hibernação acessando o mesmo arquivo.

    
por 05.06.2016 / 19:30
0

O ponto de hibernação é desligar o hardware. Isso realmente não ajuda você a executar vários sistemas operacionais no mesmo hardware. Você pode fazer isso, mas somente se os SOs forem completamente independentes ( ou próximo o suficiente .

Se você tem um único sistema operacional, precisa ter cuidado para não hibernar um kernel excluído. É melhor não fazer atualizações do kernel até que você esteja pronto para reinicializar.

Inicialização dupla é bastante malvada. Se você deseja executar vários sistemas operacionais, execute-os em máquinas virtuais.

    
por 06.06.2016 / 00:27