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

ファイルが壊れているとはどういうことか

場所が利用できません F:\ にアクセスできません。ファイルまたはディレクトリが壊れているため、読み取ることができません。

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

このような表示が出て、特定のファイルやフォルダ、最悪ドライブ全体にアクセスできなくなることがあります。
一旦このエラーが出ると、操作をやり直そうが再起動しようが、通常のファイル操作を行うことはできないので、
何らかの対処を行う必要があります。

ただし、「ファイルまたはディレクトリが壊れている」というエラーが表示される場合には、
必要なデータのバックアップを最優先すべきです。
その後、エラーの修復作業にあたったほうがいいです。

なんというか、

  • 当該ドライブを使える状態にする
  • ファイルを復元する

これらは完全に別の作業です。

現在異常のあるドライブを使えるようにするためには、データを一部上書きしなければなりません
その過程で、ユーザーにとって必要なデータが上書きされることがあります。
結果的に、復元できたはずのファイルが復元できなくなることがあります。

また、状態の悪いハードディスクでは、作業負荷によってとどめを刺してしまうことがあります。
ハードディスクのデータを変更する前に、最低限必要なものは退避させておいてください。

「ファイルまたはディレクトリが壊れている」とは、どういうことか

ところで、「ファイルまたはディレクトリが壊れている」とはどういう状態か、
いまいちはっきりしません。
イメージ的には、ファイルが保存されているデータ領域の一部が欠損してしまっているように思えます。

でも、ここで注意しなければならないのは、
このエラー表示は、Windowsによって行われている点です。
あくまでも「ファイルまたはディレクトリが壊れている」という、Windowsのエラーです。

ファイルを使用するアプリケーションにとって正しいデータであるかどうかは、関係ありません
実際、「ファイルまたはディレクトリが壊れている」状態から復旧したデータが、
すべて壊れているわけではありません。
Windowsが認識できるファイルという形になっていないことを示すエラーであり、
データが完全な状態で残っているかどうかとは別の問題
なのです。

どーでもいーはなし

「ディレクトリ」という単語を聞いたことがない人もいるかもしれません。

「ディレクトリ」とは、Windowsでいう「フォルダ」のことです。
視覚的にもわかりやすいので、Windowsではディレクトリのことをフォルダと呼んでいます。

修復すべき対象、つまり原因

幸か不幸か、「ファイルまたはディレクトリが壊れている」というエラーの場合は、
原因が比較的はっきりしています

ファイルシステムの管理情報の破損です。

NTFSの場合は、MFT
FAT32の場合は、FAT
それ以外の要素があまり考えられません。
早い話が、そのドライブのファイルシステムに異常があるのです。
それも、ファイルシステムを認識できないわけではなく、その先の問題で、
何のファイルシステムか認識はしているけど、対象のファイルまでアクセスできない状態。

管理情報の破損箇所によって、どの場所にアクセスできないのかが変わってきます。
管理情報が破損してしまうそもそもの原因は、後述する不良セクタの発生だったりしますが、
不良セクタの有無に関わらず、管理情報が破損した時点で、
「ファイルまたはディレクトリが壊れている」ことになります。

このような場合、ファイルシステムを修復する必要があります。
できるだけ元のファイルに影響を与えないように、でも正常なファイル操作が行えるように、
ファイルシステムの管理情報を修正します。
フォーマットするわけではないので、ほとんどのデータは保持されます。

でも、データの保持とデータの修正は、矛盾する行為です。
修復作業の結果、正常なファイル操作が行えるようになったとしても、
従来あったすべてのファイルが存在しているとは限りません
むしろ、問題のあったファイルは消えることがあります。

バックアップでもとっていない限り、データを完全に元に戻すという意味での復旧は不可能です。
ファイルの重要度が高い場合には、
これ以上データを失うことがないように、事前にバックアップを取ってください

不良セクタの確認

「ファイルまたはディレクトリが壊れている」との表示がある場合、
中途半端に操作できることも多いので、そのまま操作を続けてしまいがちですが、
事前に確認しておいたほうがいいことがあります。
不良セクタについてです。

不良セクタは、ファイルシステムに問題が発生する直接の原因になりやすいです。
すべての原因が不良セクタにあるわけではありませんが、
不良セクタが発生すると、ファイルシステムにも影響を与えます

CrystalDiskInfo

不良セクタの有無を調べるには、
「CrystalDiskInfo」等のSMART情報を確認できるソフトウェアを使います。
詳細は下記ページにて。

「CrystalDiskInfo」の見方

不良セクタが不具合の原因と考えられる場合は、
ハードディスクの継続使用を避けるべき
です。
これは、復旧作業に関しても、です。

不良セクタが発生すると、ハードディスクに正常な読み書きができなくなります。
不良セクタが明らかに多い場合は、ハードディスクのヘッドに問題がある可能性が高いです。
その状態で作業を続けると、今まで読めていたデータまで読めなくなることがあります。

