| コマンド プロンプトのCHKDSKって何やってんだ? |
■CHKDSKコマンドを使った表示で
CHKDSK はファイルを検査しています (ステージ 1/3)...
CHKDSK はインデックスを検査しています (ステージ 2/3)...
CHKDSK はセキュリティ記述子を検査しています (ステージ 3/3)...
117234305 KB : 全ディスク領域
31729400 KB : 26795 個のファイル
8572 KB : 2533 個のインデックス
8 KB : 不良セクタ
99537 KB : システムで使用中
65536 KB : ログ ファイルが使用
85396788 KB : 使用可能領域・・・・
とか出ますよね。
なんとなく解るような記述もありますけど
さて、本当のところはとか思いませんか?
知っておくとハードディスクの状態が理解できるようになります。
一般にチェックディスクがフェーズ1〜5までの検証が行われます
そのうち一般テスト(chkdsk)では1〜3がFATに対するchkdskコマンド。
NTFSの場合でchkdskオプションスイッチFおよびRを実行した場合は、5ステージまでの詳細スキャンが行われます。
Chkdsk (Chkdsk.exe) は、ハード ディスク ドライブのボリュームに問題がないかどうかを調べるコマンド ライン ツールです。
また、このツールは検出した問題箇所の修復も試みます。
たとえば、Chkdsk では、不良セクター、消失したクラスター、クロスリンク ファイル、およびディレクトリ エラーに関連する問題を修復できます。
Chkdsk を使用するには、管理者、または Administrators グループのメンバーとしてログオンする必要があります。
■CHKDSK はファイルを検査しています (ステージ 1/5)...
ファイルを検証します。
主に読み取りが正常に行えるか、正しい容量であるかなどをチェックしますが、内部状態までは詳しくチェックしません。
■CHKDSK はインデックスを検査しています (ステージ 2/5)...
MFT(マスターファイルテーブル)やFAT(ファイルアロケーションテーブル)を確認します。
主に、ファイルとインデックスの整合性があるかどうかをチェックします。
インデックスにないファイルまたはその逆に不要なインデックスが存在した場合は、削除されますので、Chkdsk実行中にそのドライブへの変更はしないでください。
Defragを行う前に行えば余計な動作が減るのでDEFRAG前は、CHKDSKを行ったほうが良いとおもう一つの理由です。
■CHKDSK はセキュリティ記述子を検査しています (ステージ 3/5)...
ここではファイル/フォルダのセキュリティ記述子を確認します。
ここから先はNTFSファイルシステムにおける処理です。
chkdskはUSNジャーナル確認しています。
USNジャーナルはNTFSファイルシステムにおける変更履歴情報です。
これを確認することで、データが正しい状態かどうかを確認します。
■CHKDSK はファイルデータを検証します。(ステージ 4/5)
ここではファイルデータを検証します。
フェーズ1で行うチェックとは異なり、ファイルの詳しい精査を行います。
主に全領域の読み取りと書き込みを確認します。
これで、エラーが発生した場合は、速やかにファイルを別領域に移動し、スキップセクタ(不良セクタ)のマークを行います。
この作業は、恐ろしく時間がかかりますが、エラー検証の信頼度は高くなります。
(ただし、ドライブの破損率が酷い場合は、データ喪失の原因になります)
■CHKDSK は空き領域を確認しています (ステージ 5/5)
上記の処理を空き領域でも行います。
空き領域で読み書きを行い不良セクタ(ビット化けなどを起こす領域)を探します。
おかしな領域があれば、そこへのデータ保存を行わないように不良セクタのマークを行います。
この作業もかなりの時間を要します。
■ログファイル
ボリュームの整合情報を保存しています。
確保領域は通常65536KBです。
通常は無視して構いません。
変更する場合は、CHKDSK /Lスイッチを利用します。
■不良セクタ
これは、スキップセクタが割り振られた、読み取りもしくは書き込みがエラーとなる箇所です。
この場所にデータが万が一入ってしまうと、データが壊れる読み取りが正常にできなくなる恐れがあります。
これが急増するとディスクの破損が疑われます。
■user\folder-a\file_name.jpg のファイル 12340 の不良 クラスタを置き換えました。
12340はディスク上での場所情報を表しています。
ディスクはトラック(線の本数/円盤でいう一周を1トラック)、
シリンダ(円盤が複数枚ある場合の記録箇所/例ディスク裏表ならシリンダが2、それが2枚あれば4となる)
セクタ(データ記録時の最小単位/セクタ容量が256バイトなら例え1バイトのデータでも保存すると256バイトで保存されます)から構成されます。
これらを組み合わせて住所(アドレスが)LBAなどのルールによって決められています。
この情報によってディスク(SSDでは便宜的に利用していますが)の場所を管理しているのです。
(尚、現在最新のパソコンであれば2の48乗/48Bitの英数の場所コードが1セクタ毎に与えられます)
クラスタとは、セクタに替わってWindowsなどのOSが管理するデータ保存の最小単位です。
セクタは本当にバイト単位でデータを管理します。
しかし、それだけの管理を行うと、場所を管理するインデックス(見出し)領域の容量が多くなるだけでなく、アクセスにも途方もない時間がかかるようになります。
しかも、容量が増えればそれだけ、管理するための領域が大きくなりデータを保存できる領域が減少するという欠点があります。
そこで、OS上ではセクタ単位ではなくクラスタ単位でデータを保存します。
そして、ディスクの容量毎にクラスタのサイズを決めているのです。
クラスタはディスクの容量に応じて4KB〜32KB程度が一般的です。
これは、例え1バイトのデータでもディスク上では最小4KB〜32KBは消費するということになります。
クラスタを置き換えたというのは、12340のクラスタ箇所に不具合が見つかったため、そこにあったデータを丸ごと別の場所に移したという意味です。
その結果として、不良セクタに表示される不良セクタが作られたと考えることができます。
また、チェックしたときに、14371や2といった連番や近い値で大量に置き換えが発生した場合は、ディスク故障の危険があります。
該当ディスクの交換を早めに行うとよいです。
|