web-dev-qa-db-ja.com

誤って削除したファイルを回復する

ラップトップから誤ってファイルを削除してしまいました。 Fedoraを使用しています。ファイルを回復することは可能ですか?

82
crskhr

すぐにユーティリティをインストールしないことをお勧めします。基本的に、ここでの最大の敵はディスクの書き込みです。あなたは今すべてのコストでそれらを避けたいです。

あなたの最善の策は、もしあれば、あなたのエディタによって作成された自動バックアップです。そうでない場合、.texファイルに一意の文字列を覚えている場合は、grepを使用して次のトリックを試します。

$Sudo grep -i -a -B100 -A100 'string' /dev/sda1 > file.txt

/dev/sda1をファイルが存在していたデバイスに置き換え、'string'をファイル内の一意の文字列に置き換えます。これには時間がかかる場合があります。しかし、基本的に、これはデバイスで文字列を検索し、その行の前後100行を返してfile.txtに入れます。より多くの行を返す必要がある場合は、必要に応じて-Bおよび-Aオプションを調整してください。余分なゴミがたくさん返ってくるかもしれませんが、テキストを元に戻すことができるはずです。

幸運を。

95
Steven D

それは可能です、それは面倒になるだけです。

UPDATE:この方法を試す前に、Stevenの answer をご覧ください。

testdisk パッケージ、大量のディスクスペース、およびロット時間。

TestDiskの一部であるPhotoRecは、ほとんどすべてのディスクからファイルを回復できます。 PhotoRecが行う support 検索.texファイル。


まず、testdiskを実行してインストールします

yum install testdisk

注:回復したファイルを保存できる別のドライブに多くの空き容量が必要になります。

ディスクの空き領域でphotorecを実行して、ディスク上のすべての削除済みファイルを復元します。

Sudo photorec

そして、指示に従ってください...(ファイルをリカバリするのと同じディスクに保存しないでください)

プロセスが完了した後、回復されたすべてのファイルは1つのディレクトリにあるはずです。

find -name '*.tex' > filelist

これは、失われた可能性のあるファイルのリストを出力します。ファイル名が失われるので、それらすべてをチェックする必要があります。

23
Stefan

多くのテキストエディターはバックアップファイルを保持します。本当に運が良ければ、ファイルの以前のバージョンを含むyourfile.tex〜のようなものがあるかもしれません。

13
fschmitt

他のデータ回復ツールがあり、最も効果的なのはforemostphotorecです。 、scalpelおよびmagic rescue。 (私は 'grep'トリックが here では不十分だと言っていると思います)ここでは、それらを使用する方法に関するいくつかのチュートリアルを見つけることができます:

http://www.howtogeek.com/howto/15761/recover-data-like-a-forensics-expert-using-an-ubuntu-live-cd/

https://help.ubuntu.com/community/DataRecovery

9
Attilio

いずれにしても、ディスクの書き込みを回避するために、使用中のデバイスでの作業をできるだけ早く停止し、Live-CDである SystemRescueCd のような専用の回復OSで起動します。今後のデータ損失を防ぐために、ディスクを読み取り専用でマウントしてください。

これらのディストリビューションには、他の人から紹介された多くの回復ツールが含まれており、ほとんどの不足しているものをインストールできます。

念のため、外付けUSBリーダーにSystemRescueCdの最新バージョンが入ったCDを常に持っている傾向があります。

4
Martin C.

注:閉じられ、このファイルをポイントする削除されたデータベースファイル(MySQLサーバー)に関する他の質問に関するこの回答を追加しました。私はそれが他のいくつかの同様の状況でも役立つと信じています(いくつかのプロセスがまだファイル記述子を開いたままにしている限り)。

プロセスがまだ実行されている場合は、/proc/<pid>fd/でファイルを見つけてコピーするだけです。最初にSIGSTOPをプロセスグループに送信します。ファイルをコピーします。サイドに新しいインスタンスを作成し、これを停止するか、kill -9にして、ファイルを元の場所に戻します。 InnoDBは実行時に自動的に回復しますが、MyISAMがいくつかある場合は、手動で行う必要があります。

3
pawel7318

Sqlite dbファイルを誤って削除してしまいました。

ファイルを見つけるために私がしたことは、

場所を開いた/proc/ファイルブラウザーで削除されたsqlite dbファイルを検索しました。

そのファイルを検索結果で見つけました。そのファイルをそこから私の古い場所にコピーしました。

2
Thaha kp

2年前にも同じ問題があり、debugfs、photorec、ext3grep、extundeleteなどの多くのプログラムを試しました。 ext3grepは、ファイルを回復するための最良のプログラムでした。構文は非常に簡単です。

ext3grep image.img --restore-all

または:

ext3grep /dev/sda3 --restore-all --after date -d '2015-01-01 00:00:00' '+%s' --before `date -d ‘2015-01-02 00:00:00’ ‘+%s’

これは video が役立つ小さなチュートリアルです。

0
Juan

バックアップがない場合、サードパーティのディスク回復ツールが一部またはすべてのデータを回復する可能性がありますが、ここでマシンの使用を停止する必要があります。ゴミ箱に移動したファイルをシステムで上書きできるようになりました。いったん上書きされると、データを回復するのに法外な費用がかかります。私はuflysoftデータ回復を使用して成功しました(他のMac OSデータ回復アプリケーションがあります)-回復されたデータを保存するための「回復ドライブ」(メインドライブまたは清掃元のドライブではない)が必要です。 Data Recoveryディスク(システム)から起動する

0
Gallup Noel