2017.08.29: 古くなった情報を一部削除
2016.03.01: 2016年12月以降に発生した問題の対処方法を追記
2016.10.12: KB3197356 で発生する問題について追記 (古くなったので削除)
2016.10.08: ディスプレイドライバの項目を追記
2016.09.07:「問題の本質」の項目を3つに分け整理。
2015.10.03: 初出(この頃はTH1情報)
私の (7からアップグレードした) Windows10マシンで発生していたスリープ復帰関連のトラブルを、ようやく全て「問題の切り分け」と「解決」ができた感じなのでメモ。
このページは主に「Windows7からアップグレードしたWindows 10」が対象になっています。Windows10 TH1 (1507) ~ RS1 (1607)時代に検証した内容で構成されています。
手元のPCの場合、2016年12月~2017年2月あたりでようやく安定してスリープ復帰できるようになってきました。
はじめに
スリープ復帰の原因を調べる方法
Windows10が夜中に勝手にスリープ復帰する場合の解決法
Windows がスリープしない、勝手に復帰する問題を powercfg でチェック・解決する(メモページ)
2016年12月以降の問題
2016年12月以降にスリープ失敗が多発するようになったPCの場合、以下の対処が効果がある事が確認できた。
有効な対処方法
- まずはUSB機器と無線LANを疑う。
マウス・キーボード以外の外付け機器を全部外してスリープ復帰に成功するか確認。 - USB2.0接続している機器はUSB3.0に繋ぎ変えてみる、またはその逆を行う
- QuickTime (Windows7時代にインストールしたもの) を削除する
※ネット通信する古いツールを常駐させない。少なくともスリープ前に終了させる。 - ドライバ類をすべて新しいものに入れ替え
- 古いVisual C++ (Windows7時代にインストールしたもの) を削除する
- OneDriveの無効化
- (おまけ)古いキーボードを叩いてスリープ復帰しない
このページの内容をざっくりと紹介すると
- 私のPC環境、知人のPC環境で発生する問題の多くは、「マザーのチップセットドライバ」、「USB機器のドライバ」、「無線LANのドライバ」、「USB2.0/3.0 どちらで接続しているか」が原因でした。
デバイスやドライバの種類によって、いろんなトラブルが発生していました。
- あと、UEFIマザーの「CSM (レガシーBIOS互換設定)」などにも注意する必要がありそうです。
- ディスプレイドライバが原因の場合も 多いのかもしれません。
Windows10へアップグレードした後に発生した問題
- スリープ移行直後(数秒から数分で)勝手にスリープから復帰する
- スリープ復帰に失敗し、Windowsが起動しない
- スリープ復帰時にUSBデバイスが正常認識されない (軽症)
- 一部のUSB3.0ポートが、ごく稀に認識不能になる
- ビデオカードをGTX1070に変更してから、スリープ復帰失敗の解決が難しくなってきた。
- その他
とりあえず「USBドライバ、チップセットドライバ、ディスプレイドライバ」に原因が集中しているだろう、というのは容易に推測できたのですが、一つずつ様子を見ながらじっくりと問題解決してみたところ、上記1.~4.の問題は、それぞれが微妙に異なる原因で発生していました。
参考情報(私のPC環境)
上記のトラブルが発生していた「私のメインPC」のOSの経緯とPC構成です。
アップグレード方法
- インストールメディアは使っていない。
Windows7 Pro (SP1/DSP版)から、
予約を行い、
Windows Update側のアップグレードボタンを使って、
Windows10 Proへ無償アップグレード。
アップグレード直後のPCの状態
- マザー: ASUS P9X79 Deluxe
キーボード: USB接続、1000円前後の安物
マウス: Microsoft Wireless Mobile Mouse 3500 - UEFI起動 (GPT形式でOSインストールしている)
セキュアブート有効。
CSM有効。
UEFIの Fast Start 有効(ただし一部USB機器は初期化&読み込みする設定)
OS側の高速スタートアップは無効にしている。
システムイメージやバックアップは正常に行える。
sfc /scannow やchkdskなどでエラー無し。 - GPUとマウスドライバはWindows10移行後に最新のドライバを適用。
- それ以外のドライバはWindows7時代のまま。
USB機器のドライバもWindows7時代のまま。
※USB3.0コントローラーもWindows7時代のものが残っている状態
マウス、キーボードのみの場合は不自然なスリープ復帰や失敗なし。 - 1週間~10日間隔で様子を見ながら、各種ドライバをWindows10用のものに順次アップデート。
以下、問題の症状と解決方法です。
問題の本質1
先日掲載した「Windows 10/8.1/8にはUSB3.0コントローラ・チップセットドライバは不要」に書いてある事が問題の大部分を占めていました。
USBコントローラやマザーボードのチップセットドライバなどを最新のものに入れ替える事で対処できました。
補足メモ (やや本題から逸れる/読み飛ばしてOK)
- Windows 8以降で、Windows7時代のUSB3.0用のコントローラ・チップセットドライバを使うと本当に様々なPCトラブルが発生する感触を得た。
- 私の場合、Windows 8/8.1は (サブPCにクリーンインストールしてヌルい使い方はしていたけど)ほぼすっ飛ばした感じだったので、全然気が付かなかった。
- 使い込んだOSをアップグレードして使う事自体が問題発生しやすい感じ?
- 私の場合、OSをアップグレードして常用するのは98→2000以来。
やっぱりWindows OSはクリーンインストールに限ると感じた。 - OSのアップグレードは本当に色々なトラブルが発生する。
- 私の場合、OSをアップグレードして常用するのは98→2000以来。
問題の本質2 (推測)
前項「問題の本質1」と同義なのだけど、古いドライバがFastBootやセキュアブートに対応していなかっただけ、かもしれないです。(このケースならば、ドライバが古い場合でも、FastBootやセキュアブートを無効にするだけで解消するケースもあるかもしれない。)
(手元のPCはドライバ総入れ替えが済んでしまっているため検証できない)
問題の本質3
古いデバイスをUEFIモードで作動しようとしていないか?
→UEFIマザー上の設定の問題。「セキュアブートを無効」にするだけでなく、「Fast Boot」や「CSM」の設定をできるだけレガシーBIOS互換に近い設定にしてみる。
- 注意:(逆パターンもあり)
この場合、スリープ復帰できないだけでなく、OSが起動しなかったり、画面が真っ黒になり何も映らなくなるケースもある。
- 一例
一部のUEFIマザーとNVIDIAの7XX番台以降のビデオカードの場合、(マザーとの相性問題で)特殊な設定が必要、または利用できないケースがある。
そうだ、グラフィックボードを増設しよう! でも、その前に... - ツクモ福岡店 最新情報
- 一例
問題の本質ここまで。
以下、個別の問題の症状と、解消方法。
スリープ移行直後(数秒から数分で)勝手にスリープから復帰する
- Windows10へアップグレードした直後は、何も問題は発生しなかった。
少しだけ使い込んだ後、いろいろ問題が起きて来た。 - 症状
マウス・キーボード以外のUSB機器使うようになってから、「イベントログに何も残らない不思議なスリープ復帰」が多発するようになった。
- 主にUSB2.0ポートで発生。
- PCを再起動すると、次にUSB機器を取り付ける前までの間は、この「不思議なスリープ復帰」は発生しない。
- USB機器を一度取り付けた後は、「正しい手順で取り外し」しても発生する。PC再起動するまではこの現象が続く。
- 「電源オプション」から省電力設定を色々変更すれば直るだろう、と思いつつも、面白そうなのでしばらく放置してた。
- 解決策
マザーボードのチップセットドライバをWindows10に対応したものに変更したら(汎用ドライバを使ったUSB機器では)この問題は発生しなくなった。
- 「電源オプション」の省電力設定は変更していない。デフォルトのまま。
- 問題発生中に利用していたチップセットドライバはWindows7用の最新版(2015/07/29リリース)
- 特殊なUSB機器の検証はまだ。これから。
- 補足
- 数十分~数時間後に勝手にスリープ復帰する現象は恐らく別問題。
Windows側で予定されたタスクをチェックする。
→ サイト内「Windows10が夜中に勝手にスリープ復帰する場合の解決法」
- 数十分~数時間後に勝手にスリープ復帰する現象は恐らく別問題。
スリープ復帰に失敗する
- 完全にハングし、リセットボタンを押す必要があった。かなり凶悪な復帰失敗だった。
- 症状
プリンタ(EPSON PX-1600F)をWindows10にUSB接続した直後から発生するようになった。
- プリンタを取り外しても発生した。
- プリンタ利用後、一度でもPCを再起動すると、問題は解消されていた。
- EPSON PX-1600Fは、2013年1月頃の古いドライバを使っていた。
- 解決策
プリンタドライバをWindows10対応版にアップデートしたら解決した。
スリープ復帰時にUSBデバイスが正常認識されない
- スリープ復帰時にエラーメッセージが出るだけで、実害が少なく原因の検討を付けるのに非常に時間がかかった。
- 症状
スリープ復帰した後、「USBデバイスが認識されません」、「このコンピューターに最後に接続されたUSBデバイスが正しく機能していないため、Windowsによって認識されていません」などのエラーメッセージが出る。
- 発症のタイミング
- P9X79 Deluxeマザーの「Marvell SATA6Gポート」にSSDを接続するため、「Marvell 91xx SATA 6G Controller」や「マザーのチップセットドライバ」をWindows10用のドライバに変更してから発生するようになった。
- (この問題とは無関係かもしれないけど)この時、Windows7時代のUSB3.0コントローラを削除するのを忘れていた
- 解決策
- すでに故障しており、封印してるUSBポートが原因だった。
問題の発生していたUSBポートをDisableにした。
(私のPC固有の問題だった)
- 通常は、
・Windows7時代のUSB3.0コントローラ削除
・マザーのチップセットドライバをWindows10対応版に更新する
・PCシャットダウン&コンセント抜いて完全放電
この3点で解消される。
私のメインPCの場合は、上記だけでは完全解決できなかった。
- これは別問題なので別ページに記載した。
→ 「このコンピューターに最後に接続された USB デバイスが正しく機能していないため、Windows によって認識されていません。」の対処方法
(ぶっちゃけ、ポートが1個故障していたのが原因)
- すでに故障しており、封印してるUSBポートが原因だった。