2012-01-30 20:59:25 +0000 2012-01-30 20:59:25 +0000
38
38

S.M.A.R.T C5(現在の保留中のセクター数)で報告されたセクターを強制的にリマップするには?

私のSamsung HM640JJハードドライブ(HP Pavilion dv6ラップトップに搭載)のS.M.A.R.T C5値が「黄色のステータス=注意」

C5は昨日は10だったのに、今日は21になっています。

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

ファームウェアで強制的に再割り当てするにはどうしたらいいですか?

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

回答 (8)

120
120
120
2013-12-15 18:06:48 +0000

短い答え:セクタに何か新しいものを書き込んでください(長いフォーマットではゼロでも可能です)。

長い答え

最近のハードドライブは、ホストコンピュータから不良セクタを隠そうとします。ホストコンピュータは、ドライブに特定のセクタ番号の内容を返すように要求します。通常、ドライブはセクタを読み込んでホストコンピュータに返却し、すべてが正常に動作します。

ハードドライブは、読み込んだ値が有効かどうかを知っていますが、ドライブは エラー訂正コード (ECC) を使用して、読み込んだ内容が正しいかどうかを検証します。セクタの内容が無効であることが検出されると、ドライブは読み取りを再試行します。これは、単純に再読み込みを行えば、正しいセクタの内容が得られる可能性があることを期待してのことです。正しい値が得られるか、または制限時間に達するまで再試行を続けます(正式には コマンド完了時間制限、または CCTL _として知られています)。

これらのリトライの間、 ドライブはコマンドに反応しなくなったため、死んだように表示されます .

スペアセクタ

ほとんどの最新のドライブには多数の「スペア」セクタが含まれています(例: 1,024個のスペアセクタ)。ドライブがそのセクタを不良セクタと認識すると、そのセクタの使用を停止します。破損したセクタへの読み書き要求は、明らかにスペアセクタにリダイレクトされます。このように不良セクタをマークオフし、スペアセクタにデータを再割り当てすることを、再割り当てイベントと呼びます。そして、再割り当てされたセクタの総数(つまり、スペアセクタが何個使い切られたか)が Reallocated Sector Count となります。

この例では、私が所有しているハードドライブの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

データを読み込めない場合は?

セクタの再読込み、スペアを消費するこれらの行為は、すべてコンピュータの裏で行われているのは良いことです。ホストOSが故障セクタの問題に対処する必要がないということです。ドライブ自体がこれらの詳細を処理することができます。

ボーナスチャット . 昔、ハードドライブにはステッカーが貼られていました。このステッカーには、Factory Defect List(ドライブ上の既知の不良箇所のリスト)が記載されていました。

ドライブの低レベルフォーマットを実行した場合、ツールを使用して 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つあります。これらの「保留中のセクタ」の1つを読み込もうとすると、ドライブは再試行(再試行、再試行、再試行)を繰り返し、最終的にはホスト・オペレーティング・システムに読み取りエラーを返します。

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

保留中のセクタをあきらめて再割り当てされる

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

  • 最終的に良好な読み取りが可能になる
  • セクタの中身を気にしなくなる

ドライブが最終的にセクタを読み込んだ場合、セクタを再割り当てできることを認識しています。

ドライブがセクタを再割り当てできるもう一つの方法は、そのセクタの内容は無関係であること、つまりセクタに何が入っているかはもう気にしないことをドライブに知らせることです。どうすればいいのでしょうか?

セクターに何か新しいものを書き込む。

ハードドライブのセクタから読み込んだり、書き込んだりするときは、必ず全体の512バイトのセクタ1を読み書きしなければなりません。セクタの一部だけを書き込むことはできません。OSがセクタにデータを書き込むときは、全体の512バイトを指定しなければなりません。この不良セクタの代わりに新しいコンテンツを使用したいとハードドライブに伝えると、ドライブは、現在の不良セクタに何があるかさえ気にしていないことがわかります。これにより、不良セクタをスペアの1つに再割り当てすることができ、そのセクタはPending**ではなくなります。

これが、人々が がある場合、一般的なアドバイスは、ツール(Western Digital社のData LifeGuardなど)を使用してドライブにすべてのゼロを書き込むことです。

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

        12 KB in bad sectors.

