ハードディスク リードエラー

 ネットアクセス用にPCを一台用意したのだが、数日前から立ち上がりに時間がかかるようになって来た。

 調べてみると、ハードディスクに、リードエラーが発生していた。通常、リードエラーが発生しても、リトライで読めるレベルであれば、ハードディスクドライブ側で代替セクター割り当ての手順が実行されるので、使用者側が気付くことは稀だろう。

 今回の場合は、たまたま、Windows7のシステムソフトが書き込まれている部分にリードエラーが発生したために、代替セクターの割り当てが行われなかった。代替セクターの割り当ては、リードエラーが発生したセクターに対して、書き込みが指示された場合に行われるので、インストール時以外には、書き込みが発生しないシステムファイルで、リードエラーが発生すると、その状態が永遠に続くことになる。放置しておけば、事態がさらに悪化し、完全に読めない状態になる可能性もある。


 どう対処すべきか?方策はいくつかある。

①HDD上の、エラーが出ていると推測される部分を避けて、OS用のパーティションを切り直し、OSをインストールしなおす。
②chkdsk c: /r を実行して、リードエラーを起こしたセクターを含むクラスターの配置替えをする。
③単にOSをインストールしなおす。

 どれを選択するにせよ、問題のあるHDDから、必要なデータをセーブしてから、ということになる。

 上記の①~③は、違うレベルのエラー回避策で、その結果も当然違ってくる。

 ①はPCの管理者レベルの対応で、HDDドライブそのものの交換まで含まれる。事後は最もよいと想定される。

 ②はOSレベルの対応で、うまくいけば事後はさほど悪くないはずだ。

 ③は、主として、ハードディスク自身による対応で、事後は②よりよいという事にはならない。

 
 ③は、既にOSがインストールされているパーティションに、フォーマットしてから、新規インストールする。あるいは、フォーマットせずに、新規インストールする。あるいはアップグレードインストールする。フォーマット後の新規インストールの場合と、アップグレードインストールの場合は、その過程で、リードエラーが発生していたセクターへの、書き込みオーダーがインストーラーから出される。その結果、HDD側が認識しているリードエラーが発生していたセクターに対して、代替セクターの割付が行われ、問題は解決する。フォーマットせずに新規インストールする場合には、それまでOSがインストールされていたHDD上の領域は、Windows.oldというフォルダに隔離された形になるので、とりあえず問題はなくなる。形式的には①に準じた形になる。

 ②は、オーダーを打ち込んで、再起動し、chkdskが終わるのを待つだけだ。うまくゆけば、リードエラーが出たクラスターからリトライの末読み出されたデータが、穴埋めのために選択されたクラスターへ書き込まれる。リードエラーの出たクラスターは不良クラスターとして処理され、問題は解決する。当然、うまくいかないこともある。その場合は、①か③ということになる。

 ①は、HDDを交換するか、HDD上のエラーが発生したセクターを含む部分を避けてOSをインストールし、エラーが発生した部分の周辺を含むかなり大きな部分を完全に使用しないようにすることで、問題は解決する。

 処置が終わったら、またリードエラーが発生してこないか、様子を見るだけである。リードエラーの発生がとまらないようなら、HDDを交換すべきだろう。


 今回は、②で行くことにした。chkdsk c: /r は正常終了した。Windows7の立ち上がりも、通常のレベルに戻った。


問題が出たHDDの、CrystalDiskinfoのコピーをあげておく。

hdd read error

 使用し始めて、10日程にしかならないHDDで、問題が出始めて2日ほど経過した時点のものだ。リードエラーレートが0x195、代替処理済のセクタ数が0x0、代替処理保留中のセクタ数が0xF、セクタ代替処理発生回数が0x0となっている。

 
 chkdsk c: /r を実行後の、管理イベントのコピーをあげておく。

hdd read err log

 とりあえず、リードエラーは収まったようだ。


 ああだこうだと書いた上で恐縮だが、最後に、本音を書いておく。代替セクターが発生するようなハードディスクは、不良品だ。代替セクター処理は、ほんの一時の時間稼ぎのために用意されているもので、使い続けるためのものではない。なかには、使い続けられる場合もあるのだが、それはギャンブルの範疇だ。そうそうあるものではないので、興味本位で経過を観賞するというのなら話は別だが、即刻交換が基本だろう。個人的な印象だが、ウェスタンディジタルは問題が多い。シーゲートは優秀だ。日立・東芝は、IBM時代の印象が悪く、使用する気にならない。


==========
追記 2014年5月16日

 上記の通り、chkdsk c: /r を実行後、リードエラーは収まったように見えたが、2日後には、代替処理保留中のセクタ数が増加していた。これ以上ひどいことにならないうちに、実験してしておこうということで、③を実行してみた。


 アップグレードインストールは、実行してみたところ、代替処理保留中のセクタ数は減少しなかった。元のOSが存在していたところとは、別の場所にインストールされた為だろう。

 フォーマットせずに新規インストールの場合は、想定通りだった。

 フォーマット後インストールの場合は、ほぼ想定通りだった。代替処理保留中のセクタ数は0x0となった。

 ところが、代替処理済のセクタ数は0x0で変化なく、セクタ代替処理発生回数も0x0で変化なかった。代替処理保留中のセクタのうち、代替処理が行われたセクタの数が、代替処理済のセクタ数に加算されるはずなのだが、そうはならなかった。これを額面どおりに受け止めれば、代替処理保留中セクターはなくなったが、代替セクタ処理は行われなかったということになる。

 理由は、不明だが、推測はできる。ハードディスクのS.M.A.R.T.情報を表示するソフトのバグの類では、おそらくないだろう。ハードディスクのファームウェアのバグの類。これは、まずないと見てよい。可能性が高いのは、代替セクターの割付処理の手順が違うということだろう。代替処理保留中のセクターに対して、書き込みオーダーが出た場合に、代替セクターを割り付けるという、単純な処理ではないのかもしれないということだ。

 ではどういう処理なのだろうか。代替処理保留中のセクターに対して、書き込みオーダーが出た場合、そのセクターに対して書き込みを行い、その後読み出しを行う。エラーなく読み出しができた場合は、以前の書き込み時に何らかの問題があったために、リードエラーが発生していたものとみなして、そのセクターを代替処理保留中のセクターからはずす。リードエラーが発生した場合は、そのセクターに欠陥があるものとみなして、代替セクターの割付を行う。といった手順ではないだろうか。もしそうだとすれば、この記事で取り上げたハードディスクのプラッターには、今のところ問題はないということになる。


 お帰り前にクリックお願いします。
ブログランキング・にほんブログ村へ
にほんブログ村
スポンサーサイト
カレンダー
プルダウン 降順 昇順 年別

04月 | 2014年05月 | 06月
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31


RSSリンクの表示
リンク
カウンター
QRコード
QR
ブロとも申請フォーム

この人とブロともになる

最新トラックバック