Hibernação de uma máquina de inicialização dupla com uma partição gravável compartilhada

2

Esta pergunta é semelhante a aquela sobre a retomada do hibernate em um PC com dual boot , mas eu não Assuma aqui que os dois sistemas compartilham o swap. Embora as respostas a essas perguntas provavelmente sejam muito semelhantes, acho que minha pergunta é um pouco diferente.

Como segue esta resposta à minha outra pergunta, e de acordo com este documento em kernel.org , entre uma hibernação e a retomada subsequente de um sistema, nenhuma partição montada deve ser modificado.

Isso me parece um requisito bastante estrito para uma configuração de inicialização dupla: se eu quiser ter uma partição gravável pelos dois sistemas (por exemplo, para /home ), provavelmente desabilitaria a hibernação ...

Alguém encontrou alguma solução alternativa ainda? Por exemplo, permitir que a máquina inicialize somente no sistema hibernado após a hibernação seria uma solução perfeita para a IMO.

    
por Alexey 05.06.2016 / 14:49

1 resposta

1

Se você hibernar uma máquina de inicialização dupla, desmonte todas as partições compartilhadas . Certifique-se de que a hibernação falhe se alguma das partições compartilhadas não puder ser desmontada.

Você pode relaxar um pouco e definir um dos sistemas operacionais como o "proprietário" de uma partição compartilhada, sob as seguintes condições:

  • Apenas o proprietário monta a partição de leitura-gravação. Outros sistemas operacionais apenas montam somente leitura.
  • Ao hibernar o proprietário, remonte a partição somente leitura.

Não monte um sistema de arquivos de leitura / gravação se ele estiver atualmente montado em um sistema hibernado, mesmo que o sistema em hibernação o tenha montado somente para leitura! Isso levaria à corrupção maciça de dados no sistema hibernado, já que o cache de inodes ficaria fora de sincronia com os dados reais.

Nota: cuidado com a montagem de uma partição usada por um sistema de hibernação, mesmo se você estiver montando somente leitura. Por exemplo, fazer uma montagem somente leitura de um sistema de arquivos ext4 que não foi desmontado corretamente (que é o caso se estiver em uso por um sistema hibernado) reproduz o diário e grava no disco, que quebra o sistema hibernado. Chame mount -o ro,noload para montar um sistema de arquivos ext4 que é montado como leitura e gravação em um sistema hibernado.

Se você não quiser inicializar outros sistemas operacionais enquanto um deles estiver em hibernação, é possível: organizar os scripts de hibernação para modificar as configurações do gerenciador de inicialização. Exatamente como fazer isso depende de quais sistemas operacionais você executa e sua configuração de bootloader. Para o Grub, basta reescrever o arquivo grub.cfg : quando você hibernar o sistema S, gere uma grub.cfg com apenas uma entrada de menu para retomar o sistema S; quando S sai da hibernação, restaure o grub.cfg com várias opções.

    
por 06.06.2016 / 00:24