Pc Repair

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

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

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

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

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

ファイルまたはディレクトリが壊れているという表示ではあるものの、保存してあるデータ(ファイルやフォルダ)はほとんど無事というのが実際のところです。むしろ、データが全滅しているケースは特殊といいましょうかごく稀です。データそのものが壊れているのではなく、データにアクセスするための仕組みにエラーが起きてドライブが開けなくなっています。

ちなみに、このデータにアクセスするための仕組みのことをファイルシステムと言います。ファイルシステムとは、そのドライブに「どのようなファイルやフォルダが保存されている」というリストや台帳のような情報です。データが無事に残っていても、ファイルシステムにトラブルが起きてしまうとどのようなデータが保存されていたかが不明になり、アクセスできなくなってしまいます。

もし保存してあるデータが重要な場合は、Windows PowerShell やコマンドプロンプトからファイルシステムを修復して、再びドライブが開けるように直していきます。また、データが不要でドライブを使えるようにしたい場合は、フォーマットすることで再び使えるようになります。

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

  1. ファイルシステムとはなんでしょうか?!
  2. なぜ「ファイルまたはディレクトリが壊れているため」エラーが起こるの?
  3. 修復を試すときの注意点
  4. ファイルまたはディレクトリが壊れているため、読み取ることができません。の修復方法
  5. 万が一、復旧できないときは…

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

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

仮にファイルシステムという仕組みがなければ、都度そのドライブ内を解析しないとどんなデータが保存されているのか把握できません。解析したなら 500GB で 3時間とかかかります。予めデータのリストを作っておくファイルシステムと比較すると、効率が悪くなります。

ちなみに、ドライブ内に保存されているデータには、ファイルシステムと重複してファイル名やどのフォルダに保存されているといった情報がありません。あくまでも「どのようなファイルやフォルダが保存されている」といったデータの情報はファイルシステムでしか持ちません。

まとめをイメージする画像

万が一、ファイルシステムにトラブルが起きてしまうと、保存してあるデータがたくさん残っていてもそのドライブが開けなくなります。これが「ファイルまたはディレクトリが壊れているため、読み取ることができません」エラーです。そしてファイルシステムを直すコマンドが Windows に搭載されており、このトラブルが起きたときは Windows PowerShell やコマンドプロンプトといった画面から修復を試します。

なお、ファイルシステムでしか「どのようなファイルやフォルダが保存されている」といった情報を持たないというのが肝でして、トラブルの影響でファイルシステムから無くなってしまったデータは存在しなくなってしまいます。保存してあるデータはほとんど無事ではあるものの、ファイルシステムの状態が良ければ修復の結果も良いですし、状態が悪ければ結果も悪いものになってしまいます。これはリストでデータを管理する仕組みの弊害と言えるかもしれません。

なぜ「ファイルまたはディレクトリが壊れているため」エラーが起こるの?

ファイルシステムはクリックできるようなデータとして存在しません。そのため、外付けハードディスク内を探してみてもファイルシステムは見つかりませんし、トラブルに備えてバックアップしておくこともできません。ファイルシステムは、この画像のようにドライブ内に電気信号の形で記録されています。

NTFSファイルシステムはテキストなどのデータで保存されているのではなく、このようにドライブ内に直接書き込まれています。

ユーザーがコピーしたり削除するようなコントールできるものではないため、ほとんどの「ファイルまたはディレクトリが壊れているため、読み取ることができません。」エラーは PC の誤作動など勝手に発生してしまうものです。ただ以下のような「トラブルの起きた理由がある」ケースもあり、ここは注意したいところです。

1. 安全な取り外しをしていない

USB 機器を取り外す時に「安全な取り外し」という機能があります。この機能を使わないで引っこ抜いても、ドライブ内の情報を読み込み中でしたらエラーにはなりません。しかし、ドライブへ書き込み中にひっこ抜いてしまうと情報が中途半端になりこれは間違いなくエラーになります。パソコンの画面はコピーが完了していても、USBのほうはしばらくチカチカとランプが点滅し、書き込み中の場合があります。このようなタイムラグは気付くのが難しく、USB 機器を取り外す時は「安全な取り外し」を利用したほうが間違いありません。

2. データ容量がいっぱい

外付けハードディスクやデジタルカメラ( SD カード・ CF )、USB メモリに限らず、パソコンでもトラブルの起こる要因として「ディスクの容量いっぱいまでデータを保存する」があります。目安としては、データ容量が 80% を超えるとトラブルが起きる可能性が出てきます。

3. ドライブの部品故障

ハードディスクやメモリの故障というケースもあります。徐々に弱ってエラーになるケースもあります。数週間前からレスポンスが悪かったり、データを開こうとしてエラーになったという前兆がある場合は故障している可能性もあります。異常かなと思ったときは特に注意してデータをバックアップしておきたいところです。

