悲しみのハードディスク

最近、ストレージ関連で悲しい事が2つありました。

ハードディスクの故障

サーバーで使っていたハードディスクが故障してしまいました。

使用していたドライブはノートパソコンから取り出したHGST HTS547564A9E384です。
ノートパソコン用なので5400rpmであり、アクセス速度は遅いもののバックアップ用としての使用だったので問題ではありませんでした。

状況

データが読み出せなくなった際の使用時間は11300時間です。日数に直すと470日程度で、連続稼働用ではないハードディスクなのでこんなものかなといった感じです。

故障に気がついたきっかけとしては、ある日何の前触れもなくソフトがクラッシュするようになったので音を聞いてみるとカッコン、カッコンと異音がしていることに気がつきました。ドライブの一部をスワップ領域にしていたのですが、そこが読み取れなくなっていたようです。

smartctlで状態を表示してみたところ、”SMART overall-health self-assessment test result: PASSED”となっていたので故障ではないかと思ったのですが、よく下を見てみると

Error 3 occurred at disk power-on lifetime: 4885 hours (203 days + 13 hours)
  When the command that caused the error occurred, the device was active or idle.

といった表示があり、OSに捕捉されないような書き込みエラーが起こっていた事がわかりました。

影響

幸い、バックアップ以外にはデータを入れていなかったため重要なデータの消失は免れました。また、バックアップについても重要な物は別媒体に保存してあるのでこちらも影響がありませんでした。しかし、もしバックアップを取らずにデータを保存していたら取り出せなくなっていたことでしょう。

SMARTの診断機能を過信せずエラーログを詳細に読む事の重要さ、またバックアップを二重にとっておくことの重要さを改めて感じました。

システムドライブの交換後に認識されない

今までRyzen上のWindows 7のサブマシンの容量が120GBしかなかったので、容量不足になっていました。
元々KLEVV NEO N400の120GBを使っていたので、新しいSSDも同シリーズの240GBにしました。

交換

SSDの付属ソフトとしてついてきたAcronis True Imageのディスククローン機能を使用して内容をコピーし、換装すれば完了……のはずだったのですが、交換して最初の起動では問題なく動くものの2回目の起動以降は途中でブルースクリーンになってしまうという問題が起こりました。そして、接続するSATAポートを変更するとまた最初は起動し、2回目は起動しません。

ブルースクリーンをよく見ると”STOP: 0x0000007B”の文字が見えます。これは、システムドライブが見つからないというエラーのようです。
1回目は問題なく起動できる上に、Wndowsの起動も途中まで出来ているのでこのエラーは不可解です。調べていると、レジストリを変更するとかBIOSの設定を見直す、システムの修復を試すなどの解決法が見つかりましたが、どれを行っても解決しません。

原因

何回も試すうちに、1回目の起動が完了して数秒はデバイスマネージャーでSSDが認識されているのですが、しばらくするとドライバーがインストールされていない扱いになってしまうことを発見しました。この状態で再起動すると、SSDのドライバーがないためシステムドライブが見つからないとなるのでしょう。なので再起動前にSSDをデバイスマネージャーから削除してあげると次回も起動します。

このままでは毎回ドライバーのインストールを行おうとするので起動するたびにSSDを削除しなくてはなりません。
しかし、ドライバーのインストールを止めさせる方法は分かりませんでした。そもそもなぜ元々認識されているのにドライバーを探しに行ってしまうのかが謎です。

解決(していない)

ところで、その後諦めて元の構成に組みなおす途中でSATAポートが元々の場所と一致しないと上記の症状が出ることが分かりました。システムドライブのほかに2台HDDがあるのですが、それぞれの元々のポートに差し込んだときだけ症状が出ません。また、新しいドライブはどこに差し込んでも症状が出ます。

もちろんハードディスクは途中から追加したもので、その時はどこでも問題なかったはずなのですが……
アプリがドライバーの挙動に変化を及ぼすとは考えにくく、特にハードディスクのドライバーを更新したりもしていないので、考えられる原因はWindows Updateで何かが変更されたというぐらいでしょうか。

そもそもRyzenでWindows 7を使うということ自体(マザーボードのサポートはあるとはいえ)あまりない事なのでこのようなことが起こるのも仕方ないのかもしれません。

解決しました (22/11/16)

どうやら、Windows側が標準ドライバーの場所を探せなかったためこのようなことが起こったようです。なぜそうなったかの原因は分かりませんがとりあえず認識させる事はできたので記しておきます。

デバイス マネージャー→ほかのデバイス内の"○○○○ ATA Device"のプロパティ→
 ドライバーの更新→コンピューターを参照→一覧から選択→
 すべてのデバイス→ディスク使用→参照
"C:\Windows\inf\"内のいずれかのinfファイルを選択、OKで戻る

ほかのデバイス化されているSSD/HDDは
 (標準ディスク ドライブ)→ディスク ドライブ
詳細→ハードウェアIDの値が"STORAGE\Volume"の不明なデバイスは
 Microsoft→汎用ボリューム

OKを押すとドライバーが読み込まれる。

ちなみに、自分の環境では”C:\Windows\inf”を指定しないと標準デバイスが表示されませんでした。標準デバイスを読み込ませる事に関してはここを参考にしました。

コメントを残す