不良セクタとは何か

局所的な物理障害

不良セクタとは、データを正常に読み出せないセクタのことです。
データを書き込めないのも同じようですが、
エラーが明らかになるのはデータの読み出し時なので、
基本的には、データを読めないセクタが不良セクタということになります。

不良セクタは、ハードディスク等、補助記憶装置の物理障害の一種です。
ただし、物理障害の中でも、最も軽微なものです。

「不良セクタ」が具体的に何を指しているのかは、状況によって異なります。
以下、様々な状況下における不良セクタについて述べますが、
セクタのデータを読み出せない点では、すべて共通しています。

不良セクタの種類

注意しなければならないのは、
「不良セクタ」という単語が指しているものが、必ずしも同一ではない点です。
具体的には、

これらは一見同じようで、実体は違います。

ファイルシステム上の不良セクタ

「不良セクタ」という単語が最もよく見られるのが、「chkdsk」実行後の画面だと思います。

CHKDSK - 不良セクタ

NTFSだと、「○○KB : 不良セクター」という形で表示されます。
ここで示されているのは、そのドライブのファイルシステムで管理されている不良セクタです。

現状の不良セクタについて調べたければ、「chkdsk」を読み取り専用モードで実行すればいいです。
ファイルシステムの管理下にある不良セクタが表示されます。
ただし、ファイルシステムにエラーがある場合は、まずファイルシステムの修復を求められます。

「chkdsk」で不良セクタが検出されたからといって、「chkdsk /r」を実行しても、この数値は減りません。
ちなみに、先の画像は、「chkdsk /r」実行後のものです。
不良セクタが存在しているのにも関わらず、「問題は見つかりませんでした」と表示されます。
不良セクタを不良セクタとして管理下に置いている状態が、正常なのです。

不良セクタは、正常なデータの読み出しができないセクタですから、
ファイルを管理する仕組みであるファイルシステムとしても、不良セクタは避けるべきものです。
ファイルシステムは、不良セクタが検出されると、不良セクタを含むクラスタの場所を記録します。
そして、今後その場所を使わないようにします。
その領域のサイズが、「chkdsk」実行後の「不良セクタ」として表示されます。

ところで、ファイルシステムはセクタ単位ではなく、クラスタ単位で情報を管理しています
ファイルのプロパティでも、「サイズ」と「ディスク上のサイズ」が別々に表示されているとおりです。
NTFSの場合は、クラスタサイズ(アロケーションユニットサイズ)は4KBになっていることが多いので、
「chkdsk」で検出される不良セクタも4KB単位になります。

従って、「chkdsk」で表示される不良セクタの分だけ実際の不良セクタが存在しているわけではありません。
実際の不良セクタに比べると、かなり大きい数値に切り上げられています。

「chkdsk」で表示されているのは、ファイルシステムで管理されている不良セクタ(というより不良クラスタ)なので、
これが正しく認識されていれば、この数値を減らす必要はありません
それは、不良セクタが使われないための処理がなされていることを意味するからです。
無理にこの数値を減らそうとするのは、実際の不良セクタを使おうとするのと同義です。
「chkdsk」を実行する度に不良セクタが増えるようなら問題ですが、
不良セクタのサイズが一定のままなら、一旦は落ち着いているといえます。

一応、ファイルシステム上の不良セクタを再スキャンすることもできますが、
抜本的な対策がなされていない限り、意味のない行為になります。

ファームウェア上の不良セクタ

この不良セクタの多くは、Windows等のOSからは、通常見えません。
OS側で対応しなくてもいいように、ハードディスクのファームウェアで不良セクタを区別しているからです。
OS側で対応したものがファイルシステムで認識されている不良セクタだとすると、
これはもっと前の段階、ハードディスクの中だけで完結しているものです。

この不良セクタは、ハードディスクの動作を司るファームウェアによって管理されています。
ファームウェアが管理している情報をユーザーが知るには、SMART情報を確認すればいいです。

ハードディスク/SSDのSMART情報を確認する

不良セクタ - CrystalDiskInfo

不良セクタについて、特に注視すべきは「05(5)」(代替処理済みのセクタ数)と「C5(197)」(代替処理保留中のセクタ数)です。
※かっこ内の数値は、16進値を10進表記したもの。
これらの「生の値」が「0」であれば、ファームウェアに不良セクタは検出されていません。
厳密には、不良セクタに関する属性値は他にもありますが、
説明が長くなるので、下記ページ参照。

不良セクタに関する属性値 - SMART情報と不良セクタ

物理的な不良セクタ

最終的な原因は、ハードディスクのプラッタ上にある不良セクタです。
物理的に読み出しができないセクタです。

ハードディスク内に物理的に不安定なセクタがあったとしても、
ファームウェアに検出されるまでは、不良セクタとして顕在化しません。
従って、ハードディスク内に、検出されていない不良セクタが存在する可能性は常にあります
余談ですが、フォーマット時にドライブの全領域の読み出しチェックをするのも、
ファームウェアやファイルシステムに不良セクタを検出させるための作業です。

不良セクタが発生しないハードディスクはありません。
ハードディスクは、不良セクタが発生する前提で作られています
データを管理する仕組みも同じです。
不良セクタの物理的な欠陥はどうしようもありませんが、
これまでに書いてきた不良セクタを回避する仕組みを使って、
論理的に正常なデータのやりとりをすることはできる、ということです。

不良セクタの修復について

不良セクタは、修復することができます。
ただし、条件付きで。

物理的な不良セクタを、正常なセクタに回復することはできません
でも、ファームウェア上の不良セクタと、ファイルシステム上の不良セクタは、論理的なものなので、
内容を修正することができます。
そういう意味で、不良セクタを修復することは可能です。

不良セクタの修復の詳細については、下記ページ参照。

不良セクタの修復

ただし、このような操作が必要なケースは、それほど多くありません。
たとえば、不良セクタが原因でハードディスクの読み込みが途中で止まってしまう場合、
ファームウェア上の不良セクタを修復するのは、有効だと思います。