Windows 10/11のPCでは、スリープまでの時間を長く設定しているにもかかわらず、指定した時間が経過していないのにスリープしてしまうことがある。そのような場合は「システム無人スリープ」の設定を変更することで改善できることがある。ただし、「システム無人スリープ」の設定は、デフォルトでは非表示なので、これを表示させる必要がある。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
対象:Windows 10/11
Windows 10やWindows 11を搭載したPCを使っていると、システムが勝手にスリープモードに入ってしまうことがある。特にノートPCの場合、この現象が発生しやすいようだ。
もちろん、Windows 10/11の設定で、PCを何も操作しないと自動的にスリープするようにしていれば、その時間を経過すると、スリープに移行する。しかし、その時間を経過していないのにもかかわらず、スリープしてしまうことがあるのだ。その原因と解決方法を紹介しよう。
スリープになるまでの時間は、Windows 10なら[Windowsの設定]アプリを起動して、[システム]から[電源とスリープ]の画面を開くと確認できる。Windows 11なら[設定]アプリの[システム]-[電源]画面の「画面とスリープ」 欄を展開することで確認可能だ。
ここでは、何も操作せずに放っておくと、画面を「オフ」にする時間とスリープ状態に移行する時間が、電源接続時とバッテリー駆動時(ノートPCなどの場合)のそれぞれで設定できる。
ところが、ここで例えばスリープの設定を「30分」にしていても、スリープから復帰後、2〜3分するとまたすぐにスリープモードに移行しまうことがある。全てのWindows 10/11で発生するわけではないが、一度、この状態になると勝手にスリープするようになってしまうようだ。
システムがすぐにスリープしてしまうのは、「システム無人スリープタイムアウト(System unattended sleep timeout)」機能に原因があると思われる。これは、システムがWOL(Wake On LAN)や何らかのイベントで、自発的にスリープから起動した場合、そのまま何も操作せずに放っておくと、一定時間後にまた自動的にスリープ状態に移行するという機能だ。
このタイムアウト時間がデフォルトで2分になっている。どうも、この機能が通常のスリープに対しても働いてしまい、スリープからの復帰後、何も操作しないで2分程度経過すると、勝手にスリープしてしまうようだ。
つまり対策は、このシステム無人スリープのためのタイムアウト設定時間を長くすればよい。
システム無人スリープのタイムアウトを設定する項目は、デフォルトでは非表示になっているので、これを有効化する必要がある。
それには、コマンドプロンプトでpowerconfigコマンドを実行する方法と、レジストを編集する方法がある。ただ、編集部で試したところ、Windows 11のノートPCの場合は、powerconfigコマンドを実行する方法ではタイムアウト設定項目を表示できなかった(Windows 10とWindows 11のデスクトップPCでは表示できた)。Windows 11のノートPCでは、レジストリを編集する方法を試してほしい。
コマンドプロンプト(Windowsターミナル)を起動し、以下のpowercfgコマンドを実行すればよい。再起動などの必要はなく、powercfgコマンドを実行すれば、[コントロールパネル]の[電源オプション]アプレットにタイムアウトを設定する項目が表示される。前述のように、Windows 11のノートPCでは、powercfgコマンドでは、タイムアウトを設定する項目が表示されないこともあるので注意してほしい。
powercfg -attributes SUB_SLEEP 7bc4a2f9-d8fc-4469-b07b-33eb785aaca0 -ATTRIB_HIDE
Copyright© Digital Advantage Corp. All Rights Reserved.