紛失+発見からの復元

紛失+発見からの復元

EXT4 FS/メモリカードに問題があり、fsck を実行した後、すべてのファイルが lost+found に配置されました。

質問: lost+found から古いファイル名/階層を復元するにはどうすればいいですか? それとも不可能ですか? バックアップからの復元は除きます。

答え1

ファイルの元の名前と場所を見つけることはできません/lost+foundlost+foundについてですかfsck:ディレクトリ ツリーのどこにも添付できなかったファイルの断片が置かれる場所です。場所がわかっていれば、fsckファイルは本来あるべき場所に残されます。

fsck理論的には、ファイル名などの部分的な情報しか持たず、ディレクトリの場所を持たないことも可能ですが、一般的なファイルシステムではそのようなことは起こりません。

ファイル自体に手がかりが見つかるかもしれません。fileコマンドは、少なくともそれがどのようなファイルであるかを教えてくれます(認識した場合)。ファイルによっては内部に追加情報が含まれている場合があります。たとえば、JPEGやTIFF画像には、EXIFデータ、MP3ファイルにはID3タグなど

答え2

前回これをやらなければならなかったとき(何年も前)は、ファイルの内容に基づいて推測する必要がありました。今日ではこれより良い方法があるとは思えません。

「ファイル」プログラムは、データのタイプを把握できるので、まずはこれを使用してファイルを適切に表示するのに役立ちます。

答え3

私の場合、読み込み中にI/Oエラーが発生しました。実行後、e2fsckほとんどのファイルはlost+foundサブフォルダにあり、ほとんどのファイル(およびファイル名)はわかりました

だから、行ってlost+found、走って

find | less

ファイルが見つかるかどうか確認してください。幸運を祈ります!

答え4

ファイル名と階層は関係ありませんが、ファイルを使用すると、いくつかのものを復元できます。私は、有効にすると長方形の選択が可能な Joe エディタを使用しています。そのため、「ls > ques」を実行してから検索置換を実行して、'file "#133024" > 133024.txt' のようなステートメントのリストに変換できます。これを sh スクリプトとして実行し、'grep PDF *.txt > pdflist' を実行できます。これを mc ビューアで開き、別のターミナルで別の mc を使用して、pdflist.txt を調べ、すべての PDF を独自のディレクトリに移動しました。ASCII テキスト ファイルや、それが識別するその他のファイルでも同じことができます。

また、「#410423: gzip 圧縮データ、"x264_git.tar" でした」のような奇妙な驚きもあります。また、「cat *.txt > filelist」を実行して、説明をすべて 1 つのファイルにまとめることもできます。

関連情報