SMART C5(現在の保留中のセクター数)で報告されたセクターの再マップを強制する方法は?


38

Samsung HM640JJハードドライブ(HP Pavilion dv6ラップトップ)のSMART C5値は「黄色の状態=注意」です

C5は昨日は10でしたが、今日は21です。

C4 (Reallocation Event Count) = 0 そして 05 (Reallocated Sectors Count) = 0

ファームウェアにそれらを再割り当てさせるにはどうすればよいですか?

  • パーティションを削除し、再度作成し、ドライブ全体をフォーマットしました。
  • 走った chkdsk /r /f
  • BIOSディスクチェックユーティリティおよびその他の診断/修復ツールを実行しました

レベル2のブートディスクspinrite6を使用してこれを行います。... grc.com/intro.htm
モアブ

回答:


118

簡単な答え:セクターに新しいものを書きます(ゼロでも-長い形式はそうです)。

ロングアンサー

今日のハードドライブは、ホストコンピューターから不良セクターを隠そうとします。ホストコンピューターは、特定のセクター番号の内容を返すようにドライブに要求するだけです。通常、ドライブはセクターを読み取り、ホストマシンに返します。すべて正常です。

ドライブはエラー訂正コード(ECC)を使用して、読み取った内容が正しいことを検証するため、ハードドライブは読み取った値が有効かどうかを認識します。ドライブは、セクターの内容が無効であることを検出すると、読み取りを再試行します。希望は、それが再びそれを単に読むならば、それが正しいセクター内容を得るかもしれないということです。適切な値を取得するか、制限時間(正式にはコマンド完了制限時間、またはCCTLと呼ばれる)に達するまで再試行を続けます。

これらの再試行中、ドライブは死んでいるように見えます。コマンドにもはや応答していないので

スペアセクター

最近のほとんどのドライブには、多数の「スペア」セクターが含まれています(たとえば、1,024個のスペアセクター)。ドライブがセクタを不良として認識すると、その使用を停止します。破損したセクターの読み取りまたは書き込み要求は、透過的にスペアセクターにリダイレクトされます。この不良セクタをマークし、そのデータを予備セクタに再割り当てすることを、再割り当てイベントと呼びます。また、再割り当てされたセクターの総数(つまり、使用済みのスペアセクターの数)が、再割り当てされたセクター数です。

私のハードドライブの1つからのこの例では、64セクターが不良であることがわかりました。これは、64個のドライブのスペアセクターが使用に呼び出されたことを意味します。

ID                             Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ===
(05) Reallocated Sector Count  192      192    140        64

この同じハードドライブで、4つの再配置イベントがありました。これは、ドライブがセクターを不良としてマークし、代わりにスペアセクターを使用した場合が4回あったことを意味します。

ID                             Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ===
(05) Reallocated Sector Count  192      192    140         64
(C4) Reallocated Event Count   196      196    0            4

データを読み取れない場合はどうなりますか?

これらのすべてのセクターの再読み取り、スペアの消費、すべてがコンピューターの背後にあることは良いことです。これは、ホストオペレーティングシステムが障害のあるセクターの問題に対処する必要がないことを意味します。ドライブ自体がこれらの詳細を処理できます。

ボーナスチャッター:昔は、ハードドライブにステッカーが固定された状態で出荷されていました。このステッカーには工場の欠陥リストが含まれていました。ドライブ上のすべての既知の不良スポットのリスト。

ここに画像の説明を入力してください

ドライブの低レベルフォーマットを実行した場合、ツールを使用して、不良スポットのすべてのシリンダーヘッドセクターの位置を入力する必要がありました。
SCSIドライブにはIOCTL_DISK_REASSIGN_BLOCKS、オペレーティングシステムがそれを検出した後にドライブ上の不良スポットを再割り当てするように指示するコマンドがあります。IDEドライブでは、オペレーティングシステムの介入を必要とせずに、これはすべて自動的に行われます。

