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のエラーが発生しなくなり、スリープから勝手に再開する現象も発生しなくなった。