【PC不具合】外付けHDD・データ喪失・スリープ・USBセレクティブサスペンドの関連

2016年8月6日土曜日

Windows10

t f B! P L



今まで、外付けHDDのスリープやセレクティブサスペンドについて色々調べてきましたが、どうもうまくいきません。何故調べているのかというと、OSをWINDOWS10にアップグレードしたところ、下記のHDDケースに入れたHDDが認識しなくなったり、データが消える現象が起こったためです。


WINDOWS7の時との違いは、HDDがスリープするかしないかの違いだけです。

とりあえず、頭の中を整理するために、覚え書きのような感じで書きます。

問題が起きる構成は
ノートパソコン:ACER752+HDDケース:マーシャルのHDD4台搭載可能なケース

問題点

OSがWINDOWS10の場合
・何度か再起動しているうちに、HDDが認識されなくなり、最悪データが消える。
データ紛失については、WINDOWS7のPCに接続してコマンドプロンプトからスキャンディスクを行うことで復旧できる場合あり。
・OSの電源設定でスリープに関する設定をすべて解除しても、HDDがスリープしてしまう。

OSがWINDOWS7の場合
・OSの電源設定でHDDをスリープするように設定しても、HDDがスリープしない。ただし、PC本体がスリープになったときは、HDDもスリープする。

疑問に思う事とわかった事等

・電源関係の設定は、OS・BIOS・HDD・HDDケースのそれぞれにある場合がが、どれが優先されるのか疑問。
BIOS→OS→ケース→HDDの順番かとも思いますが、わかりません。

・OSのHDDをスリープさせる機能は、内蔵HDDだけに有効なのかもしれない。
色々設定を変更して挙動を見ていると、そんな気がしてなりません。

・HDDのAPM(電源設定)設定は変更できるが、PCの再起動で初期化されるらしい。

この記事によると、大容量記憶装置はWINDOWS8からセレクティブサスペンドに対応しているらしい。

このことから考えれば、私の外付けハードディスクの挙動も理解できるかもしれません。

私のHDDケースは、PCの電源を切ると、HDDの電源を切る機能はあるようですが、単体で、HDDをスリープするような省電力機能はついていません。

従って、WINDOWS7では、セレクティブサスペンドが未対応のため、PCがアクティブな限り、HDDがスリープになることはありません。また、OSのHDDスリープの設定は内蔵HDDのみに有効であると考えれば、現在の挙動は理解できます。

PCがアクティブなまま、使用していない外付けHDDをスリープさせたいのですが、どうも難しそうです。省電力機能のあるケースに替えないとだめかもしれません。
次にWINDOWS10の場合ですが、こちらはちょっと解釈が難しいです。

OSの電源設定をスリープは本体を含めて無し、セレクティブサスペンドを無効、その他HDDをスリープしてしまいそうな設定を全て無効にしても、HDDがスリープしてしまいます。PCがアクティブな状態でもスリープに移行します。HDDケースにスリープさせる省電力機能がないことから考えれば、理解に苦しみます。

レジストリに値を追加することでスリープしなくできるようですが、まだ試していません。

PCがアクティブなまま外付けHDDをスリープさせるというのは、私の求めている挙動なのですが、その結果、HDDが認識されなくなったり、データが消えてしまうようでは、使い物になりません。

・省電力機能のあるHDDはWINDOWS10で認識されなくなったり、データが喪失したりしない?
PCにはもう1台バックアップ用にウエスタンデジタルの外付けHDD(WDBAAU0020HBK)がつけてあります。

このHDDはWINDOWS7ではちゃんとスリープしますし、WINDOWS10で認識されなくなることもなく、データが消えることもありませんでした。

マーシャルのケースとの違いはHDDの数と、省電力(スリープ)機能の有無です。

正解かどうかはわかりませんが私なりの結論

・WINDOWS7ではUSBのセレクティブサスペンドが外付けHDDに対して機能しないが、WINDOWS10では機能する。

・WINDOWS10の電源設定でUSBのセレクティブサスペンドを無効にしても、実際は無効にならない事がある。

・WINDOWS10では、外付けHDDはHDDが認識されなくなったり、デター喪失の可能性がある。
以下、根拠無しですが、
WINDOWS10でスリープしない設定にしてもHDDがスリープするのは、USBセレクティブサスペンドの誤操作が原因ではないかと思われる。

セレクティブサスペンドが機能すると、PCからの給電が止まるため、外付けHDDケースは、PCがスリープに入ったと認識する。そして、HDDはスピンダウンされる。

しかし、実際は、PCはアクティブなままなので、この状態でPCを再起動したりシャットダウンすると、次回起動時にPC側とHDD側で情報の不一致が起こり、HDDが認識されなかったり、データが消えたりする。再起動やシャットダウンの前にHDDをアクティブにすればこの様な事は起こらないのかもしれません。

ただ、外付けHDDケースにスリープ機能があり、その機能が有効な場合は、HDDがスリープ中にPCが再起動されたりシャットダウンされることが想定されているため、この様な事は起こらない可能性が高そうです。

以上のことから、HDDケースにスリープ機能が無い今のハード構成では、「WINDOWS10でPCをアクティブのまま外付けHDDをスリープさせる」ことは無理そうです。

ということで、目標を、「WINDOWS10でPCをアクティブのまま外付けHDDをスリープさせない」にして、試行錯誤を続けたいと思います。

現状のWINDOWS7でも外付けHDDはスリープしないので、現状維持でOSのみアップデートと言うことになります。
HDDをスリープさせない方法としては、DONTSLEEP!!等のソフトを使い、HDDに定期的にアクセスすることでスリープを抑止するか、CrystalDiskInfoやExamDisk+MimicCXLSを使う方法、レジストリにDeviceHackFlagsを追加する方法等がありますが、USBセレクティブサスペンドを止めれば、HDDが認識されなくなったり、データ喪失する問題もクリアできるかもしれませんので、次回はレジストリの変更で試してみたいと思います。

動画紹介中→鬼太郎チャンネル

このブログを検索

QooQ