ファイルを削除できない

壊れているというより、不整合

エクスプローラ等から一般的な削除の操作をしても、
エラーが出るだけで一向に削除できないファイルができてしまうことがあります。

ちなみに、他のプログラムがそのファイルを使用中であるがために削除できない、というのとは違います。
ファイルを使用しているプログラムを終了しようが、再起動しようが、削除できないファイルについてです。

具体的には、以下のようなエラーメッセージが出てきます。

ファイルまたはディレクトリが壊れているため、読み取ることができません。

これら削除できないファイルは、よく見るとちょっと前に削除したはずのファイルだったり、
移動したはずのファイルだったりします。
そんなファイルが復活してて、しかも削除できません。
タチが悪いようですが、実は非常にありがたいことだったりします。

ファイルが壊れてしまっているために削除できないということので、
その原因さえ取り除けば、削除できないわけではありません。

ファイルを削除できなくなる原因

ファイルを削除できないのは、削除対象のファイルがないからです。
ないものを削除することはできません。

そもそもファイルというのは、プログラムにとって意味を持つデータのかたまりです。
ここで、ファイルが外部記憶装置に対して、たとえばハードディスク内にどのように記録されているかが重要です。
Windows上では、ファイルはひとつのデータのかたまりのように見えますが、
実際にハードディスクの中でも、ひとつのデータのかたまりとして存在しているわけではありません

ハードディスクはフォーマットされて初めて、ファイルの読み書きが行われるようになります。
ファイルがハードディスクに書き込まれると、ハードディスクの空き領域にデータが書き込まれ、
またハードディスク内のどの場所にデータを書き込んだかを、ファイルシステムの管理情報に記録します。
このとき、ファイルのデータがハードディスク内に点在する空き領域に分割して保存されることもあり、
その場合は、どこに分割して保存してあるかを管理情報に記録します。
※余談ですが、このひとつのデータが分割して保存された状態を、連続した領域に保存し直す作業を、「デフラグ」と呼びます。
これら一連の動作は、フォーマット時に指定したファイルシステムによって、自動的に行われます。

そこで、ハードディスクに対して不安定な作業が連続して行われたりすると、
まれに管理情報が破損してしまうことがあります。

ただし、NTFSでは、管理情報の根幹であるMFTのミラーが保存されています。
そのおかげで、MFTが壊れてしまった場合には、
MFTのミラーを用いて、ハードディスク内のデータを認識しようと試みることができます。

しかしその場合、良くも悪くも、MFTは破損前の状態に戻ってしまうことになります。
結果として、MFTではファイルが存在していることになっていても、
ファイル実体としてのデータ領域が存在しない、という矛盾が発生する可能性が出てくる

というか、ほぼ確実にそういう状態になってしまうのです。

目次には書いてあるけど、該当するページ番号の内容とは食い違っている状態ですね。
それでも、目次が丸ごと壊れてしまうよりはマシだろう、ということです。
目次が読めないと、アクセスできなくなってしまいますので。

つまり、管理情報の破損が起きると、冒頭の「ないものを削除する」という現象が必然的に発生するので、
ファイルを削除することもできなくなってしまう、というわけです。

削除できなくなったファイルを削除する

上述のとおり、ファイルを削除できない原因は管理情報の破損(というか不整合)にあるので、
対処法としては、管理情報を修復すればいいことになります。
そうすれば、削除できないファイルは消えてなくなるか、もしくは残ったとしても削除可能になります。

Windowsは、それ自身で管理情報を修復するプログラムを持っています。
「chkdsk」です。
詳細は以下にて。

「chkdsk」と修復オプション

「chkdsk」で管理情報を修復し、ファイルシステムとして健全な状態を確保することができれば、
通常通り、ファイルを操作することができるはずです。
目次と内容が一致していれば、何の問題もありません。

ちなみに、管理情報の破損はファイルシステムの破損を意味しますが、
「ファイルシステムの破損」=「ハードディスクの故障」ではありません

そのハードディスクを使うためにフォーマットしているファイルシステムが壊れているということで、
あくまでもソフトウェア的なものです。
しかも、ファイルシステムが壊れているとはいっても、そのパーティションにアクセスできているということは、
致命的な破損レベルではないということでもあります。

ただし、ハードディスクのセクタエラーが原因でファイルシステムが壊れることもあるので、
決して安心できる状態ではありませんが。