結果だけでなく過程も見てください

日々の奮闘を綴る日記です。

Windowsでスリープ・休止状態・スタンバイなどの状態が勝手に解除されてしまう現象の回避方法

原因はいろいろあります。

  • マウス・キーボード・LANケーブルなどからの割り込み
  • 接続されている機器からのノイズなどの電気信号
  • スリープを解除するように設定されているタイマーの割り込み(自動メンテナンス機能、Windows Update、録画ソフト、アンチウィルスソフトの定期チェック etc)


詳しい原因と対策、調査方法等を挙げますが、まずは以下3つのコマンドを
管理者で起動したコマンドプロンプトから実行してみてください。

  • powercfg /lastwake
  • powercfg -devicequery wake_armed
  • powercfg -waketimers

コマンドプロンプトWindows 7/8/8.1/10なら、
スタートボタン→検索ボックス(8/8.1はマウスを画面右下移動させると出てきます)から
コマンドプロンプト」で検索すれば出てくるでしょう。
右クリックして「管理者として実行」を選んでください。

いちおうWindows 10ですがイメージ図を載せておきます。

まずは自分が経験した原因について以下の表にまとめます。

コマンド 表示されるキーワード 対処方法ざっくり
powercfg /lastwake USB ホスト コントローラー 接続されているUSB機器のいずれかが原因。USB機器の電源設定を変更する
powercfg -devicequery wake_armed HID 準拠マウス マウスが原因。マウスの電源設定を変更する
powercfg -waketimers TaskScheduler\Regular Maintenance Windows 8/8.1/10の自動メンテナンス機能。タスクスケジューラーからOFFにする
powercfg -waketimers Remediation\AntimalwareMigrationTask ノートンマルウェア定期チェック。タスクスケジューラーからOFFにする

またこれから↓で説明する設定は,何かの拍子に設定が戻ってしまうことがあります。
バイスの抜き差し(USBとか特に)Windows Update(Microsoft Update)が原因だと思いますが


とにかく一度設定したのに、最近また勝手に起動するようになったな〜困ったな〜という方は
今一度下記設定を確認してみてください。自分の場合、マウスの設定「スタンバイを解除できる」チェックボックス
へのチェックが勝手に復活していたことがあります。

バイスのスリープ解除設定を無効にする

バイスマネージャーを開いてください。

バイスマネージャってなに?という方は↑で紹介したコマンドプロンプトを開くのと
同じ要領で「デバイスマネージャー」と検索して開いてみてください。

マウス・キーボード

存在するすべてのデバイスのプロパティから[電源の管理]などのタブを探し
[このデバイスで、コンピューターのスタンバイ状態を解除できるようにする]のチェックを外す。
電源管理のタブがないものについては何もしなくていいです。

マウス・キーボード両方の設定を行ってください。マウスだけ設定した状態だと、
なぜかマウスを動かすとスリープが解除されてしまうことがありました。

マウス・キーボードが原因でスリープ状態が解除されることは非常に多いため,
まずこの設定を見直してみることをおすすめします。

こちらもWindows 10ですが,イメージ図を載せておきます。

ネットワーク アダプタ

存在するすべてのデバイスのプロパティから[電源の管理]などのタブを探し
[電力の節約のために、コンピューターでこのデバイスの電源をオフにできるようにする]の
チェックを外す。電源管理のタブがないものについては何もしなくていいです。

また、[詳細設定]タブのプロパティから電源や起動に関係すると思われる項目
(例:Wake on Link, パワーダウン時に速度を落とす等)の機能をOFFにする。

その他のデバイス

心当たりがあるデバイスの電源や起動に関係すると思われる項目をOFFにします。

BIOSの設定

BIOSの一部の設定が有効になっていると、自動で起動してしまうことがあるようです。

マザーボードによって設定する項目があったりなかったり、名前が違ったりしますのでご注意を。

  • Wake on LAN (デバイス設定だけなく、BIOS自体からOFFにするのが良いようです)
  • Power On By PS/2 Keyboard
  • Power On By PCI
  • Power On By PCIE
  • Power On By RTC

電源プランの見直し

  • High Performance設定になっている場合はBalanced等に切り替えてください
  • [電源オプション]→[プラン設定の編集]→[詳細な電源設定の変更]→[スリープ]から[スリープ解除タイマーの許可]の設定を無効にする

Windows 8/8.1/10の場合は自動メンテナンス機能を切る(旧Windows Updateです)

[コントロールパネル]→[システムとセキュリティ]→[アクション センター]→[自動メンテナンス]から
[スケジュールされたメンテナンスによるコンピューターのスリープ解除を許可する]
のチェックを外してください。

Windows 8以降の「高速スタートアップ機能」の無効化

悪さをすることがあるようです。
無効化すると当然起動時間が長くなるのでこれが原因でないときは有効化しておきましょう。

