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

Windows11 コンピュータ
Windows11
毎日使っている作業用フォルダがエクスプローラーから開かなくなりました。試しにPowerShellを立ち上げてdirコマンドでそのフォルダ下のファイルの一覧を取得してみたところ、「ファイルまたはディレクトリが壊れているため、読み取ることができません。」とのメッセージが表示されました。

まず、エクスプローラー⇒ドライブのプロパティ⇒ディスクチェックを実行したところエラーが見つかりませんでした。
次にPowerShellを管理者モードで起動しchkdsk ドライブ名: /fを実行してみました。

PS C:\WINDOWS\system32> chkdsk D: /f
ファイル システムの種類は NTFS です。

ボリュームが別のプロセスによって使用されているため、Chkdsk
を実行できません。Chkdsk を実行するにはこのボリュームのマウントを解除する必要
があります。
そのときは、このボリュームへのすべての開かれたハンドルは無効になります。
このボリュームを強制的にマウントを解除しますか? (Y/N) Y
ボリュームのマウントは解除されました。このボリュームへ開かれたすべてのハンドルは、現在無効です。
ボリューム ラベルは WORKSPACE です。

ステージ 1: 基本のファイル システム構造を検査しています ...
壊れた属性レコード (0x80、"") を
ファイル レコード セグメント 0x3304C から削除します。
壊れた属性レコード (0x80、"") を
ファイル レコード セグメント 0x33051 から削除します。
壊れた属性レコード (0x80、"") を
ファイル レコード セグメント 0x33053 から削除します。
壊れた属性レコード (0x80、"") を
ファイル レコード セグメント 0x33056 から削除します。
壊れた属性レコード (0x80、"") を
ファイル レコード セグメント 0x33058 から削除します。
壊れた属性レコード (0x80、"") を
ファイル レコード セグメント 0x33059 から削除します。
壊れた属性レコード (0x80、"") を
ファイル レコード セグメント 0x3306B から削除します。
壊れた属性レコード (0xA0、$I30) を
ファイル レコード セグメント 0x334DD から削除します。
壊れた属性レコード (0x80、"") を
ファイル レコード セグメント 0x33597 から削除します。
壊れた属性レコード (0x80、"") を
ファイル レコード セグメント 0x33790 から削除します。
  1054976 個のファイル レコードが処理されました。
ファイルの検査を完了しました。
 フェーズの継続時間 (ファイル レコードの検査): 2.52 秒。
  628 個の大きなファイル レコードが処理されました。
 フェーズの継続時間 (孤立ファイル レコードの回復): 0.44 ミリ秒。
  0 個の問題のあるファイル レコードが処理されました。
 フェーズの継続時間 (不良ファイル レコードの検査): 0.48 ミリ秒。

ステージ 2: ファイル名リンケージを検査しています ...
  10227 個の再解析レコードが処理されました。
ファイル 334DD の壊れたインデックス $I30 を削除します。
削除されたインデックス $I30 をファイル 334DD に再作成しています。
  1079252 個のインデックス エントリが処理されました。
インデックスの検査を完了しました。
 フェーズの継続時間 (インデックスの検査): 2.85 秒。
CHKDSK は、元のディレクトリに再接続させるために、インデックスのないファイルをスキャンしています。
孤立したファイル 00005.xcf (334DE) をディレクトリ ファイル 334DD に回復します。
孤立したファイル 00006.xcf (334DF) をディレクトリ ファイル 334DD に回復します。
孤立したファイル 00007.xcf (334E0) をディレクトリ ファイル 334DD に回復します。
孤立したファイル 00008.png (334E1) をディレクトリ ファイル 334DD に回復します。
孤立したファイル 00009.png (334E2) をディレクトリ ファイル 334DD に回復します。
孤立したファイル 00010.xcf (334E3) をディレクトリ ファイル 334DD に回復します。
孤立したファイル 00011.xcf (334E4) をディレクトリ ファイル 334DD に回復します。
孤立したファイル 00012.xcf (334E5) をディレクトリ ファイル 334DD に回復します。
孤立したファイル 00013.xcf (334E6) をディレクトリ ファイル 334DD に回復します。
孤立したファイル 00014.xcf (334E7) をディレクトリ ファイル 334DD に回復します。
孤立回復に関する他のメッセージをスキップします。
  213 個のインデックスなしファイルがスキャンされました。
  213 個のインデックスのないファイルが元のディレクトリに回復されました。
 フェーズの継続時間 (孤立した再接続): 506.36 ミリ秒。
  0 個のインデックスのないファイルが lost and found に回復されました。
 フェーズの継続時間 (孤立を lost and found に回復): 1.13 ミリ秒。
  10227 個の再解析レコードが処理されました。
 フェーズの継続時間 (再解析ポイントとオブジェクト ID の検査): 21.57 ミリ秒。

ステージ 3: セキュリティ記述子を検査しています ...
セキュリティ記述子の検査を完了しました。
 フェーズの継続時間 (セキュリティ記述子の検査): 1.18 ミリ秒。
データ属性をファイル 3304C に挿入します。
データ属性をファイル 33051 に挿入します。
データ属性をファイル 33053 に挿入します。
データ属性をファイル 33056 に挿入します。
データ属性をファイル 33058 に挿入します。
データ属性をファイル 33059 に挿入します。
データ属性をファイル 3306B に挿入します。
データ属性をファイル 33597 に挿入します。
データ属性をファイル 33790 に挿入します。
  12147 個のデータ ファイルが処理されました。
 フェーズの継続時間 (データ属性の検査): 4.85 ミリ秒。
ボリューム ビットマップ エラーを修復します。

Windows でファイル システムが修正されました。
これ以上の操作は必要ありません。

1000202239 KB : 全ディスク領域
 743897780 KB : 199329 個のファイル
     52252 KB : 12139 個のインデックス
         0 KB : 不良セクター
   1151611 KB : システムで使用中
     65536 KB : ログ ファイルが使用
 255100596 KB : 使用可能領域

      4096 バイト : アロケーション ユニット サイズ
 250050559 個     : 全アロケーション ユニット
  63775149 個     : 利用可能アロケーション ユニット
合計継続時間: 5.92 秒 (5921 ミリ秒)。
PS C:\WINDOWS\system32>
幸運にもこれでディスクが復旧できたようで、開くことが出来なかったフォルダを開くことが出来ました。読み込みが出来るうちにバックアップを取得しました。

ちなみにこの現象が発生したドライブはM.2のSSDです。体感的にそれほど古い個体では無いのですが、作業用に利用している関係で、読み書きの頻度が高いこともあり、安心感を担保するために代替用のストレージの入手をしたいと思います。

コメント

  1. パワーシェルの説明でお世話になってます より:

    古いHDDを接続したところこの問題が発生しました
    もちろんS.M.A.R.T.は問題なし
    環境はwin10 21H2 19044.1889
    いやぁ、恐ろしいですね

    アイコンを見るだけでデータが破壊されるNTFSの脆弱性
    https://pc.watch.impress.co.jp/docs/news/1300447.html