Windows10 スリープが勝手に解除される

スリープ
© freestocks.org.

20世紀中に約10年、21世紀に入って15年ほどWindowsを使っているが、Windows3.0の頃から最新のWindows10になっても特に何かしなくても突然おかしくなるのは変わらない。Windowsは何かが不安定という点ではとても安定している。
家のWindows PCの1台に繋いでいるSATAのBlu-rayドライブはずっと以前からWindowsインストールから数ヶ月(不定期)で突然書き込み速度指定が126倍というありえない速度しか選択できなくなり、それが発生するとCD/DVD/Blu-rayのどのディスクも読み込めなくなる。そして、この状態になるとデバイス設定でドライブを削除するなどしても全く直らない。USB接続であればおそらくUSBDeviewでデバイス削除して再接続すれば直ると思うんだけどSATAはどうすれば良いんだろ。もしかしたらどっかのレジストリ触るだけで簡単に直るのかもしれないけど・・情報が無い。
まぁWindowsをインストールして数ヶ月も経つとドライブの不具合だけでなくいろいろ気に入らなくなっているので諦めてクリーンインストール。今までこれの繰り返し。クリーンインストールすれば先のSATAのBlu-rayは何事も無かったかのように再び正常に使えるようになっている。

ところで、一昨日にMediaCreationToolを使ってクリーンインストールしたてのWindows10 proで何度スリープしてもちょうど8分後に必ずスリープから復帰してしまうというのが発生したので電源設定見直しをすることに。それがこの備忘録。
アプリやデバイスを追加した後なら、そいつによってスリープを解除されている可能性もあるだろうがWindowsクリーンインストール直後で何も追加してなくてこれは酷い。
逆にスリープしない設定なのに勝手にスリープに入るとかその他いろいろトラブルを聞いてるけどWindowsのスリープ周りのバグはいったいいつになったら直るんだろう。

スタートボタンを左クリックで「設定」( )、「システム」を選択。左のメニューから「電源とスリープ」を左クリックする。右側から「電源の追加設定」を左クリック。
または
スタートボタンを右クリック後に「コントロールパネル」を左クリック。右上の方の「表示方法」で「大きいアイコン」または「小さいアイコン」にして下の一覧から「電源オプション」を左クリック。

Windows10スリープ設定1
電源オプション画面で、現在利用中(選択済み)の電源のプランの右側にある「プラン設定の変更」をクリックする。

Windows10スリープ設定2
この記事では「ディスプレイの電源を切る」と「コンピューターをスリープ状態にする」は好みの設定で。ただし、この記事はスリープさせたいという目的なので「コンピューターをスリープ状態にする」で「適用しない」という値を選択するのは無しで。
「詳細な電源設定の変更」をクリック。

Windows10スリープ設定3
電源オプションの詳細設定画面で、「スリープ」の左の[+]をクリック。

Windows10スリープ設定4
「スリープ解除タイマーの許可」で「重要にスリープ解除タイマーのみ」または「無効」を選択。

Windows10スリープ設定6
辿り着き方はどこからでもよいのでネットワークアダプタのプロパティを開く。画像はデバイスマネージャから。

Windows10スリープ設定7
上方の「詳細設定」タブを選択。
[Wake on pattren match]という項目があれば右側の「値」を「disable」にする。

Windows10スリープ設定8
この画像は1つ前の画像とは違うネットワークアダプタ。ネットワークアダプタのプロパティの上方のタブに「電源の管理」というタブが存在する。その項目がある場合は「このデバイスで、コンピュータのスタンバイ状態を解除できるようにする」のチェックを外す

たぶんクリーンインストール直後でスリープが勝手に解除されるのはこれで解決の筈。

アプリやデバイスをいろいろ追加した後だったらそれらが原因ということがあるので調べてから中指を立てる。いくら気に入らなくても全部Windowsのせいにしない。

スタートボタンを右クリックして「コマンドプロンプト(管理者)」を左クリックして下を入力実行。(赤字を入力して改行キー)

例:
C:Windowssystem32>powercfg /waketimers [Enter]
システムにアクティブなスリープ解除タイマーがありません。

特に何かなければこんな感じ。

スリープを邪魔する可能性のあるデバイスの一覧を取りたいなら同じく「コマンドライン(管理者)」で下を入力実行。

例:
C:Windowssystem32>powercfg /devicequery wake_armed [Enter]
HID 準拠マウス
HID キーボード デバイス

マウスとキーボードだけならこんな感じ。ここにネットワークアダプタや他のデバイスが表示されるならそれらを疑う。

直近でスリープを解除したのは何かを知りたいなら同じく「コマンドライン(管理者)」で下を入力実行。

例:
C:Windowssystem32>powercfg /lastwake [Enter]
スリープ状態の解除履歴カウント - 1
スリープ状態の解除履歴 [0]
  スリープ状態の解除元カウント - 1
  スリープ状態の解除元 [0]
    種類: デバイス
    インスタンス パス: USBVID_056E&PID_00D17&19130777&0&3
    フレンドリ名:
    説明: USB Composite Device
    製造元: (標準 USB ホスト コントローラー)

キーボードやマウスを触った以外の内容が出てれば原因に一気に近づける。ちなみに上の例はUSBマウス。

直近のスリープ解除だけでなくもう少し詳しく見たいなら同じく「コマンドライン(管理者)」で下を入力実行。

C:Windowssystem32>powercfg /systemsleepdiagnostics [Enter]
システム スリープ タイムライン レポートが C:Windowssystem32system-sleep-diagnostics.html に保存されました。

出力先を指定していないとC:Windowssystem32下にレポートが出力される。ここに出されるのが嫌なら出力先オプションを指定して powercfg /systemsleepdiagnostics -output c:report.html のようにする。レポートはHTMLファイルなのでダブルクリックすればブラウザで表示される。

Windows10スリープ設定9
レポートの一部だけどこのように出力される。

ついでに別の電源関係のレポート(エネルギー効率)は同じく「コマンドライン(管理者)」で下を入力実行。

例:
C:Windowssystem32>powercfg /energy [enter]
トレースを 60 秒間有効にしています...
システムの動作を監視しています...
トレース データを分析しています...
分析が完了しました。

エネルギー効率の問題が見つかりました。

13 個のエラー
10 個の警告
24 個の情報

詳細については、C:Windowssystem32energy-report.html を参照してください。

結果が出るまで1分間待たされる。
こちらはたぶんエラーと警告の件数がたくさん。
出力先無指定なら上の例のようにc:Windowssystem32の下にenergy-report.htmlというファイルが出力される。system32下に出されるとファイルにたどり着くまでが大変なんだよね。だから出力先は指定する方が良いかも。

Windows10スリープ設定5
レポートはこんなの。
Windows3.0の頃からマイクロソフトに対してはずっと思い続けてることだけど、電源プラン設定が「高パフォーマンス」になってると「エラー」だとか、絶対頭おかしい。効率面で問題だとしてもせめて「推奨しない」だろ。

ということでこのレポートはアホだけど、スリープ関連のメッセージがあったらその辺りを調べる。

2016年11月18日追記:
初稿は何故か編集作成途中の版を載せてた。サーセン

関連記事: