Windows8.1で外付けHDDがスリープする問題解決したかも?


以前からちょくちょく記事にしてきた「Windows8.1で外付けHDDが一定時間後スリープ状態になってしまう現象」について、もしかしたら不具合が解消したかもしれないのでここにその方法を書いてみます。

コメントでいただいたURLに記載されていた方法です。本当にありがとうございます。

前回の苦難とかは以下のページで書いています。

○ブログ内リンク:[Windows8.1] 外付けHDDがスリープに移行してしまう現象(未解決)

2014年6月13日追記 現在の解決方法

この問題の解決法もレジストリ編集だけでなくいくつか別の方法でも成功するとの報告がでてきました。

この記事のコメント欄で「権兵衛さん」「jyamira1さん」による新しい情報が提供されましたのでここでご紹介します。本当にありがとうございます。検証は追って自分もしてみたいと思いますが、ちょっと今多忙なのでご報告できるのは後になりそうです。

「jyamira1さん」による情報

  1. 電源管理でUSBの省電力を無効にする
  2. デバマネでルートハブのプロパティーよりPCによる電源管理を無効にする
    だめなら追加で
  3. BIOSのレガシUSBサポートを無効にする

「権兵衛さん」による情報

同ページにスクリプトが公開されているので其れを使用すればもっと簡単では!?

http://answers.microsoft.com/ja-jp/windows/forum/windows8_1-hardware/windows81%E3%81%ABupgrade%E3%81%97%E3%81%9F/13f45a4a-bbca-4a85-9ee0-7fe60472ffa4?page=2

windows 8.1 に関しては改善されているのでは!?

http://support.microsoft.com/kb/2913765/ja

http://support.microsoft.com/kb/2911106

kb2911106「KB2919355」(下記訂正分) ロールアップ更新プログラム をインストールすれば良い

Windows update からオプション(重要では無い)で手動でインストール

訂正
KB が間違っている模様

Note: The registry workaround described in this blog is no longer required. A major Windows update published on 4/8/2014 reverts the USBSTOR.SYS driver behavior to 8.0. As a result, a storage device that uses BOT protocol will not be suspended when it’s idle. So if you are having issues accessing your device after the device has been idle for sometime, please install this latest Windows update first. Here is the direct link to the update: http://support.microsoft.com/kb/2919355. Once the update is installed, you should see the timestamp on the %SystemRoot%\system32\drivers\usbstor.sys file to be 2/22/2014 or later.

適当訳
このレジストリの回避策は必要無くなった、KB2919355 を適用すれば問題が回避される

http://support.microsoft.com/kb/2919355/ja

スクリプトによる解決法ですが、恥ずかしながら今知りました・・・
レジストリ修正の部分のみで満足していたのでリンク先の最後の部分を見逃したみたいです。

       

また、「KB2919355」の適用によって解決できる模様です。(※私はまだ試してないです)

解決方法

以下のURLを教えていただきました。

これをそのまま真似てみましょう。

また、同ページの下の方に「ToggleSuspend.ps1」というスクリプトを利用した方法もあるので、自分でレジストリ編集をするのが面倒な場合はこちらをダウンロードして実行してみてください。

