2022年11月30日水曜日

ケーブル一つでもシステムにとってかけがえのない存在なことを再認識させられました

 現在使っているPCは、かれこれ足掛け10年の間、週一回程度にビデオカードの差し直しをしないと正常に使えなくなるという爆弾を抱えているものの、ハードウェア的には仮に起きても本当に些細なトラブルばかりで(PT3が壊れた!と思ったら差し直したら直ったとか、20年以上愛用のPS/2キーボードの右CTRLキーがついに押下すると元に戻らなくなったりとか、そんなのばっかりで)びっくりするほど安定(VGAから目を背けつつ)しているのですが、やっとネタになりそうなハードウェアトラブルが発生したので記録する次第です。

まず、HDDのGドライブとして運用中の、このPCの他のハードディスクの中身をバックアップするだけの用途のドライブがあると思ってください。

そのGドライブが、ある日、アクセスされっぱなしになっていることに気づきました。

バックアップ専用ドライブですから、バックアップ中以外にBUSYになっている時点でおかしいのですが、実際にGドライブにエクスプローラーからアクセスしてみると妙に遲いものの各ファイルには正常にアクセスできます。

とりあえず、Windowsにおける最強のトラブル解決手段であるところのリブートを行ってみました。すると、特に問題なさそうな様子をしています。

しかし、実際には何か異常が起きたからこそ奇妙な挙動をしたのですから、原因を知りたい。

そこで、これは10年近い年季のHDDがいかれかけでバッドセクタが出たのかな?と考えてSMART値をチェックしてみました。しかし、SMARTを軽く見てみても、代替処理済みのセクタ数もセクタ代替処理保留中のセクタ数も回復不可能セクタ数もゼロのままで問題がなさそうです。

そこで、念のため chkdsk /r G: をかけてバッドセクタを探させることにしました。

すると、ステージ4である程度の個所でディスクへのアクセス頻度は高いけれど進捗がぱったりと進まなくなる状況になりました。

この辺は場数をどの程度踏んでいるかによるのですが、大容量HDDだから進捗が進まないのか、トラブルが起きているから進まないのかの見極めが必要となります。
ここでは後者、何らかのトラブルが発生しているためにchkdsk が進まないと判断して中断させようとしましたが、CTRL+CもCTRL+Breakも効果なく、やむなくコマンドプロンプトごと終了させました。

当然chkdskによってG:ドライブはアンマウントされているので再マウントしようとしましたがうまくいきません。焦っていると「すわ、壊したか!」と慌てるところですが、ここは、理屈ではここは単純にリブートで行けるはずと踏んでリブートするとG:ドライブが復活しました。

そこで改めてG:ドライブのファイルを閲覧したりすると、やっぱり奇妙に重い。今のところ何の解決にもなっていないことは明らかですので、SMART値を精査することにしました。

すると、「UltraDMA CRC エラー数」が膨大な値になっていることが分かりました。

これらをWindowsのイベントログを見ると
ソース:disk
イベントID: 153
「ディスク 1 (PDO 名: \Device\00000031) の論理ブロック アドレス 0x600870 で IO 操作が再試行されました。」
※論理ブロックアドレスは一定ではありません

というログが記録されています。

以下のようなログもありました
「トランザクション ログへのデータのフラッシュに失敗しました。VolumeId: G:、DeviceName: \Device\HarddiskVolume7 で破損が発生している可能性があります。」
以下HDD型式などの情報

ともあれ、SMART値が示すところでは、HDDとの通信がうまくいかないでエラーが起きてることを示しているので、最悪の場合はマザーボードの故障ですが、まずはSATAケーブルの交換を試してみます。

...正常に稼働するようになりました。

地味だけど重要な仕事をしてくれている伝送路を担うケーブルさんに感謝するためここに記録する次第です。

ここまでお読みいただきありがとうございました。