連載
» 2018年03月22日 05時00分 公開

Tech TIPS:Windows 10のPCが、数分で勝手にスリープするのを防ぐ

Windows 10のPCで、スリープまでの時間を長く設定しているにもかかわらず、指定した時間が経っていないのにスリープしてしまうことがある。そのような場合は「システム無人スリープ」の設定を確認する。

[打越浩幸,デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows 10


Windows 10のPCが勝手にすぐにスリープしてしまう

 Windows 10のPC(特にノートPC)を使っている場合、システムが勝手にスリープモードに入ってしまって煩わしいと感じたことはないだろうか。

 PCのキーボードやマウスを何も操作せずにしばらく放っておくと、あらかじめ設定された時間が経過したときにスリープモードになるのはご存じだろう。スリープになるまでの時間は、Windows 10なら[設定]アプリを起動して、[システム]から[電源とスリープ]の画面を開くと確認できる。

スリープタイムアウトの設定 スリープタイムアウトの設定
[設定]アプリの[電源とスリープ]でスリープまでの時間を設定できる。

 だがここで例えば30分と設定していても、スリープから復帰後、2〜3分するとまたすぐにスリープモードになってしまうことがある。スリープまでの時間を何回設定し直しても、数分でスリープモードに入ってしまうのだ。経験的には、以下のような状態になることが多い。

  • 基本的にはWindows 10のノートPCでよく起こる
  • システム起動後、最初のスリープまでの時間は[設定]アプリの画面で設定した通りになっている。だが一度スリープすると、その後はわずか数分でスリープしてしまう

 全てのWindows PCで起こるわけではないし、常にこのようになるわけではないが、一度発生すると、しばらくこの状態が続くようだ。

すぐにスリープするのは「システム無人スリープタイムアウト」設定のせいかも?

 システムがすぐにスリープしてしまうのは、「システム無人スリープタイムアウト(System unattended sleep timeout)」機能が働いているためだと考えられる。これは、システムがWOL(Wake On LAN)や何らかのイベントなどで、自発的にスリープから起動した場合、そのまま何も操作せずに放っておくと、一定時間後にまた自動的にスリープ状態に移行するための機能である。

 このタイムアウト時間はデフォルトでは2分になっているため、スリープから復帰後、何も操作しないと2分程度でまたスリープしてしまう。これがすぐにスリープしてしまうように感じられる原因だ。

 この機能はWindows Vista以降で実装されたものだが、今まではあまり問題とはならなかった(Windows 8.1以前でも同様の症状は発生しているようだが)。なぜWindows 10だと勝手に有効になるのか、その理由は不明だが、対策は簡単である。このシステム無人スリープのためのタイムアウト設定時間を長くすればよい。以下、その方法を紹介する。

手順1――レジストリ設定を変更して、システム無人スリープのタイムアウト設定画面を有効にする

 システム無人スリープのタイムアウトを設定する画面は、デフォルトではWindows 10の電源オプションに表示されないようになっている。レジストリを変更して、この画面を表示させるようにする。

 レジストリ設定を変更するには、コマンドプロンプトを開くか、[Windows]+[R]で[ファイル名を指定して実行]ダイアログを開き、「regedit」と入力して、レジストリエディタを起動する。UAC(ユーザーアクセス制御)の要求許諾画面が表示されるので、指示に従って許可する。

 レジストリエディタを起動したら、以下のレジストリキーを開いて、DWORD型の「Attributes」の値を、デフォルトの「1」から「2」に変更する。

[注意]

レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリエディターの操作は慎重に行うとともに、あくまで御自分のリスクで設定を行ってください。何らかの障害が発生した場合でも、本Windows Server Insider編集部では責任を負いかねます。ご了承ください。


項目 内容
キー \HKEY_LOCAL_MACHINE の
 \SYSTEM
  \CurrentControlSet
   \Control
    \Power
     \PowerSettings
      \238C9FA8-0AAD-41ED-83F4-97BE242C8F20
       \7bc4a2f9-d8fc-4469-b07b-33eb785aaca0
値の名前 Attributes
REG_DWORD
値の内容 「2」にする(デフォルトは1)
無人スリープタイムアウトの設定画面を表示させるためのレジストリ設定

レジストリエディタで値を変更する レジストリエディタで値を変更する
無人スリープタイムアウトの設定は、デフォルトでは表示されない。表示させるには、レジストリの設定が必要。

手順2――コントロールパネルの電源設定を開く

 レジストリの設定が済んだら、[設定]アプリの[システム]から[電源とスリープ]の画面を開く。そして[関連設定]にある[電源の追加設定]画面を開く。

無人スリープタイムアウトの設定(1) 無人スリープタイムアウトの設定(1)
コントロールパネルの[電源オプション]画面を呼び出す。

 すると[コントロールパネル]の[電源オプション画面]が開くので、[プラン設定の変更]のリンクをクリックし、さらに[詳細な電源設定の変更]をクリックして開く。

無人スリープタイムアウトの設定(2) 無人スリープタイムアウトの設定(2)
[プラン設定の変更]をクリックする。

無人スリープタイムアウトの設定(3) 無人スリープタイムアウトの設定(3)
[詳細な電源設定の変更]をクリックする。

 これで[電源オプション]の[詳細設定]画面が開くので、[スリープ]グループの下にある[システム無人スリープ タイムアウト]の値を変更する(レジストリを編集する前は、この項目は表示されない)。

無人スリープタイムアウトの設定(4) 無人スリープタイムアウト時間を変更する
[スリープ]の下にある[無人スリープタイムアウト]の設定で、より長い時間を設定する。デフォルトは2分となっている。

 デフォルトでは2分になっているが、これを希望するスリープ時間、例えば30分や60分にすると、無人スリープに入るまでの時間を延長できる。「0」にすると無人スリープすることはなくなるが、無理に無効にしなくても、時間を長くするだけでよいだろう(詳細は未確認だが、無効にした場合、自動的にスリープから復帰した後、ずっと起動したままになってしまうかもしれない)。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。