web-dev-qa-db-ja.com

S.M.A.R.T C5(現在の保留セクター数)に報告されているセクターの再マップを強制するにはどうすればよいですか?

(HP Pavilion dv6ラップトップの)Samsung HM640JJハードドライブのS.M.A.R.T C5値は "yellow status = caution"です

C5は昨日10時、今日は21時です。

C4 (Reallocation Event Count) = 005 (Reallocated Sectors Count) = 0

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

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

短い答え:セクターに新しいものを書き込みます(ゼロでも-長い形式はこれを行います)。

ロングアンサー

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

ハードディスクは Error-correcting code(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

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

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

Bonus Chatter:昔は、ハードドライブにステッカーが固定された状態で出荷されていました。このステッカーにはFactory Defect List;が含まれていました。ドライブ上のすべての既知の不良スポットのリスト。

enter image description here

ドライブの低レベルフォーマットを実行した場合、ツールを使用して、すべてのCylinder-Head-Sector不良スポットの位置を入力する必要がありました。
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セクターがあり、ドライブは不良と認識しますが、まだ再割り当てできません。これらの「保留中のセクター」のいずれかを読み取ると、ドライブはおそらく再試行(および再試行、再試行)し、最終的にホストオペレーティングシステムに読み取りエラーを返します。

enter image description here

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

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

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

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

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

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

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

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

enter image description here

ドライブ上のすべてのセクターにゼロを書き込むことで、ドライブに、それらすべての厄介な保留中のセクターを最終的に再割り当てできることを伝えています。ワイプ後、すべてのPending SectorsReallocated 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にボリュームのfullフォーマット(つまり、-----Quickフォーマット)を実行するように指示すると、ボリューム内のすべてのセクターにゼロが書き込まれます。

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

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

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

ホストオペレーティングシステムを使用してchkdsk /r c:を実行する場合、 "pending"セクターが不良であると認識し、不良としてマークし、使用しようとはしない再び:

> 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を想定します。これは、S.M.A.R.T. Crystal Disk Informationなどのディスクユーティリティ:

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

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

full format(ボリューム内のすべてのセクターにゼロを書き込む)を実行すると:

enter image description here

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

>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.

これは、まったく読めない何かのための、完全な宝くじの執筆であり、完全な宝くじのスクリーンショットでした。

114
Ian Boyd

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

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

そのため、この値を見続けるか、すぐに新しいドライブを購入してください。

5
Aaron Digulla

私はここに記述された方法 https://www.smartmontools.org/wiki/BadBlockHowto で良い経験をしました。私のディスクは音を立てて動かなくなっていたので、スマートレポートと公式を使って不良ブロックを計算し、それをクリアするためにddを使います。 smartがまだ現在のセクタ数を報告していますが、ディスクは2年かそこら以来機能しているので、私はラッキーでした。代替品を購入しましたが、使用したことはありません。私にとっては、スマートもそれほど正確ではないようです。

3
Gigamegs

多分あなたはこのツールを知らない: HD Sentinel

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

これはそのような行動をとるための素晴らしいツールのようです。ただし、実行オプションによってはデータを完全に破壊する可能性があるので注意してください。

2
Estevan TH.

ゼロ書き込み。ローレベルフォーマットとも呼ばれます。これは通常、製造元のディスクユーティリティでしか実行できません。このエラーの原因となっているハードドライブの障害がある場合は、すぐに戻ってくる可能性があります。

1
Chris Abbott

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

1
David Schwartz

Spinrite 6またはHDDリジェネレータのブータブルCDを試してください。彼らは表面テストを書くので、保留中の不良セクタを取り除き、再割り当てされた数を増やすべきです。

1
danwat1234