WindowsXPでのチェックディスクの罠
微妙にid:momdo:20070610の続き。WinXpにおいて、cmd.exeからのchkdskでCドライブを検査するとエラーを吐く、つまり以下のような場合でのメッセージのお話。
C:\>chkdsk ファイル システムの種類は NTFS です。 ボリューム ラベルは WinXp です。 警告: /F パラメータが指定されていません CHKDSK を読み取り専用モードで実行します。 CHKDSK はファイルを検査しています (ステージ 1/3)... ファイルの検査を完了しました。 CHKDSK はインデックスを検査しています (ステージ 2/3)... インデックスの検査を完了しました。 CHKDSK はセキュリティ記述子を検査しています (ステージ 3/3)... セキュリティ記述子の検査を完了しました。 CHKDSK は Usn ジャーナルを確認しています... Usn ジャーナルの確認を完了しました。 CHKDSK はボリューム ビットマップに割り当て済みとしてマークされている空き領域を検 出しました。 ファイル システムに問題が見つかりました。 CHKDSK を /F オプションを使って実行して、問題を修正してください。
で、MSのナレッジベース曰く
ボリューム ビットマップとはディスク ボリューム上のクラスタの使用状況を記録する、"$bitmap" というシステム ファイルです。 アプリケーションの追加などにより新たなクラスタを割り当てた場合、またはファイルの削除によってクラスタを開放した場合、記録したボリューム ビットマップの状態と検査を行った時点でのボリューム ビットマップの状態を比べ、状態に差異が生じるとエラーを表示します。ディスク アクセスを完全に停止させることができない読み取り専用モードで chkdsk を行った場合には、修正は行われないため、chkdsk を行う度にエラーが表示されます。
とのこと。要するに、Cドライブ(システムディスク)は読み取り専用モードでしかチェックできないから、環境によっては必ずビットマップのエラーを吐き、異常でなくても異常と報告する仕様と。
そりゃ何回やってもエラーが出るわけね。。。orz