修復を試すときの注意点

「ファイルまたはディレクトリが壊れているため、読み取ることができません。」エラーの原因のひとつにドライブの部品故障があります。部品故障がある場合は、修復を試すことでさらに状態が悪くなってしまうこともあります。そこで状態を悪化させないためにも、修復を試すときはハードディスクの検査を先に行います。

ちなみに、ハードディスクの検査は SMART 情報を確認します。SMART とは Self-Monitoring Analysis and Reporting Technology の省略で自己診断機能です。トラブルがあれば記録されますので、トラブルがないことをこの記録で確認します。なお、この画像のように「正常」と出ていればトラブルがない状態です。また「異常」、「注意」と表示される場合は故障と判断してください。詳細は 不良セクタとは? その注意点も も読んでください。

smart情報ハードディスクのみ検査できます。

なお、USBメモリや SDカードはこのような健康状態の記録がされないため、LED など目視で状態を確認することになります。たとえば、パソコンへ接続した際に USB メモリに内蔵されている LED がピカピカと点滅しますが、この点滅速度を確認します。異常に遅い点滅をする場合はかなり弱っており、完全に故障するのは時間の問題です。

このコラムで紹介している方法はパソコン初心者でも安全に作業できるものです。具体的には「 chkdsk 」コマンドを使い修復を試します。ただこのコマンドで必ず解決できるわけではありません。もし解決できない場合に、うかつに Testdisk などのメンテナンスソフトを使うと、直すつもりでむしろ潰してしまう可能性がありここは注意点です(上級者向けでして知識があれば問題ありません)。

「 chkdsk 」コマンドの注意点としましては、作業途中で強制終了をかけてしまうと修正中のファイルが壊れた状態で保存されるなど悪化させてしまう恐れがあります。1時間程度かかる時もありますので焦らず慎重に作業してください。

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

ファイルまたはディレクトリが壊れているため、読み取ることができませんエラーでドライブが開けなくなっても、保存してあるデータはドライブ内に残っていてほとんど無事です。トラブルを直せば再びデータにアクセスできます。

そしてこのエラーの解決方法としては、Windows PowerShell 又はコマンドプロンプトの「 chkdsk 」コマンドを使い修復を試します。通常は 10 行程度のメッセージが表示され、すんなりと完了します。ただし、ファイルシステムの状況が悪い場合は、メッセージが数 10 行以上に渡り表示され修復できない場合もあります。保存してあるデータはほとんど無事ではあるものの、ファイルシステムの状態が悪ければ結果も悪いものになってしまいます。

1. 事前準備

マイコンピュータから復旧を試みるドライブレターを確認してください(たとえばF:ドライブなど)。ここでの作業では復旧するドライブをたとえで「 F: 」としています。

2. Windows PowerShell を呼び出す

Windows10 と Windows8.1 はキーボードの「Windows」ボタンと「 x(エックス)」ボタンを同時に押します。するとメニューが表示されますので「 Windows PowerShell (管理者)(A)」をクリックします。

「Windows」ボタンと「 x(エックス)」ボタンを同時に押した画面Windows10 と Windows8.1 です。

Windows7 は Windows のスタートボタンをクリックし、「プログラムとファイルの検索」に「 cmd 」と入力します。「プログラム(1)」にある「 cmd 」をクリックします。

「プログラムとファイルの検索」に「 cmd 」と入力した画面Windows7 です。

3. 復旧を試す

Windows PowerShell (又は cmd.exe)画面が表示されたら、「 chkdsk f: /f 」と入力し、キーボードの「 Enter 」キーを押します。なお、ここでの作業では復旧対象のドライブをたとえで「 F: 」としています。

Windows PowerShellとcmd.exeの入力例Windows PowerShell 画面と cmd.exe 画面の入力例です。

Windows10 と Windows8.1 は「PS C:\WINDOWS\…」が表示されたら、Windows7 は「C:\Users\…」が表示されたら作業が完了です。「EXIT」と入力し、キーボードの「 Enter 」キーを押します。通常は、10 行程度のメッセージが表示され、ほぼ復活できているはずです。ただし、深刻な状況の場合は、メッセージが数 10 行以上に渡り表示され、復旧できない可能性もあります(コマンドでは直すことのできないボロボロの状態だったということがわかります)。

Windows PowerShell 画面の例この画像は Windows PowerShell の標準的なメッセージ例でして、これ以上たくさんのメッセージが表示される場合はボロボロの状態です。
cmd.exe 画面の例この画像は cmd.exe の標準的なメッセージ例です。

しばらく待ってから、このエラーの起きたドライブを開いて確認してみてください。念のため、お早めのバックアップをおすすめします。