最も重要な回復プログラムを使用するときにファイル名とフォルダ構造を保存する方法は?

最も重要な回復プログラムを使用するときにファイル名とフォルダ構造を保存する方法は?

緊急にLinuxリカバリソフトウェアを実行しforemost、ファイル名とフォルダ構造を保存する必要があります。ご存知のように、プログラムは回復されたファイルの名前を数字に変更し、audit.txtというファイル内に生成されたリストにリストします。

私は誰かが私と同じことをruby達成しようとしているこの素晴らしいコミュニティのもう一つの質問でこのスクリプトを見つけました。foremost誰かがこの質問に回答し、その答えには、rubyaudit.txtファイルを含むフォルダでそれを実行するための簡単な手順を含むスクリプトが含まれていました。私はこれを試しましたが、何も起こりませんでした。走っている間foremostと終わった後にすべて試しましたが、何も起こりませんでした。以下に示すスクリプトを実行しようとすると、ruby端末出力はまったく出ません。

File.read("audit.txt").scan(/-{4,}\n(File: .*?\n.*?)(?=-{4,})/m).flatten.map{|z| 
   f1=z.scan(/File: (.*?)\n/).flatten[0];
   f2=z.scan(/[0-9]+:\t(.*?) \t/m).flatten;
   extension=File.extname(f1);

   [
    f1,
    f2.find{|q| File.extname(q)==extension}
   ]
}.each{|k,v| 
  extension=File.extname(k);
  dirname=extension.sub(".","")
  File.rename("#{dirname}/#{v}","#{dirname}/#{k}")
}

foremostこのプログラムを使用してファイル名とフォルダ構造を保存する方法を知っている人はいますか?これがforemost私のファイルを回復できる唯一の回復プログラムのようで、LinuxとWindblowsの間で約30を超えるさまざまな回復プログラムを試してみたので、これを行うことができたことが非常に重要です。

答え1

さて、それはデータ復旧に関するものではありませんか?

ファイルシステムは、フォルダ構造やファイル名などのメタデータと最も重要な場所(ファイルサイズ、ディスクのオフセット、各データセグメントが断片化されているかどうかなど)を理解します。

ファイルシステムがシャットダウンして生データの断片化に依存している場合(foremostおよびphotorec他のツールが実行するアクション)、ファイル名を保存する方法はありません。

せいぜい断片化されたデータから新しいファイル名を生成することができます(JPEGの場合はEXIFデータベース、ZIP / TARアーカイブの場合は解凍すると内部にファイル名があり、コードファイルには時々プロジェクト名や作成者の役に立つタイトルなどにに関する情報)。

ただし、独自のメタデータを含まないファイル形式の場合、ファイル名はありません。これは、ファイルシステム自体でのみこれがわかるためです。

良いファイル彫刻家は、見つかった各ファイルのオフセットを知らせるでしょう。以前のメタデータが残っている場合)。ディスクにあります)。

ただし、そのためにはそのようなメタデータがまだ存在しなければならず、そのようなメタデータを正しく解釈できるようにするには、誰かまたは何かが特定のファイルシステムの内部構造を理解する必要があります。したがって、デフォルトでは、元のフォルダとファイル名の構造を保存するには、何があってもファイルシステム自体を何らかの方法で回復する必要があります。

audit.txtまず、この情報を含まないファイルからこの情報を抽出することはもちろん不可能です。したがって、audit.txtファイル名として使用したいコンテンツがファイルに表示されない限り、Rubyスクリプトは目の前の路地です。帽子からウサギを取り出すことができる人が必要です。

関連情報