ドライブ上のすべてのセクタにゼロを書き込むことで、厄介な保留中のセクタの再割り当てが可能になることをドライブに伝えていることになります。ワイプ後は、すべてのCurrent Pending SectorsPending Sectorsになります。

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

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

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

この知識を持って、よくある混乱したシナリオを探ってみましょう。

Integrated Drive Electronics (IDE)が登場する前は、ホストOSは不良セクタを検出し、読み込みを再試行し、データを別のセクタに移動し、古いセクタを不良セクタとしてマークする役割を担っていました。

ホストオペレーティングシステムを使用してReallocated Sectorsを実行した場合、ホストオペレーティングシステムは“Pending”セクタが不良セクタであることを認識し、それ自体を不良セクタとしてマークし、二度と使用しようとしません:

>chkdsk c: /B

つまり、512バイトセクタのハードドライブを仮定すると、12KBの「Pending Sectors」、この例では12KBがOSによって「不良セクタ」としてマークされています。 Crystal Disk Information のような S.M.A.R.T. ディスクユーティリティで表示されます。

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

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

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

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

つまり、chkdsk /r c:だったセクタがすべて再割り当てされることを意味します。これでファイリングシステムはこれらのセクタを再び使用しても安全である。ファイリングシステムに、これらのセクタがもはや “不良セクタ”_ではないことを指示するには、不良セクタを再評価するオプションを実行する。

とありますが、コマンド・ドキュメントでは

または

によると https://technet.microsoft.com/en-us/library/cc730714(v=ws.11).aspx

これは、決して読まれることのないもののために、たくさんの文章とたくさんのスクリーンショットを書いたものです。

5
5
5
2012-09-11 10:05:04 +0000

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

ドライブが故障し始めていることを認識する必要があるだけです。将来のある時点で、ドライブには再割り当てのためのスペアセクタが残っておらず、データを失うことになります。いくつかの重要なブロックが失われると、ドライブ上のすべてのデータを失うことになるかもしれません。

なので、この値に注意するか、すぐに新しいドライブを購入して忘れられるようにしましょう。

3
3
3
2012-01-30 21:29:36 +0000

私はここに記載されている方法で良い経験をしました https://www.smartmontools.org/wiki/BadBlockHowto 。私のディスクはノイズが出て動作しなくなったので、スマートレポートと計算式を使って不良ブロックを計算し、ddを使ってクリアしました。smartはまだ現在のセクタ数を報告しているのでラッキーでしたが、ディスクは2年ほど前から動いています。買い替えはしたが、使ったことはない。smartもそんなに正確ではないようだ。

2
2
2
2012-10-18 08:38:52 +0000

このツールを知らないかもしれません HD Sentinel

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

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

1
1
1
2013-05-31 11:13:45 +0000

Spinrite 6やHDD再生装置の起動可能なCDを試してみてください。彼らは表面テストを書き込みますので、保留中の不良セクタを消去し、再割り当てされたカウントをアップさせる必要があります。

1
1
1
2012-06-08 21:34:36 +0000

ゼロライト、別名ローレベルフォーマットと呼ばれています。これは通常、メーカーのディスクユーティリティでしかできません。ハードドライブの故障がこのエラーの原因になっている場合は、ほとんどすぐに戻ってくることがあります。

1
1
1
2012-01-30 21:22:33 +0000

ドライブの全てのセクタに書き込むツールを使う必要があります。そうでなければ、どうしようもありません。ドライブが予備セクタを割り当ててリマップした場合、予備セクタにはどのようなデータを入れればいいのでしょうか?既存のセクタからの読み取りに失敗したため、見当がつきません。エラーをクリアできるのは書き込み操作だけです。

0
0
0
2019-10-30 15:48:58 +0000

別の解決策を追加するために、私は最近 Victoria を使って、保留中のセクタで故障した2つのディスクを修復しましたが、ディスクは自動的にセクタをリマップしてくれませんでした。

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

欠点は - これはロシアの開発者によって開発されたもので、問題がある場合はパンドラの箱を開けるのはあなたにお任せします…

ビクトリアでは、リマップに失敗した最初のセクタを掴み、強制リマップでその後の各セクタの “読み込み "スキャンを実行しました。その後、ディスク全体の「検証」を実行し、スマートチェックを再実行したところ、正常になりました。

…でも、予備のディスクがあるので、今は交換作業中。これはちょっと怖かったですね、バックアップソリューションの間でもあるので。

関連する質問

19
18
16
3
3