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ポートが原因だった。
一部のUSB3.0ポートが、ごく稀に認識不能になる
- 症状
PCケースフロントパネルのUSB3.0ポートが、ごく稀に認識不能になる。
(マザー直結の背面USB3.0ポートは無問題) - 原因
Windows7時代のUSB3.0コントローラーと、Windows10の汎用USB3.0コントローラーがコンクリフトを起こしていた。 - 解決策
Windows7時代のUSB3.0コントローラーを削除し、USBルートハブドライバなども削除した。
ディスプレイドライバの問題
Windows7 時代から Windows 10 RS1 Build 14393.222まで、少なくとも私のPC環境では ディスプレイドライバの問題でスリープ復帰に失敗することは殆どなかったのだけど、現在ちょっとハマっている。
- ビデオカードをRADEON R9 280X から NVIDIA GTX1070 に変更し、2016年10月6日の 累積アップデート KB3197356 を適用した後から、スリープ復帰が非常に不安定になった。
- ビデオカードドライバを入れなおしたり、最新のものを利用したり、マザーボードのCSM設定を変更したり、色々対処するもののなかなか改善しない。
GTX1070のスリープ問題を調べてみると、以下のようなリンクが見つかった。
- 「GeForce GTX 1070」のサポートを追加した公式最新版ドライバ「GeForce 368.39 Driver」登場。
2016.06.07
GeForce 368.39 Driverで解決した問題(Windows 10)
ディスプレイがスリープモードに入った状態からシステムもスリープへ移行すると,システムがハングする問題 - [FAQ番号:035258]NVIDIA GeForce GTX 1070 8GB : 製品仕様|FAQ Search|エプソンダイレクト
更新日: 2016/09/21
ビデオボードのディスプレイポートから出力時、ディスプレイによっては、省電力状態(ディスプレイの電源を切る、スリープ状態、休止状態)から復帰した際に画面が正しく表示されなくなる場合があります。
どちらも手元の状況とは合わない部分がある。
しかし、GTX1070は (相性問題か何かで) 非常にスリープ復帰に失敗しやすいビデオカードなのだな、という事は想像できた。GTX1070 に限らず、ディスプレイドライバとOS、マザー、ディスプレイの組み合わせによって、スリープ失敗が発生しやすいの組み合わせがあるのかもしれない。
私の今回のケースの場合、まずはDVI接続からHDMI接続に切り替えてみて、効果が無ければPCモニタの買い替え、という手段を試さねばならないかも知れない・・・・。
ディスプレイドライバの問題2(以前からあったもの)
- PhotoShopを起動したままにすると、スリープ復帰にコケやすい。
(これはWindows7時代にも発生していた)
- 「GPGPUを利用するツールを複数起動した状態」でスリープすると、復帰失敗しやすいと推測している。
- これは消極的な方法で解決した。
スリープする時、PhotoShopは終了させるようにした。
その他、GPGPU系のツールも終了させるようにした。
これを守っている限りはスリープ復帰に失敗しない。
その他 気が付いた事
ここで紹介した問題は、以前の更新「Windows10の「アプリと機能」は今のところ色々あてにならない」で「怪しいなあ」と感じたドライバが主な原因となって発生していました。
▲クリックで拡大 (前回更新で使った画像)
Marvell 91xx SATA 6G や EPSON PX-1600Fは、ドライバを更新してもここの日付は更新されません。またIntel Chipset ドライバは、この項目には表示されないドライバでした。
こうしてPCに発生していた不具合を並べてみると、アプリと機能でインストール日時が正しく表示されないドライバは、Windows10上での作動がマジで怪しいですね・・・
こういうドライバ&ユーティリティは、速攻で削除して、「メーカーが配布している最新ドライバ」または「Windows10に用意された汎用ドライバ」をインストールするのがお勧めです。
ことわり書き
- このページに書いた情報は、私のPCで発生した問題と その解決方法です。
- 全てのPC環境で通用する情報では無いかもしれませんが、「Windows10 にアップグレード後、USBポートで問題が発生していたり、スリープが上手く作動しない場合」などで、参考にできる部分があるかと思います。