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

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.