Как * принудительно * перезагрузить компьютер после гибернации

2

Я видел много вопросов, касающихся компьютеров, которые перезагружаются после приостановки или гибернации, но всегда как нежелательное поведение. Теперь я хочу, чтобы мой компьютер делал именно это.

Я долгое время занимался мультизагрузкой Windows и Linux (и некоторых других), и хотя большинство людей посоветовали бы против этого, мне нравится переводить одну операционную систему в спящий режим и перезагружаться в другую (в конечном итоге ранее находившуюся в спящем режиме). Я знаю, что делаю, и при должном уходе никогда не страдал повреждением файловой системы.

Я могу установить следующую ОС на загрузку, чтобы не проходить через меню загрузки *, но все же придется ждать перехода системы в спящий режим, чтобы нажать кнопку питания, чтобы включить ее снова. На оборудовании, которое не дает никакой обратной связи относительно состояния питания (нет света или шума вентилятора во время гибернации), мне нужно подождать дополнительное время, чтобы убедиться, что система закончила запись образа гибернации и действительно отключилась.

Было бы гораздо приятнее, если бы я мог сказать системе перезагрузиться сразу после спящего режима. Можно ли достичь этого общим способом в современных системах UEFI? Или поведение, о котором сообщается в этих других сообщениях, всегда является результатом неисправного оборудования / драйверов?

Мой вариант использования:

Я делаю какую-то работу под Win8, у меня открыто много документов, и вдруг мне нужно использовать Linux, потому что Windows отстой. Или я испытываю желание играть в AngryBirds в RemixOS ... Я хотел бы просто щелкнуть ярлык и подождать несколько секунд, и моя система загрузит нужную ОС в том состоянии, в котором я последний раз ее оставлял. После того, как я закончу с этим, сделайте то же самое, и я вернусь к своему предыдущему состоянию в Windows.

  • Я на самом деле не реализовал это, но должно быть осуществимо с использованием либо UEFI или Grub
Ghaspias
источник
Почему вы не можете просто перезапустить другую ОС? Зачем вообще связываться с зимней спячкой?
Безумный
Ну, я думаю, по той же причине, по которой я или кто-то другой спал бы, а не выключал, независимо от мультизагрузки ... чтобы сохранить свою текущую работу и позволить мне вернуться к тому, что я делал, а также к тому, чтобы вернуться к это быстрее (хотя с SSD холодная загрузка довольно быстрая). Да, я мог бы просто использовать виртуализацию вместо мультизагрузки; Виртуализированная машина Linux хорошо работает под Windows. Но это означает, что у меня нет всех ресурсов моей машины, доступных для гостя, и у меня ограниченный объем оперативной памяти. Мой пример использования:
Ghaspias
Я недостаточно знаком с гибернацией, чтобы знать, может ли то, что вы хотите, сработать. Hibernate затем загрузитесь в другую ОС и выведите свою основную ОС из режима гибернации. Я чувствую, что при переходе на другую ОС гибернационная ОС просто выключается. Я заинтересован в выяснении
Безумный
1
Я могу сказать вам, что это работает отлично, если обе системы не используют один и тот же раздел для файла гибернации. Windows использует файл hyberfile.sys в c :, Linux использует раздел подкачки. Конечно, вы никогда не должны пытаться получить доступ к файловой системе в спящем режиме ОС ... Linux запрещает монтировать системный раздел Windows, но не какой-либо другой раздел, к которому у вас может быть доступ из Windows!
Ghaspias
Да. Интересно
Безумный

Ответы:

2

В Windows его нет. Процесс гибернации отправляет сигнал отключения ACPI после завершения процесса, тем самым выключая машину. Linux будет таким же образом, однако он будет изменяем в исходном коде.

UEFI, насколько я знаю, не имеет возможности перехватывать и изменять сигналы ACPI.

Keltari
источник
Я подозревал то же самое. Но в старые времена были механизмы для пробуждения системы в определенный момент времени через BIOS. Возможно ли, что UEFI предоставляет какой-то похожий механизм? В качестве альтернативы, можно ли будет «вручную» записать файл гибернации с помощью какого-либо вызова ядра, а затем перезагрузить компьютер?
Ghaspias
1
Можно разбудить компьютер, когда он находится в спящем режиме. Спящий режим - это состояние, когда компьютер полностью выключен, поэтому невозможно разбудить.
Алексей
@ Алексей правильно. ОС может выводить компьютер из спящего / приостановленного состояния, но не при выключенном питании. Существуют некоторые BIOS, которые могут включать компьютер из выключенного состояния. Они там как механизм безопасности на случай потери питания. Когда питание вернется, BIOS снова включит аппарат, если вы установите эту опцию. Очень полезно, если это удаленный компьютер, и никто не может физически включить его. Я также видел несколько BIOS, которые позволяют планировать время включения / выключения, но они редки и не очень настраиваемы.
Келтари