ドライブがセクターの障害を認識し、データをスペアセクターに移動し、元のセクターを再び使用しないことが理想的です。しかし、ドライブがセクターを正常に読み取れなかった場合はどうなりますか?

これは何Pending Sectorsですか。ドライブは、セクターに障害が発生していることを検出したため、スペアに再マッピングする必要があります。しかし、データを正常に読み取ることができるまで、それを行うことはできません。ドライブがセクターの不良を認識しており、リマップする必要があるが、セクターからの読み取りを待機しているため、まだ実行できない場合:Pending Sector Countと呼ばれます:

ID                             Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ====
(05) Reallocated Sector Count  192      192    140          64
(C4) Reallocated Event Count   196      196    0             4
(C5) Current Pending Sector    100      100    0             2

私のハードドライブには2つのセクターがあり、ドライブは不良として認識していますが、まだ再割り当てできません。これらの「保留中のセクター」のいずれかを読み取ると、ドライブはおそらく再試行(および再試行、再試行)し、最終的にホストオペレーティングシステムに読み取りエラーを返します。

ここに画像の説明を入力してください

保留中のセクターをあきらめ、再割り当てされます

ドライブが最終的にセクターを再割り当てし、別のスペアセクターを消費する方法は2つあります。

  • それは最終的に良い読書を取得します
  • あなたはもうセクターに何があるか気にしません

ドライブが最終的にセクターを読み取った場合、ドライブはセクターを再割り当てできることがわかります。

ドライブがセクターを再割り当てできるもう1つの方法は、そのセクターの内容が無関係であることを知らせる場合です。もう何が入っているか気にしないでください。どうやってやるの?

セクターに新しい何かを書くことによって。

ハードドライブ上のセクターから読み取りまたは書き込みを行う場合は、常に512バイトのセクター全体を読み取り/書き込みする必要があります1。セクターの一部のみを書き込むことはできません。OSがセクターにデータを書き込むとき、512バイト全体を指定する必要があります。これらの新しいコンテンツでこの不良セクタを置き換えることをハードドライブに伝えると、ドライブは、現在不良セクタにあるものを気にしなくてもよいことを認識します。その後、不良セクタをスペアの1つに再割り当てでき、そのセクタはPendingではなくなります。

人々が何かを持っていることについて尋ねるときCurrent Pending Sectors、一般的なアドバイスは、ドライブ(Western DigitalのData LifeGuardなど)を使用してドライブにすべてゼロを書き込むことです。

ここに画像の説明を入力してください

ドライブ上のすべてのセクターにゼロを書き込むことにより、それらの厄介な保留中のセクターをすべて最終的に再割り当てできることをドライブに伝えています。ワイプ後、すべてPending Sectorsが次のようになりますReallocated Sectors

ID                             Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ====
(05) Reallocated Sector Count  192      192    140          66
(C4) Reallocated Event Count   196      196    0             5
(C5) Current Pending Sector    100      100    0             0

注: Western DigitalのData LifeGuardのような「低レベル」ツールを使用する必要はありません。Windowsにボリュームのフルフォーマット(つまり、クイックフォーマット以外)を実行するように指示すると、ボリューム内のすべてのセクターにゼロが書き込まれます。

OSファイリングシステムは、セクターを不良としてマークすることをサポートします

この知識を武器に、一般的に紛らわしいシナリオを探ります。

Integrated Drive Electronics(IDE)が登場する前は、ホストオペレーティングシステムが不良セクターの検出、読み取りの再試行、データの別のセクターへの移動、古いセクターの不良マーク付けを担当していました。

chkdsk /r c:ホストオペレーティングシステムを使用して実行すると、「保留中」のセクターが不良であると認識され、不良としてマークされ、それらを再度使用することはありません。

> C:\Windows\system32>chkdsk /r c:
The type of the file system is NTFS.
Volume label is OS.

        12 KB in bad sectors.

