Windows 7で勝手にPCがスリープから再開する問題

最近Windows 7 SP1でPCが10分おきに勝手にスリープや休止状態から再開してしまう (何もしなければその後2分程度で再びスリープに入る) 現象が発生していたのですが、原因が判明したのでここに記録しておきます。

結論から言うとWindows 10へのアップグレード関係の処理が原因でした。*1July | 2015 | Ask COREに書かれているアップグレード抑止設定を適用したところ解決しました。

以下はそこにたどり着くまでの試行錯誤のログです。


まず、イベントビューアで ソース: Power-Troubleshooter ID: 1 のイベントを見てみると「スリープ解除の原因」が「不明」になっていたので、とりあえずマウスやキーボードを抜き差ししてみたり、デバイスマネージャからネットワークアダプタWake on LANをオフにしてみたりしたが解決せず。

タスクスケジューラに「タスクを実行するためにスリープを解除する」がオンになっているタスクが無いかざっと確認したが特になし。

再びイベントビューアを見ていると、休止状態ではなくスリープから再開した場合は「スリープ解除の原因」が「タイマー - svchost.exe」と表示されている。詳細タブを見るとWakeTimerContextが「uauserv」*2なのでWindows Update (wuauserv) が原因と判明。

Windows Update の更新のインストール設定を念のため確認し、「更新プログラムをダウンロードするが、インストールを行うかどうかは選択する」に設定されていることを確認。

次に C:\Windows\WindowsUpdate.log を見てみると、以下のようなログが再開した時間に記録されていた。起動中も10分毎に似たようなログが追記されている。

2015-07-31	00:20:42:503	 712	1254	AU	The machine was woken up by Windows Update
2015-07-31	00:20:42:503	 712	1254	AU	Forced install timer expired for AUInstallType = 5
2015-07-31	00:20:42:503	 712	1254	AU	UpdateDownloadProperties: 0 download(s) are still in progress.
2015-07-31	00:20:42:503	 712	1254	AU	#############
2015-07-31	00:20:42:503	 712	1254	AU	## START ##  AU: Install updates
2015-07-31	00:20:42:503	 712	1254	AU	#########
2015-07-31	00:20:42:504	 712	1254	AU	  # Initiating deadline install
2015-07-31	00:20:42:504	 712	1254	AU	WARNING: There are no approved updates to install
2015-07-31	00:20:42:504	 712	1254	AU	  # Exit code = 0x8024000C
2015-07-31	00:20:42:504	 712	1254	AU	#########
2015-07-31	00:20:42:504	 712	1254	AU	##  END  ##  AU: Install updates
2015-07-31	00:20:42:504	 712	1254	AU	#############
2015-07-31	00:20:42:504	 712	1254	AU	WARNING: InitiateInstall failed, error = 0x8024000C
2015-07-31	00:20:42:504	 712	1254	AU	Successfully wrote event for AU health state:0

「以前のバージョン」 (シャドウコピー) なども利用してWindowsUpdate.logの内容を検索すると、エラーコード 0x8024000C は7月30日から発生しているようである。問題が発生した時期と大体一致している。

0x8024000C で検索するが同様の事例が見つからない。ひとまず *3 を何度か実行してみたり再起動したりしてみるも解決せず。

再びWindowsUpdate.logを見ていると、以下のようなログが記録されていた。

(略)
2015-07-31	02:30:00:883	 712	c20	AU	###########  AU: Initializing Automatic Updates  ###########
2015-07-31	02:30:00:883	 712	c20	AU	  # Approval type: Pre-install notify (User preference)
2015-07-31	02:30:00:883	 712	c20	AU	  # Auto-install minor updates: No (User preference)
2015-07-31	02:30:00:883	 712	c20	AU	  # Will interact with non-admins (Non-admins are elevated (User preference))
2015-07-31	02:30:00:913	 712	c20	AU	OSUpdate detected - allowing forced install
2015-07-31	02:30:00:913	 712	c20	AU	Successfully wrote event for AU health state:0
2015-07-31	02:30:00:913	 712	c20	AU	Initializing featured updates
2015-07-31	02:30:00:913	 712	c20	AU	Found 0 cached featured updates
2015-07-31	02:30:00:913	 712	c20	AU	Successfully wrote event for AU health state:0
2015-07-31	02:30:00:923	 712	c20	AU	Currently AUX is enabled - so not show any WU Upgrade notifications.
2015-07-31	02:30:00:923	 712	c20	AU	Evaluate OSUpgrade Notification already. Skip the regular notification
2015-07-31	02:30:00:923	 712	c20	AU	Successfully wrote event for AU health state:0
2015-07-31	02:30:00:923	 712	c20	AU	AU finished delayed initialization
2015-07-31	02:30:00:923	 712	c20	AU	Forced install timer expired for AUInstallType = 5
2015-07-31	02:30:00:923	 712	c20	AU	UpdateDownloadProperties: 0 download(s) are still in progress.
2015-07-31	02:30:00:923	 712	c20	AU	#############
2015-07-31	02:30:00:923	 712	c20	AU	## START ##  AU: Install updates
2015-07-31	02:30:00:923	 712	c20	AU	#########
2015-07-31	02:30:00:923	 712	c20	AU	  # Initiating deadline install
2015-07-31	02:30:00:923	 712	c20	AU	WARNING: There are no approved updates to install
2015-07-31	02:30:00:923	 712	c20	AU	  # Exit code = 0x8024000C
2015-07-31	02:30:00:923	 712	c20	AU	#########
2015-07-31	02:30:00:923	 712	c20	AU	##  END  ##  AU: Install updates
2015-07-31	02:30:00:923	 712	c20	AU	#############
2015-07-31	02:30:00:923	 712	c20	AU	WARNING: InitiateInstall failed, error = 0x8024000C
2015-07-31	02:30:00:923	 712	c20	AU	Successfully wrote event for AU health state:0

ここでWindows 10のアップグレード開始時期と問題発生開始時期が重なっていることを思い出し、July | 2015 | Ask CORE に書かれているWindows 10へのアップグレード処理を抑止する設定をすると、上記したWindows Updateのエラーが発生しなくなり、スリープから勝手に再開する現象も発生しなくなった。

*1:ちなみにアップグレードの予約はしていません。

*2:何故か一文字目が欠けたり別の文字になっていたりする

*3:今見ると両方とも効果は同じなのかも知れない。