不良セクタとは何か

局所的な物理障害

ハードディスクの物理障害で、比較的よく見られるものとして、不良セクタがあります。

不良セクタ - chkdsk

ここで問題なのが、「不良セクタ」という単語が指しているものが、必ずしも同一ではない点です。
具体的には、

  • ファイルシステム上の不良セクタ
  • ファームウェア上の不良セクタ
  • 物理的な不良セクタ

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

不良セクタがあると、その箇所において正常なデータのやりとりができなくなりますから、
パソコンはシステム全体としてこれを回避するような仕組みを持っています。
つまり、特別ユーザーが意識しなくても、自動的に不良セクタを使わないような処理がなされています。

不良セクタが問題になるのは、これらの処理に不都合がある場合です。
そうすると、不良セクタが何なのか、考える必要が出てきます。

不良セクタとは何か

「不良セクタ」が具体的に何を指しているのかは、実は状況によって異なります。
でも、広い意味で共通している部分はあります。
不良セクタとは、正常にデータを読み出せないセクタのことです。

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

以下、様々な状況下における不良セクタについて述べますが、
セクタのデータを正しく読み出せない点では、すべて共通しています。

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

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

CHKDSK - 不良セクタ

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

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

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

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

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

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

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

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

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

この不良セクタは、ハードディスクの動作を司るファームウェアによって管理されています。
ファームウェアで管理している情報をユーザーが知るには、SMART情報を見ればいいです。
「SMART」とは、ハードディスクの自己診断機能のことです。
ハードディスク内部の状態を知るには、このSMART情報を見るのが一番手っとり早いです。
SMART情報の確認方法については、下記ページにまとめてあります。

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

不良セクタ - CrystalDiskInfo

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

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

物理的な不良セクタ

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

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

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