やじうまPC Watch

「Windows 10のPCが夜中、勝手にスリープから復帰する」原因と対策

スリープ解除の原因が「不明」であることが多い

 WindowsのPCが夜中勝手にスリープから復帰する、という経験をお持ちの方はどのぐらいいるだろうか。

 筆者はこの“症状”に長らく悩んでいたユーザーの1人だ。特にワンルームの住宅に住んでいる場合、夜中突然ファンが回り出し始め、液晶が明るくなるわけだから、PCの近くで寝ているとビックリさせられる。

 Windows 10にアップグレードしてからは、さらに復帰の回数が増えた。寝る前にスリープにしていたPCが、朝軒並み起動しているのである。Windowsのイベントビューアーで調べてみても、復帰の原因は“不明”と出ることが多数あるので、ウイルスや遠隔操作プログラムなどが原因ではないか、などと心配させられる。

 今回、勝手にスリープから復帰する原因を突き止めたので紹介する。なお以下の手法で変更を加え、なんらかOSの動作に支障が出てもPC Watchは保証しないので予めご了承頂きたい。また、全ての環境で確実に解決できるという保証もないので注意されたい。

ハードウェアによる復帰

 まず考えられるのは、マウスやキーボードなどの入力でスリープから復帰するもの。特に高感度のマウスはわずかの振動や動きを検出しやすいので、不意にスリープから復帰することがある。

 まずは管理者権限でコマンドプロンプトを起動し、powercfg -devicequery wake_armedと入力してみよう。何かデバイスの名前が表示された場合、そのデバイスでPCのスリープが解除できることを示している。その場合デバイス マネージャーを開き、対象のデバイスのプロパティの「電源の管理」タブから、「このデバイスで、コンピューターのスタンバイ状態を解除できるようにする」のチェックを外せば良い。

 これは筆者がWindows Vistaの時代から悩まされていた現象だ。新しいマザーボードではUEFI BIOS上でUSBデバイスからのスリープ復帰をオフにすることで、Windowsがこのように設定されることはないようだが、チェックしておきたい。

コマンドプロンプトでスリープから復帰させることができるハードウェアを調べる
デバイス マネージャーで設定を無効にする

タスク スケジューラーによる自動復帰

 ハードウェアによる復帰の場合、大抵イベント ビューアーに原因としてログが残されるのだが、タスク スケジューラーによる復帰の場合、復帰の原因が不明であることが多い。

 タスク スケジューラーを見ると、想像以上に多数のタスクがスケジュールに入っていることが分かる。タスクのプロパティの中で注目したいのが、「タスクを実行するためにスリープを解除する」というチェックが入っている項目。このタスクが時間指定でスケジュールされている場合、当然スリープから復帰することになる。

 筆者はWindows 7からアップグレードした環境だが、このうち「Media Center」の「mcupdate_scheduled」、および「UpdateOrchestrator」の「Reboot」の2つに、このチェックが入っていた。スケジュールされた時間を自分が作業している時間に変えるか、チェックを外すかのどちらかで対策できる。

「タスクを実行するためにスリープを解除する」タスクに注意しよう

Windows Updateによる自動復帰

 Windows 10では標準で夜中3時に自動的に更新をインストールするようになっている。以前のWindowsであればインストールする時間を自分で決められたのだが、Windows 10では、Windows Updateの設定からこの時間を変更することはできない。

 Windows 10 Proであれば、「グループ ポリシー エディター」を開き、左側のツリー一覧から「管理用テンプレート」→「Windows Update」を選ぶ。すると右側の一覧で「Windows Updateの電源管理を有効にして、システムのスリープ状態が自動的に解除され、スケジュールされた更新がインストールされるようにする」という項目が現れるので、「無効」に設定すれば良い。余談だが、インストールする時間もここで設定できるので、自分が起きている時間に変更しても良い。

グループ ポリシー エディターでスリープから復帰してのWindows Updateを無効にする

 Windows 10 Homeでは、残念ながらグループ ポリシー エディターが用意されていない。Proでグループ ポリシー エディターのレジストリ変更箇所を確認すると、\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AUのキーの中に、「AUPowerManagement」という値を作成しており、無効の場合は0、有効の場合は1となっているようだが、HomeではそもそもWindows Updateに関して、レジストリのキーが用意されていない。

 よって、Homeユーザーが確実に夜中にPCが起動しないようにするためには、シャットダウンをしておくか、Windowsのフィードバックで要望を出して、改善されるのを待つしかないだろう。

(劉 尭)