512バイトのセクターのハードドライブ、12 KBの「保留中のセクター」、またはこの例ではOSによって「不良セクター」としてマークされた12 KBを想定すると、SMARTディスクユーティリティで表示される10進数24または16進数0x18に対応しますクリスタルディスク情報など:

ID   Attribute Name            Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ====
(C5) Current Pending Sector    100      100    0            18

:Western DigitalのData LifeGuard v1.31(2017年8月31日現在)ユーティリティは、現在のSMART 'Raw'カウンター値を正しく表示しないようです。

次に、完全なフォーマット (ボリューム内のすべてのセクターにゼロを書き込む)を実行する場合:

ここに画像の説明を入力してください

つまり、これらのセクターはすべてPending再割り当てされます。ファイリングシステムがこれらのセクターを再び使用しても安全です。これらのセクターが「不良」ではなくなったことをファイリングシステムに指示するには、不良セクターを再評価するオプションを実行します。

>chkdsk c: /B

コマンド文書には

/B              NTFS only: Re-evaluates bad clusters on the volume
                (implies /R)

または

準拠https : //technet.microsoft.com/en-us/library/cc730714(v=ws.11).aspx

/B              NTFS only: Clears the list of bad clusters on the volume and 
                  rescans all allocated and free clusters for errors. /b includes
                  the functionality of /r. Use this parameter after imaging a
                  volume to a new hard disk drive.

これは、まったく読まれない何かのための、完全にたくさんの文章であり、全体のたくさんのスクリーンショットでした。


87%に問題がある200MBのファイルがあります。保留中のセクターが3つありました。ファイルをハッシュして適切な読み取りを取得し、再割り当てされたセクターを要求しようとしましたが、再割り当てされていません!ハッシュ結果:OK、失敗、OK、OK、失敗、失敗。OSがイベントビューアーで複数のディスクエラーを生成するたびに、OKハッシュでは、87%で30分間ハングしました。すべてのハッシュは同じです。C5はまだ3で、C4はまだ0です。これについてどう思いますか?
マークジェロニムス

@MarkJeronimusファイルワイパーを使用してみてください。すべてのゼロ(またはすべてのランダムデータ)がファイルに書き込まれます。そうすれば、これらのセクターをもう気にしないことに気付くはずです。
イアン・ボイド

完全なフォーマットを作成しましたが、それでも変更はありません。
マークジェロニムス

2
私がよくわからないことの1つは、(a)現在のC5セクターを含むファイルを表示し、(b)それらのセクターを「消す」、つまりC6に移動し、読み取りを停止することは可能ですか?私は、HDDが無限に失敗する読み取りサイクルで立ち往生するのを望まない。これらのセクターを黒く塗りつぶして問題のファイルを削除します(重要な場合は他のソースから手動で復元します)。
MM 14

1
ただし、ドライブ全体をゼロにしたくはありません。不良ビットを回避するだけです。そのプログラムを見ているだろう、ありがとう
MM

5

あなたは何もする必要はありません-まだ。再割り当てカウントとは、「ディスクが欠陥セクタを見つけて正常に再割り当てした」ことを意味します。ファームウェアはすでに問題を修正しています。

ドライブが故障し始めていることに注意する必要があります。将来のある時点で、ドライブには再割り当て用のスペアセクターがなくなり、データが失われます。重要なブロックが失われると、ドライブ上のすべてのデータが失われる可能性があります。

そのため、この値に注意するか、すぐに新しいドライブを購入して、忘れることができます。


3

私はここでhttps://www.smartmontools.org/wiki/BadBlockHowtoを説明する方法で良い経験をしました。ディスクがノイズを発して動作しなくなったため、スマートレポートと式を使用して不良ブロックを計算し、ddを使用してクリアします。smartはまだ現在のセクターカウントを報告しているが、ディスクは2年かそこらで動作しているので、私は幸運でした。交換品を購入しましたが、使用したことがありません。スマートもそれほど正確ではないように思えます。