一方、不良セクタに問題がないと考えられる場合は、
ファイルの復元、ファイルシステムの修復ともに、成功する可能性が高いです。

ファイルを復元する

ファイルシステムの管理情報が破損している状態では、通常のファイル操作は不可能です。
通常のファイル操作を行えない原因は、
今現在異常のあるファイルシステムの管理情報を見に行くから
です。
異常のあるファイルシステムを前提にするから、異常な挙動しかできなくなるのです。
そこで、管理情報を無視してデータを見に行く必要が生じます。

ファイナルデータ

管理情報を無視してファイルを抽出するには、高機能なファイル復元ソフトが必要です。
たとえば、「ファイナルデータ」でそれができます。

ダウンロードページ ファイナルデータ
当サイト内解説 「ファイナルデータ」の使い方

ファイルシステムの管理情報が破損していても、
ファイルの保存場所によっては、Windows上から通常のファイル操作が可能です。
そうした場合は、エクスプローラを使ってバックアップ用のデバイスにファイルを退避させてもいいです。

必要なデータのバックアップを取った後、最終的にファイルシステムの修復を行うようにします。
さもないと、上書きされたデータの復旧は不可能だからです。

データ復旧業者に依頼する

不良セクタが多数存在するなど、ハードディスク自体に問題があると考えられる場合は、
ハードディスクができるだけ正常動作できるようにした後、データを取り出す必要があります。
これには、ハードディスクの分解や、部品の交換等の作業が必要なので、
「デジタルデータリカバリー」さんのような、データ復旧業者に依頼することになります。

デジタルデータリカバリー

対象のドライブを使えるようにする

現状、ファイルシステムの管理情報が破損しているので、
管理情報を修復できれば、ファイルにアクセスできるようになります。

ファイルシステムの管理情報は、通常、Windowsによって管理されているものです。
従って、管理情報を修復するツールも、Windowsに用意されています

ただし、これらの操作をしてもいいのは、
ハードディスクの状態が継続使用に耐えうる場合のみです。

ドライブの「エラーチェック」による修復

ツール - ドライブのプロパティ

  1. ドライブの右クリックメニューから「プロパティ」を選択
  2. 「ツール」タブの「チェックする」を選択
  3. 修復オプションを指定してから「開始」を選択

とすることで、選択したディスクをチェックすることができます。

チェックディスクのオプション - ディスクのチェック

「ファイルまたはディレクトリが壊れている」のなら、ファイルシステムの破損は明らかなので、
少なくとも「ファイルシステムエラーを自動的に修復する」にチェックを入れて、
「開始」を選択
する必要があります。

冒頭にも書きましたが、ファイルシステムの修復はリスクを伴います。
でも、ファイルシステムを修復するためには、必要な作業です。

ちなみに、「不良セクタをスキャンし、回復する」は、必須ではありません
非常に時間がかかりますし、記憶装置に対する負荷も高くなります。
特に、動作不安定なハードディスクでは、不良セクタのスキャンは後回しにしたほうがいいです。

チェックディスク - Windows 8

なお、「Windows 8」以降ではチェックディスクの仕様が変わり、動作設定ができなくなりました
つまり、オプションの指定ができません。
ドライブにエラーが検出された場合は、自動的に修復作業が実行されます。
ただし、良くも悪くも何をやっているのかがわかりません。
個人的には、後述する「chkdsk」による修復をおすすめします。

次回コンピューター起動時にハードディスクのエラーを検査しますか?

修復オプションを実行するためには、ドライブをマウント解除しなければなりません。
システムドライブを修復する際は、一旦Windowsを終了する必要があります
画面上の操作としては、再起動時に「chkdsk」の実行を予約することになります。
確認画面が出てくるので、「はい」を選択して再起動します。

「chkdsk」による修復

理想的には、コマンドプロンプトから「chkdsk」を実行したほうがいいです。
修復オプションの選択肢が多く、また修復の過程を確認でき、
さらに不良セクタを含めたファイルシステムの現状を確認できるからです。
エラー表示に現れることがある「CHKDSKユーティリティ」というのも、これを意味します。

まず、コマンドプロンプト(Windows PowerShell)を管理者として実行します。

chkdsk c: /f

chkdsk (対象のドライブ) /f

「chkdsk」によるファイルシステムの修復を行う場合は、
上の画像のようにドライブレターとあわせて「/f」と修復オプションを入力し、「Enter」キーを押します。

「chkdsk」の修復オプションには、様々なものがあります。
詳細は、下記ページ参照。

修復オプション - 「chkdsk」と修復オプション

再起動時に、このボリュームのチェックをスケジュールしますか?

ドライブのエラーチェックと同様、対象がシステムドライブの場合は、
再起動時に「chkdsk」を実行することになります。

「chkdsk」の実行には時間がかかる場合がありますが、完了するまでひたすら待ってあげてください。
修復作業が完了すれば、普通にファイル操作ができるようになります。