「ファイルまたはディレクトリが壊れているため、読み取ることができません」エラーの原因と対処法

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

どうやって「ファイルまたはディレクトリが壊れている」のでしょうか?

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

USBハードディスク、メモリ、SD カードといったメディアを開こうとしたときに、突然「ファイルまたはディレクトリが壊れているため、読み取ることができません。」エラーが発生し、開けません… 本当にファイルが壊れてしまったのでしょうか。USBハードディスクの中では、何が起きているのでしょうか?

このエラーは壊れたファイルがあると発生するという保護機能ではありません。たとえば、壊れたファイルの状態を悪化させないためにドライブをロックするような機能ではないのです。実際は、ファイルシステムが壊れてしまったときに発生します。

ファイルシステムは台帳のような役割をします。このような役割があるのでドライブを解析しなくても、接続するだけで空き容量などを瞬時に把握できます。またドライブを解析しなくても、クリックひとつでフォルダを開いていくことができます。

そしてファイルシステムが壊れてしまうと、ドライブの中にどのようなデータがどのようなフォルダに保存されているかといった情報が読み取れなくなり、そのドライブを開くことができなくなります。USBハードディスクの中では、実際に「ファイルまたはディレクトリが壊れた」のではなく、台帳が壊れたので読み取ることができませんというエラーなのです。

それでは以下の構成で「ファイルまたはディレクトリが壊れているため、読み取ることができません。」エラーの原因と注意点、その対処法についてレポートします。

  1. フォーマットされていません エラーを軽くした感じと聞きました???
  2. ファイルシステム(台帳)とはなんでしょうか?!
  3. 修復を試すときの注意点
  4. ファイルまたはディレクトリが壊れているため、読み取ることができません の修復方法
  5. 万が一、復旧できないときは…

「フォーマットされていません」エラーを軽くした感じと聞きました???

同じようなトラブルで「ディスクはフォーマットされていません」エラーがあります。こちらもUSBハードディスク、メモリ、SD カードといったメディアを開こうとしたときに、同じような感じでエラーメッセージが表示されます。さらにそのドライブを開くことができないというのも同じです。そして質問のとおり「ファイルまたはディレクトリが壊れているため、読み取ることができません。」は「ディスクはフォーマットされていません」エラーを軽くした感じといっても過言ではありません。

それは「ディスクはフォーマットされていません」エラーは、ファイルシステムの根底であるフォーマットが不明になっているという深い部分でのトラブルですが、しかし「ファイルまたはディレクトリが壊れているため、読み取ることができません。」エラーはフォーマットを認識していて一歩も二歩も浅い部分にあるためです。さらにトラブルの修復を試すことができます。

ただし絶対に直せるというわけではありません。修復を行った際に「フォルダ名やファイル名が文字化けしている」、「復活されずに消えたデータがある」など不具合があることも。これはファイルシステムの壊れ具合によって、復活の可否が変わるためです。ファイルシステムの状態が良ければ結果も良いですし、状態が悪ければ結果も悪いものになってしまいます。

ファイルシステム(台帳)とはなんでしょうか?!

ファイルシステムはファイルを管理する仕組みです。フォルダを開くと瞬時に中のファイルやフォルダが表示されます。これはこのファイルシステムという本で例えるなら目次のような、また在庫管理でいえば台帳のような仕組みがあるからです。

仮にファイルシステムという仕組みがなければ、都度ハードディスクを解析しないと保存されているファイルを把握できません。解析には 500GB で 3時間とかかかります。そして都度解析して何がどこにあると調べるのではなく、何がどこにあるという台帳をもっています。そのため、クリックすれば瞬時にそのフォルダ内が表示されます。

ちなみに保存されているファイルには、ファイル名やどのフォルダに保存されているといった情報はありません。これらファイルを管理する情報はファイルシステムでしか持ちません。つまり実際にはファイルが「ある」としても、ファイルシステムにないものは「ない」になります。そして修復を試した時にファイルシステムの状態が良ければ結果も良いですし、状態が悪ければ結果も悪いものになってしまいます。

なお、実際のファイルはこの画像のように記録されています。これらのファイルを完全に消すとすれば「00(ゼロ)」などで上書きするしかありません。そのような特殊なフォーマットをかけない限り、ファイルの実態は残っていますし、また壊れることもありません。

バイナリ

修復を試すときの注意点

「ファイルまたはディレクトリが壊れているため、読み取ることができません。」エラーは、どのようなファイルがどのフォルダに保存されているかという台帳が壊れてしまったトラブルです。そして台帳が壊れてしまった原因としては、「台帳の書き込み中にトラブルが起き、不整合が起きている」といった論理障害又はハードディスク(やメモリ)の故障もあります。

そこでハードディスクが壊れている場合は直すつもりが悪化させてしまう恐れもあるためまずは検査します。*USB メモリや SD カードといったメモリ系部品は仕組みがないため検査できません。

ハードディスクには S.M.A.R.T( Self-Monitoring Analysis and Reporting Technology )という自己診断機能があります。もし故障があれば記録されます。フリーソフトで簡単に情報を取得でき、ここではフリーソフトの「 CrystalDiskInfo 」を使用しています。いつものようにパソコンへ外付けハードディスクを接続した状態で検査します。

CrystalDiskInfo を起動します。左のドライブはお使いのパソコンの内臓ドライブ(Cドライブ)です。右のドライブが接続した外付けハードディスクです。健康状態が「正常」であれば修復を試せます。また画像のように「注意」や「異常」とある場合は故障です。その他、詳細は 不良セクタとは? その注意点も も読んでください。

「CrystalDiskInfo」画面

なお、ハードディスクや USB メモリ、SD カードが正常であっても、ファイルシステムの壊れ具合によっては修復に失敗することもあります。そして「修復することができませんでした」といったメッセージが表示される場合は悪化させることがないのですが、なかなか作業が終わらないので強制終了をかけてしまうと、修正中のファイルが壊れた状態で保存されるなど悪化させてしまう恐れもあります。1時間程度かかる時もありますので焦らず慎重に作業してください。

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

DOS 画面を呼び出し、「 chkdsk 」コマンドで修復を試します。台帳の壊れ具合が軽度であれば、10 行程度のメッセージが表示され、すんなりと完了します。状況が悪い場合は、メッセージが数 10 行以上に渡り表示されます。

1. 事前準備

マイコンピュータから修復を試みるドライブレターを確認してください(たとえばF:ドライブなど)。

なお、ここでの作業では修復するドライブをたとえで「 F: 」としています。

2. DOS画面を呼び出す

Windows のスタートボタンをクリックし、「プログラムとファイルの検索」に「 cmd 」と入力します。一覧にある「 cmd.exe 」をクリックして、DOS画面を呼び出します。

プログラムとファイルの検索

3. 修復を試す

DOS画面が表示されたら、「 chkdsk f: /f 」と入力し、キーボードの「 Enter 」キーを押します。なお、ここでの作業では修復するドライブをたとえで「 F: 」としています。

chkdskを実行している場面

「C:\Users\…」この画面が表示されたら、修復作業が完了です。「EXIT」と入力し、キーボードの「 Enter 」キーを押します。台帳の壊れ具合が軽度であれば、10 行程度のメッセージが表示され、この画面になります。ほぼ復活できているはずです。また状況が悪い場合は、メッセージが数 10 行以上に渡り表示されます。台帳の状態が悪ければ、復活できる成績も悪くなります。

chkdsk終了

DOS画面が閉じたら、そのドライブを開いて確認してください。