私が探していたのは、不良な場所にゼロを書き込んで再割り当てを強制する(そのリンクで示唆されている)場合のddのoflag = directオプションでした。ありがとう!
アントン

2

たぶん、あなたはこのツールを知らないでしょう: HD Sentinel

Hard Disk Sentinel(HDSentinel)は、マルチOS SSDおよびHDD監視および分析ソフトウェアです。その目標は、ハードディスクドライブの問題を検出、テスト、診断、修復し、SSDとHDDの健全性、パフォーマンスの低下と障害を報告および表示することです。ハードディスクSentinelは、コンピューター内および外部エンクロージャー(USBハードディスク/ e-SATAハードディスク)内のハードディスクおよびソリッドステートディスクに関する最も包括的な情報を、完全なテキスト説明、ヒント、および表示/レポートで提供します。貴重なデータの安全性を最大限に高めるために、さまざまなアラートとレポートオプションが用意されています。

これは、このようなアクションを実行するための優れたツールのようです。しかし、注意してください、いくつかの実行オプションはデータを完全に破壊する可能性があります。


1

ドライブのすべてのセクターに書き込むツールを使用する必要があります。そうでなければ、それを行う方法はありません。ドライブがスペアセクタを割り当てて再マップした場合、スペアセクタにはどのデータを入れる必要がありますか?既存のセクターから読み取る試みが失敗したため、それはわかりません。書き込み操作のみがエラーをクリアできます。


ハードドライブ全体をフォーマットすることは、すべてのセクターへの書き込み操作ですか?ドライブは既にフォーマット済みです(Windowsベースのフォーマットコマンド、「クイックフォーマット」なし)。ありがとう
エドケ

2
クイックフォーマットは、すべてのセクターへの書き込み操作ではありません。通常のフォーマットは通常です。いつでもDBaNを使用できます。通常のフォーマットは少なくともカウントを減らしましたか?
デビッドシュワルツ

通常のフォーマット(クイックフォーマットではない)を実行しました。フォーマット後のカウントダウンまたは再マップが必要でしたが、数は同じでした。ありがとう
エドケ

実際、それは非常に奇妙です。フォーマットしたパーティションはドライブ全体のサイズですか?
デビッドシュワルツ

@edgh:このようなエラーが発生した場合、通常の形式は役に立ちません。私の方法を試してみることをお勧めします。
ギガメグ

1

ゼロ書き込み、別名低レベル形式。通常、これはメーカーのディスクユーティリティでのみ実行できます。このエラーの原因となるハードドライブの障害がある場合、すぐに戻ってくる可能性があります。


1

Spinrite 6またはHDDリジェネレータブータブルCDをお試しください。彼らは保留中の不良セクタをクリアし、再割り当てされたカウントを増やす必要があるため、表面テストを作成します。


0

別のソリューションを追加するために、最近ビクトリアを使用して、保留中のセクターで失敗した2つのディスクを修復しましたが、ディスクは自動的にそれらを自動的に再マップしませんでした。

Victoriaはディスクへの低レベルのグラフィカルインターフェイスであり、ディスクの実際のバイト単位の編集、障害時のセクター再マッピングの強制、USBドライブおよびそれらの安価なチャイナベイUSB-2-sataのサポートが含まれます(本当に必要な場合!)アダプター、工場出荷時設定のスマート属性と機能の変更など。

マイナス面-それはロシアの開発者によって開発されたもので、問題がある場合は、Pandoraのボックスを開くようにしておきます...

ビクトリアでは、リマップに失敗した最初のセクターを取得し、その後、強制リマップで各セクターの「読み取り」スキャンを実行しました。次に、ディスク全体の「検証」を実行し、スマートチェックを再実行しました。これで問題ありません...

...しかし、私は予備のディスクを持っているので、私はそれらを現在交換中です。私はいつもバックアップソリューションの間にいるので、これは少し怖かったです!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.