
異なるボリュームに 2 つの Linux イメージがあり、その両方とは別の /boot パーティションがあります。ユーザーが夜間に「デスクトップ Linux OS」を休止状態にして、「レンダー ファーム Linux OS」に再起動できるようにしたいと考えています。
朝になると、「レンダー ファーム OS」がシャットダウンし、システムは休止状態のデスクトップ Linux セッションに戻ります。
grub2 の設定を変更して を実行するスクリプトでこれを有効にできると思います。systemctl hibernate
これでほとんどの作業は完了しますが、実際には、実行中の OS を休止状態にするだけでなく、実行中の OS を休止状態にしてから再起動する必要があるのです。
ない思われるsystemctl が休止状態と再起動の両方を実行するための準備が必要です。どちらか一方のみを実行できます。
どうすればこれを機能させることができますか?
答え1
既存の「休止状態」モードを再構成して、電源を切る代わりに再起動することができます/etc/systemd/sleep.conf
。
[Sleep]
HibernateMode=reboot
または、「ハイブリッド スリープ」モード (休止状態 + サスペンド) でも同じ操作を実行できます。
[Sleep]
HybridSleepMode=reboot
この値は、systemd が書き込むテキストに直接対応します/sys/power/disk
。
背景: systemd は実際には休止状態を実行せず、カーネルに休止状態を実行するように指示するだけです。
- systemd は、必要な休止状態後のモード (S4 シャットダウンの場合は「プラットフォーム」、ハイブリッド スリープの場合は「サスペンド」、カスタマイズの場合は「再起動」) をファイルに書き込みます
/sys/power/disk
。 - systemd は休止コマンド「disk」をファイルに書き込みます
/sys/power/state
。 - カーネルは残りの処理を実行し、コンピューターが起動するまで systemd に戻りません。