レジストリ領域は、Windowsにとって非常に大切な領域です。無闇に値を変更したり削除したりすると最悪パソコンが起動しなくなります。バックアップはしっかり取った上で慎重に操作してください。不具合がでても当ブログは責任を負えません。

  1. USBで問題の外付けHDDを接続します。

  2. デバイスマネージャーを起動し、問題のHDDを見つけます。
    「ディスク ドライブ」から外付けHDDを見つけて選択状態にします。


    ▲クリックで拡大

  3. デバイスマネージャーの表示方法を変更します。上のメニューから[表示]→[デバイス(接続別)]を選びます。

    表示変更

  4. 接続別にすることで問題となる「USB 大容量記憶装置」が分かるので、「USB 大容量記憶装置」を右クリックして「プロパティ」を選択します。

    USB 大容量記憶装置
    ▲クリックで拡大

  5. [詳細]タブを開き、「プロパティ」を「ハードウェア ID」にします。
    この時、画像赤枠の部分(”VID_”と “PID_”に続く英数字)をメモしてください。
    この場合は「041100A2」となります。

    ※デバイスによって数値が異なりますので、個別でしっかり調べてください。

    ※Windows 10 の場合は「ハードウェア ID」ではなくて「親」という項目で確認できることがあります。

    ID
    ▲クリックで拡大

  6. レジストリエディタを開きます。
    以下の場所にアクセスします。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbstor
  7. 「usbstor」以下に新しいキーを作成します。「usbstor」を右クリックして「新規」→「キー」を選択し、新しいキーを作成します。キーの名前は、先ほどメモした英数字を入力してください。順番はVID→PIDです。先ほどの例でいけば「041100A2」になります。

    キーの作成 usbstor
    ▲クリックで拡大

  8. 新しく作成したキーの中に新しくサブキーを作成します。右クリックし「新規」→「DWORD(32ビット)値」を選択して新しいレジストリサブキーを作成します。キー名は「DeviceHackFlags」として、値を16進数で「400」としてください。

    値の作成
    ▲クリックで拡大

    サブキーの値

  9. 追加と変更が完了したら、F5キーを押して変更を反映させます。

    外付けHDDですが、一度取り外してから再度接続するとうまく反映されるようです。
    これで一定時間経ってもスリープへ移行しなければ成功です。

うまくいってる感じ

今のところこれで何とかスリープに移行せずにうまくいっているようです。
一定時間経ってもスリープには移行しません。なんとか解決できたようです。

この値が何を意味しているのかはまだ良くわかってないのですが、とりあえず直った方法ということで早速記事にしてみました。同じ問題で困っている方がいましたらぜひお試しください。

その他の不具合 - 2013年11月25日追加

私のところではこれ以上の不具合は現在ありませんが、多くの方がWindows8.1にした際の不具合をネット上へ公開してくれています。いくつかその不具合と解決法らしきものを以下に挙げてみますので参考にどうぞ。

USBによる充電の不具合

Windows8.1からUSBに関わる仕様を変更しているため、主にソニー製の製品を中心にUSBによる充電がうまくいかない不具合が報告されています。公式のサポートページがありますので困っている場合は一度お読みになってみてください。

SecureBootの仕様大幅変更

SecureBoot(セキュアブート)とは、簡単に言うとプログラムの実行には「安全なプログラムだよ」と承認された「デジタル署名」を持つものしか実行しないという機能を指します。読み込まれるオペレーティングシステム(OS)も含めて、各プログラムに有効な署名があることを確認し、著名を持っていれば実行されます。

Windows8.1では、このSecureBootの仕様が変更され「常駐プログラム」にもデジタル著名が必要になりました。これにより、Windows8.1のセキュリティが強化されていますが、今まで著名がなかった古いプログラムなどが正常に動作しない不具合が発生しています。

再インストールすることで正常に動作することもあるようですが、いくつかはどうやっても動かないソフトもでてきそうです。

外付けHDDでファイルが消える現象

Windows8.1とその他のOS(Win8.1同士でも起こる模様)で共同して使用している外付けHDDの中のデータが忽然と消えてしまうというトンデモ不具合です。基本的にWindows8.1の「高速スタートアップ」が問題となっているようで、これを切ることで解消できるみたいです。無効化方法は下記の記事をどうぞ。

特にこれから何もしていなければ高速スタートアップの無効でなんとかなるようですが、ここからアクセスできなくなった外付けHDDに対して「ディスクのフォーマット」や「チェックディスク」を実行してしまうと本当にデータの救出が難しくなります。

スキルがないと基本的に諦めるという方向になりそうですが、そこそこパソコンに詳しい方で環境が揃っていると、下記の方法で回復できる場合があるようです。この記事のコメントにて宣伝をお願いされましたので掲載してみました。困っている方は一度お試しになってください。