[コントロールパネル]→[ハードウェアとサウンド]→[電源オプション]→[電源ボタンの動作の選択]
→[電源ボタンの定義とパスワード保護の有効化]が開くので[現在利用可能ではない設定を変更します]
を押下→[高速スタートアップを有効にする(推奨)]チェックを外す。

Windows Updateの時間帯見直し

時間をずらしておきましょう。
Windows 8以降ではすぐ上に書いたようにスリープ解除の原因になることが多いようです。

その他スリープを解除するソフトウェアなどを切る

  • 録画予約ソフト
  • スケジューラーソフト

タスクスケジューラーの見直し

これは場合によっては数があって大変ですが、タスクスケジューラーの各項目を確認してください。
項目によっては[条件]タブの[タスクを実行するためにスリープ解除する]にチェックが入っている
可能性があり、これが原因で電源がついてしまうこともあるようです。

Windows Media Centerが原因のことが多いようです。(私のWindows 8.1にはありませんでした…)

左のツリーから[タスク スケジューラ ライブラリ]→[Microsoft]→[Windows]→
[Media Center]→[mcupdate_scheduled]→[条件]タブ→[タスクを実行するためにスリープを解除する]

Windows 8以降の場合は右側の[操作]ペインにある[プロパティ]をクリックして現れるウィンドウからだけ
 設定変更ができます


調査方法など

イベントログからスリープが解除された原因を探る

イベントログ→システムを辿り、「Power-Troubleshooter」を探してください。
原因が書かれています。ただし、自分はここから原因がわかったことはないです^^; (↓のように不明と表示されています)

システムは低電力状態から再開しました。

スリープ時間: 2014 - 11 - 11T15:44:41.950714700Z
スリープ解除時間: 2014 - 11 - 11T21:37:18.138285100Z

スリープ状態の解除元: 不明
powercfgコマンド

管理者で実行してください。

○powercfg /lastwake

■筆者のケース 犯人その1-1
マウスによってスリープが解除された場合、以下のように出力されました。
USBに接続されているデバイスが原因か?と推測されます。

Wake History Count - 1
Wake History [0]
  Wake Source Count - 1
  Wake Source [0]
    Type: Device
    Instance Path: USB\ROOT_HUB20\4&5149026&0
    Friendly Name:
    Description: USB Root Hub
    Manufacturer: (標準 USB ホスト コントローラー)

○powercfg -devicequery wake_armed

■筆者のケース 犯人その1-2
マウスによってスリープが解除された場合、こちらの引数の場合は以下のように出力されました。
ここからマウスが原因かな〜と推測できますね!

HID 準拠マウス
HID 準拠マウス (001)

○powercfg -waketimers

■筆者のケース 犯人その2
スリープ状態の解除を要求したタイマーが表示されます。たとえばうちではこのように表示されました。
イベントログでは「不明」でもこのコマンド原因がわかる場合があります。

C:\WINDOWS\system32>powercfg -waketimers
Timer set by [SERVICE] \Device\HarddiskVolume2\Windows\System32\svchost.exe (SystemEventsBroker) expires at 6:21:21 on 2014/11/13.
  Reason: Windows は、スリープ状態の解除を要求したスケジュールされたタスク 'NT TASK\Microsoft\Windows\TaskScheduler\Regular Maintenance' を実行します。

「TaskScheduler\Regular Maintenance」とありますので、
今回はWindows 8.1(や2012)の自動メンテナンス機能が原因であることがわかりました。


■筆者のケース 犯人その3(2015/9/26追記)
ノートンをアップデートしたせいか、一定時間でスリープが解除されるようになってしまいました。
その際のpowercfg -waketimersの結果は以下の通りでした。

Timer set by [SERVICE] \Device\HarddiskVolume2\Windows\System32\svchost.exe (SystemEventsBroker) expires at 10:46:26 on 2015/09/26.
  Reason: Windows は、スリープ状態の解除を要求したスケジュールされたタスク 'NT TASK\Remediation\AntimalwareMigrationTask' を実行します。

「NT TASK\Remediation\AntimalwareMigrationTask」とあります。
どうやらタスクスケジューラーに登録されているRemediation\AntimalwareMigrationTaskというタスクがスリープを解除したようです。

さっそくタスクスケジューラーを開いてみます。Windows 7/8/8.1/10なら、スタートボタンのメニュー等から
「タスク」で検索すれば出てくるでしょう。

Symantecとあるのでノートンのようです。
この画像の(1)を選ぶと(2)が表示されます。説明にSymantecとあるのでノートンが原因のようです。
AntimalwareMigrationTaskを右クリック→[無効]を選んで無効にしてください。(画像はすでに無効にした後です)

プライバシーポリシー お問い合わせ