2018.08.13: 補足注意として「代替処理済のセクタ数」が増加した場合を追記
2016.04.03: 初出
2年ほど前に「代替処理保留中のセクタ数」(Current Pending Sector Count) で警告が出たHDDを、今更のように復旧チャレンジしてみました ヾ(*´Д`*)ノ
当時は「いろいろと忙しかった事」、「問題のHDDには特に大事なデータは入っていなかった事」などで復旧作業は後回しにしていたのですが、ここに来て「6TB の外付けHDDを購入し、ストレージに余裕ができた事」、「ちょっと時間にも余裕ができた事」など好条件が重なったので今更のように復旧チャレンジです。
先に結論
あくまでも今回のケース限定なのですが・
- クイックフォーマット・・・・何の意味もなかった
- chkdsk /r ・・・・何故かエラーが増えた
- 完全フォーマット・・・・エラーは全部なくなり、正常な状態になった。
(ただしメチャ時間がかかる)
という結果になりました。
※補足注意:「代替処理済のセクタ数」が増加してしまった場合、このページの方法では修復できない。また DISKPART の clean コマンドでも修復はできなかった。
「代替処理保留中のセクタ数」は「一時的にエラーが出たクラスタ」に「保留状態」というインデックスを付けた状態で、次回アクセス時に再チェックを行い状態判定をやり直す仕組みになっています。
そしてこの「状態判定」は、どうやら「クイックフォーマット」や「chkdsk /r 」では実行されないらしく、「完全フォーマット」または「該当クラスタへのデータ書き込み」などの作業が必要になる感じです。
対象HDDのエラー発生経緯や状態
- USB2.0接続の2TB HDD。
HITACHI製HDD Touro Desk 0S03301。2012年2月頃に購入したもの。 - 2014年の年末~2015年1月にかけて、私のPCで立て続けにトラブルが発生した際のHDD (のうちの1つ)。
※当時の記録
・HDDに3つのトラブルが同時発生で大混乱。現在復旧中
・HDDクラッシュ、データ全損。危機一髪でした
・フォルダにファイルは何個まで?画像は何個まで? - 今回復旧テストを行ったHDD
・HDDクラッシュ、データ全損。危機一髪でした (先のリンクと同じ)
この更新でクラッシュしたHDDではなく、クラッシュ直前にバックアップ先として選んだHDD。 - 対象HDDの症状や状況
- 当時、別HDDで破損した約5700 枚のJPGファイルのバックアップ先として利用した。
- 破損データを無理矢理バックアップしたら、バックアップ先のHDDでも「代替処理保留中のセクタ数」が増加してしまった。
- つまり、データは破損しているものの、今回復旧させるHDDには物理的な問題は出ていない可能性が高い。
- ちなみに、破損の発生元のHDDはバックアップ終了直後に寿命を迎えた。ギリギリでレスキューできた感じ。
- 「代替処理保留中のセクタ数」はHx27個。
- これ以外のHDDは当時 速攻で修復した。
今回の更新で扱う「USB2.0接続 2TB HDD」は、容量と速度のバランスが悪く扱いにくく、対処を後回しにしていた。
- 当時、別HDDで破損した約5700 枚のJPGファイルのバックアップ先として利用した。
HDDの状態やエラー発生時の経緯ここまで。
参考リンク「代替処理保留中のセクタ数」について
参考リンク
- SMART属性値と不良セクタ - PCと解
C5(197) - 代替処理保留中のセクタ数
ファームウェアによって認識されている不安定なセクタの数。
セクタ読み取りエラーが発生した場合に、ファームウェアによって代替処理保留セクタとして登録されます。
通称、ペンディングセクタ。セクタ代替処理は、次のアクセスがあるまで一旦保留(ペンディング)されています。
該当セクタに対して、次回の読み取りに成功すれば、再び正常なセクタとして扱われ、この数値は減少します。
逆に失敗した場合、代替処理すべきセクタとして登録され、
次回このセクタへの書き込みがあった時に代替処理されます。
つまり・・・・
- 「代替処理保留中のセクタ数」は (注意は必要だけど) そんなに深刻に考えなくても良い場合がある。
- エラー発生後、しばらく経過観察して
・エラーが減る or 増えない・・・・・問題なし
・ジワジワエラーが増える ・・・・・HDDの寿命
今回の私のケースの場合、先に書いた通り、問題のHDDは「既に破損した約5700枚のJPGファイル」の「 (別のHDDでエラーが発生した後の) バックアップ先」でこのエラーが発生しており、エラーはコピー元HDDで発生していたのか、コピー後に発生したのか、このHDDにエラーがあるのか無いのか、判断の付きにくい微妙な状態になっています。
ざっくりとした概要の解説おわり。
以下、今回試した復旧方法いろいろ。
検証前の予測
このような症状の場合、過去の検証 (HDDクラッシュ、データ全損。危機一髪でした)では「HDDの完全フォーマット」が有効な事が分かっています。
今回も「完全フォーマット」のお世話になるだろうなと予想をしつつも、とりあえずそれ以外の方法から試してみます。
検証1.エラーの出たファイルの状態をチェックしてみる
「当時問題の出たファイル5700枚」を、もう一度別ドライブにコピーする事で簡易的なチェックを行った。
- 当時エラーが出たデジカメ写真ファイルの以外にも、その前後30~40枚が正常に読み取り出来ず、CRCエラーが発生する状態になっていた。
- 当時、完全に読めなくなったファイルは2~3個だったのだけど、どうやらその前後のファイルにも異常はあった感じ。
当時はバックアップしたファイルは全て問題なく画像を読み書きできた記憶があるのですが・・・当時から壊れていたのか、バックアップ時(またはその後) に悪化したのか不明。
検証2.クイックフォーマットしてみる
クイックフォーマット後
▲クリックで拡大
2TBの USB2.0 外付けHDDでも、クイックフォーマットは1~2分で終わる。
SMART値に変化は現れず。
クイックフォーマットでは「問題発生しているクラスタ」へのアクセスは発生しない感じです。
検証3. chkdsk /r してみる
chkdsk /r した結果画面
▲クリックで拡大
2TBの USB2.0 外付けHDDは、フォーマット直後のファイルが一切ない状態でも「chkdsk /r」に5時間くらいかかる。
特にエラーは発生せず。しかし・・・・
chkdsk /r 後のSMART値
▲クリックで拡大
「代替処理保留中のセクタ数」が、Hx27個からHx73個に増大した。
chkdsk /r 中、イベントビューアには以下のようなログが残されていた。
▲クリックで拡大
デバイス \Device\Harddisk7\DR17 に不良ブロックがあります。
▲クリックで拡大
ディスク 7(PDO 名: \Device\000000a9) の論理ブロック アドレス 0x0 で IO 操作が再試行されました。
chkdsk /r では問題のクラスタにアクセスはしても、問題の解消にはならないのかな・・・・?(´・ω・`)
検証4. 完全フォーマットしてみる
完全フォーマット中の画像
▲開始後7時間経過してもコレくらいしか進んでいない。
USB2.0 接続の2TB外付けHDDは30時間くらいかかります。
完全フォーマットは効果が高い事は分かっているのですが、気が遠くなります・・・・(^_^;
完全フォーマット終了後のSMART値
▲クリックで拡大
「代替処理保留中のセクタ数」が、ゼロになりました。
他の数値も、特に悪化した箇所は無い模様です。
やっぱ完全フォーマットが正解の様ですヾ(*´∀`*)ノ
検証5. ローレベルフォーマット
検証には HDD Low Level Format Tool を使う予定でした。
「検証4.」で解決したので実施しませんでした。
今回の検証は以上です。
以下、補足や注意事項など。
補足&注意事項
とりあえず今回は「完全フォーマット」した事で「問題のクラスタへの書き込み」は「問題なし」と判定が出たのでこのような結果になっていますが、HDDに物理的な寿命が来ていた場合、再度問題のクラスタにアクセスすると今度は深刻なエラーが出たり再び「代替処理保留中のセクタ数」が増える可能性も残っています。
とりあえず、このHDDは「重要でないデジカメ撮影データ」「無くなっても特に困らないデータ」のバックアップ先として、様子を見ながら利用してみる予定ですヾ(*´Д`*)ノ
今回参考にした (その他の) リンク
- 不良セクタの修復 - PCと解
「chkdsk」で表示されているのは、ファイルシステムに認識されている不良セクタ(というより不良クラスタ)なので、
これが正しく認識されているのであれば、あえてこの数値を減らす必要はありません。
それは、不良セクタが使われないための処理がなされていることを意味するからです。
無理にこの数値を減らそうとするのは、実際の不良セクタを使おうとするのと同義です。
「chkdsk」を実行する度に不良セクタが増えるようなら問題ですが、
不良セクタのサイズが一定のままなら、一旦は落ち着いているといえます。 - 「chkdsk」と修復オプション - PCと解
ただ同時に、「chkdsk」は誤解を招きやすいプログラムでもあります。
「chkdsk」は、ハードディスクのエラーをチェックするためのプログラムではありません。
ましてや、ハードディスクのエラーを修復するプログラムでもありません。「chkdsk」は、ファイルシステムのエラーをチェックし、修復するためのプログラムです。
つまり、「chkdsk」がチェックして修復する対象は、あくまでもソフトウェア的なものであり、
決してハードウェア的なものではないのです。