Como * forçar * reinicialização do computador após a hibernação

2

Eu tenho visto muitas perguntas sobre computadores que são reiniciados após a suspensão ou hibenação, mas sempre como um comportamento indesejado. Agora, o que eu quero é fazer meu computador fazer exatamente isso.

Eu tenho multibooting windows e linux (e alguns outros) por um longo tempo, e embora a maioria das pessoas desaconselham, eu gosto de hibernar um sistema operacional e reiniciar o outro (eventualmente hibernando). Eu sei o que estou fazendo e, com os devidos cuidados, nunca sofri corrupção do sistema de arquivos.

Eu posso configurar o próximo sistema operacional para inicializar, para evitar passar pelo menu de inicialização *, mas ainda ter que esperar que o sistema entre em hibernação, a fim de pressionar o botão liga / desliga para ligá-lo novamente. Em hardware que não fornece nenhum feedback sobre o estado de energia (sem luzes ou ruído do ventilador durante a hibernação), eu tenho que esperar um tempo extra, para garantir que o sistema tenha terminado de gravar a imagem de hibernação e realmente desligar.

Seria muito melhor se eu pudesse dizer ao sistema para reiniciar imediatamente após a hibernação. Isso é possível de forma genérica nos sistemas modernos da uefi? Ou o comportamento relatado nesses outros posts sempre resulta de hardware / drivers com mau funcionamento?

Meu caso de uso é:

Eu estou fazendo algum trabalho no Win8, tenho muitos documentos abertos e, de repente, preciso usar o linux, porque o windows é uma droga. Ou eu sinto o desejo de jogar AngryBirds no RemixOS ... Gostaria de apenas clicar em um atalho e esperar alguns segundos, e meu sistema inicializa o sistema operacional desejado, no estado que eu deixei pela última vez. Depois que eu terminar com isso, faça o mesmo e eu volte ao meu estado anterior no Windows.

  • Eu realmente não implementei isso, mas deveria ser viável usando uefi ou grub
Ghaspias
fonte
Por que você não pode simplesmente reiniciar no outro sistema operacional? Por que você tem que mexer com a hibernação?
Insano
Bem, eu acho que é pela mesma razão que eu ou qualquer outra pessoa hibernar em vez de desligar, independentemente de multi-boot ... para preservar o meu trabalho atual e permitir-me voltar ao que eu estava fazendo, e também para voltar a mais rápido (embora com SSD a inicialização a frio seja bem rápida). Sim, eu poderia usar virtualização em vez de multi-boot; uma máquina virtualizada linux funciona muito bem sob o windows. Mas isso significa que eu não tenho todos os recursos da minha máquina disponíveis para o convidado - e tenho uma quantidade limitada de RAM. Meu caso de uso é:
Ghaspias
Eu não estou familiarizado com o modo de hibernação para saber se o que você quer poderia funcionar. Hibernate, em seguida, iniciar em outro sistema operacional e trazer de volta seu sistema operacional principal do hibernate. Eu sinto que ao mudar para o outro sistema operacional, o sistema operacional hibernado seria desligado. Estou interessado em descobrir
Insane
1
Eu posso dizer que funciona perfeitamente, desde que ambos os sistemas não usem a mesma partição para o arquivo de hibernação. O Windows usa um arquivo hyberfile.sys em c :, o linux usa a partição swap. Naturalmente, você nunca deve tentar acessar o sistema de arquivos no sistema operacional hibernado ... O Linux impede que você monte a partição do sistema Windows, mas não alguma outra partição que possa ter acesso a partir do Windows!
Ghaspias
Hã. Interessante
Insano

Respostas:

2

No Windows é um definitivo não. O processo de hibernação envia o sinal de desligamento da ACPI quando o processo é concluído, desligando a máquina. O Linux seria da mesma forma, no entanto, seria modificável no código-fonte.

A UEFI, até onde eu sei, não tem como interceptar e alterar sinais ACPI.

Keltari
fonte
Eu suspeitava o mesmo. Mas antigamente, havia mecanismos para ativar o sistema em um determinado momento, através do BIOS. É possível que a UEFI forneça algum mecanismo semelhante? Alternativamente, seria possível "manualmente" escrever o arquivo de hibernação através de alguma chamada de kernel, e depois reiniciar?
Ghaspias
1
É possível acordar o computador quando ele está no modo de suspensão. A hibernação é um estado em que o computador está totalmente desligado, portanto, impossível de ser ativado.
Alexiy
@Alexiy está correto. O sistema operacional pode ativar um computador dos estados suspenso / suspenso, mas não se a energia estiver desligada. Existem alguns BIOS que podem ligar um computador a partir de um estado desligado. Estes estão lá como um mecanismo de segurança se a energia é perdida. Quando a energia voltar, o BIOS ligará a máquina novamente se você definir essa opção. Muito útil se for uma máquina remota e não houver ninguém para ligar a máquina fisicamente. Eu também vi alguns BIOSs que permitem programar horários de ligar / desligar, mas são raros e pouco personalizáveis.
Keltari