ファイル システム スキャンは実際に何を行うのでしょうか?

ファイル システム スキャンは実際に何を行うのでしょうか?

ファイルシステムスキャン(例えばチェックまたはスキャン) は本当に機能するのでしょうか? 多くのオプションを備えた完全なアプリケーションがあることは知っていますが、それらのアプリケーションはどのようにして「不良」セクターをスキャンするのでしょうか? スキャン中に何が行われるのでしょうか? 「不良」セクターが見つかったことをどのようにして知るのでしょうか?

答え1

ファイルシステムのチェックは、「不良」セクターのスキャンとは無関係です。ここでの「不良」セクターとは、通常、確実に読み取れない、または確実に書き込めないセクターを意味します。ただし、ファイルシステムのチェックでは、ファイルシステム全体のブロックの読み取り (および場合によっては書き込み) を試行するため、不良セクターに遭遇する可能性は確かにあります。

ファイルシステムチェックが実際に何を行うかは、個々のファイルシステムとファイルシステムチェックユーティリティの実装者次第です。一部のファイルシステム(たとえば、NFSそしてtmpfs) の場合、この概念は意味がありませんが、他の場合には冗長です。これは、ファイルシステムが通常の操作の過程で継続的に自身をチェックするためです。また、他の場合には、ファイルシステムを時々チェックすることが不可欠だからです。

一般的に、ファイルシステム チェック ユーティリティは、ファイルシステムのデータ構造の破損、不整合、不変条件の違反をチェックするように設計されています。それ以上の詳細が必要な場合は、特定の種類のファイルシステムについて問い合わせる必要があります。

答え2

CHKDSK は舞台裏で多くの処理を実行します。それらは CHKDSK のさまざまなフェーズで表されます。

NTFS には、MFT (マスター ファイル テーブル) と呼ばれるものがあります。この MFT は、ハード ドライブ上のすべてのファイルのリストです。ファイルの一貫性をチェックするために、CHKDSK は MFT エントリを 1 つずつ読み取り、次に HDD 内の対応するファイルを検索します。

たとえば、CHKDSK は MFT で MyPhoto1.jpg を見つけます。MFT によると、このファイルはセクター 230 にあり、長さは 30 セクターです。次に、CHKDSK はセクター 230 から 260 までを読み取り、実際にデータが格納されており、1 つのファイルであることを確認します。CHKDSK は、このようにしてファイル システムの一貫性をチェックします。ファイルの不一致は必ずしも不良セクターを意味するわけではなく、HDD への書き込み中にコンピューターの電源がオフになったことを意味する場合もあります。

/r フラグ (回復) を使用すると、CHKDSK はファイルの不整合をチェックし、修復を試みます。このフラグがない場合、chkdsk は「ドライ ラン」を実行します。

/f フラグ (修正) を使用すると、CHKDSK は不良セクターの修復を試みます。つまり、不良セクターのデータを回復し、そのセクターに再度書き込みを試みます。CHKDSK が問題のセクターに書き込んだ内容を読み取ると、そのセクターを修復済みとしてマークできます。

関連情報