山田祥平のRe:config.sys

休止状態に陥るWindowsの働き方改革

 ノートPCのモダンスタンバイは、瞬時の復帰が最大の魅力だ。1秒未満でスタンバイ直前の状態に復帰する様子は、まるで、ずっと稼働していたんじゃないかと錯覚するくらいで気持ちがいい。だが、それを邪魔するやつがいる。

瞬時に復帰できるモダンスタンバイ

 ノートPCでWindowsを使うとき、全面的な信頼はしていないにしても、使い終わったときに完全にシャットダウンすることはほぼなくなった。

 もちろん、組織で使われているPCは、セキュリティ確保のために、使用後は必ずシャットダウンしなければならないという場合もあるが、多くの場合は、スタンバイとそこからの復帰を繰り返して使われているだろう。

 シャットダウンに比べるとスタンバイ時の電力消費は少し多めだが、それよりも使い勝手のよさのメリットの方が上だ。シャットダウン状態からの起動では、必要なファイルを開くなど、作業を中断したときの環境の構築をゼロからやり直さなければならない。ウィンドウの再配置だって面倒だ。

 が、スリープからの復帰なら、スリープさせたときのデスクトップがそのまま目の前に再現される。無駄な時間を費やすことなく、すぐに作業を再開できる。

 エンドユーザーから見たときのWindowsのスリープ状態には2種類ある。

 1つはメモリ等の状態をそのまま維持するスタンバイだ。現代のPCでは、Windows 8以降で導入されたS0iXというプロセッサの状態に依存した仕組みによるモダンスタンバイが主流となっている。

 このスタンバイ状態には、通信を維持するかどうかで、コネクテッドとディスコネクテッドの2つの状態があるが、基本的には、すばやい復帰が特徴となっている。

 もう1つのスタンバイは休止状態だ。こちらはメモリ等の状態を電力を使って維持するのではなく、ストレージにハイバーネートファイルを作成し、システムの状態をファイル内のデータとして保存する。復帰の際には、そこからデータを読み取って再開する仕組みだ。電力を使わないので、バッテリが空になってしまってもスリープからの復帰ができる。

 一般的には、このモダンスタンバイと休止状態は組み合わせて使われる。モダンスタンバイの状態がある程度の時間続くと、バッテリの節約のために休止状態に移行するのだ。

 以前のWindowsでは、電源オプションの詳細な電源設定の変更で、スリープに移行する時間と、休止状態に移行する時間を別々に設定することができた。例えば、モダンスタンバイが維持されるのは3時間までで、それ以上放置されると、バッテリの節約のために休止状態に移行するような仕組みになっていた。

 今も、この設定が生きている環境もあるようだが、多くのノートPCでは、この項目の設定ができなくなってしまっている。Windows 10以降、どうやらバッテリを搭載しているPCでの仕様がこのようになってしまったようだ。

休止状態を禁止する

 スリープを使うのは、ノートPCを使おうとしてディスプレイを開いたら、瞬時に使えると期待してのことだ。ところが、休止状態に移行してしまっていると、使おうと思ったときにすぐに使えない。

 ブートを待ってハイバーネートファイルを読み込み、ようやく起動する。モダンスタンバイからの復帰には1秒かからないが、休止状態からの復帰には10数秒が必要だ。そのくらい待てよと言われそうだが、なかなかどうして、いつもの1秒未満が10倍以上の待ち時間になるとストレスを感じる。

 手元のノートPCの多くは、3時間程度で休止状態に移行してしまう。朝、ノートPCをモダンスタンバイにした状態で持ち出し、どこかの現場に到着して開くと、たいていは瞬時に復帰するのだが、たまたま午前中にPCを開くことなく出先でのランチをすませ、午後に作業をしようとPCを開くと、休止状態からの復帰を待つはめになる。

 あるいは、ノートPCを持ち出しても、その1日は開くことがなかったとしても、翌日の朝に使うときに休止状態に移行していてほしくはないという場合もあるだろう。

 どうせ拠点に戻れば翌日のために充電するのだから、バッテリの消費量を気にすることはない。翌朝、出かけるときくらいまではモダンスタンバイを維持してほしいので、休止状態に移行する時間を指定できたころには、自分でこの設定を1,440分、すなわち24時間に再設定していた。

休止状態を禁止できない

 休止状態への移行のための時間が指定できないPCでは、強制的に休止状態を禁止すればいい。そのために、管理者権限でコマンドプロンプト等を開き、

powercfg /hybernate off

または

powercfg /h off

というコマンドを入力する。

 逆に休止状態を使うように戻すには、

powercfg /h on

とすればいい。休止状態をオフにしておくことで、モダンスタンバイはずっと維持されるようになる。

 仮にモダンスタンバイ状態が長く続いて、バッテリがスッカラカンになるようなことがあっても、その直前に休止状態に強制的に移行するので作業状態や作業中のデータが失われることはない……はずだった。

 ところがだ、少なくとも、手元の数台のWindows 11ノートPCで試す限り、「powercfg /h off」の実行は無視され、数時間で休止状態に移行するものがある。そうじゃないものもあるから話がややこしい。

 はてさて、どうしたもんだろう。誰も困っていないのだろうか。