ext4の元に戻すファイル


11

私の母は、事故ごとにいくつかの重要なファイルを彼女の/ tmpに置いています。今、もちろん、彼らはなくなっています。

これは昨日起こりました(マシンの2回のブート以降)

ファイルの削除を取り消そうとしています。それらは/ tmpにあり、これは/の残りと同じパーティションにあったので、マウントされたシステムで実行するツールが必要です(またはlivecdを使用できます...)

今、ダウンロードしたsystemrescuecdでtestdiskを試しています。/ tmpからいくつかのファイルを取得できますが、すべてではありません。(それは正しいツールですか?それらの「赤い」ファイルとは正確に何ですか?それらの一部のみが回復可能ですか?)

回答:


14

使用することもできます extundelete

最初umountに、ファイルが削除されたファイルシステムをアンマウント()します。
次に、ファイルを削除した場合の対処方法の章を読みください。

extundelete古典的なUbuntuリポジトリからインストールできます。

sudo apt-get install extundelete

または、最新バージョンをダウンロードしてコンパイルすることもできます。

cd ~/Download
tar -xf extundelete-*.*.*-.tar.bz2  #Replace *.*.* by the version
cd      extundelete-*.*.*
sudo apt-get install e2fslibs-dev   #Required for compilation
./configure
make
sudo make install
extundelete --version               #Should be your *.*.* version

使用例:削除されたすべてのファイルをディレクトリImagesから新しく作成されたディレクトリに復元するrestore

sudo extundelete --restore-directory Images/ -o restore /dev/sda3

XXXX次の形式でファイルが表示された場合、悪いニュースです。

Unable to restore inode NNN (Images/XXXX): Space has been reallocated.

復元されたすべてのファイルを表示します(ファイルを探します):

find restore -name '*'

ファイルをバックアップし、この一時ディレクトリを削除します restore

cp restore/Images/XXXX MY_BACKUP_DIRECTORY
sudo rm -rf restore  

3
この答えは文字通り私の仕事を救ったばかりです。ありがとうございました。
トゥイフティ

10

特にEXTファイルシステムでのデータリカバリは、ライブCDまたは削除を取り消そうとしているパーティションに依存しない他のシステムから試行する必要があります。ディスクを読み取り専用としてアンマウントまたは再マウントすると、復旧作業に非常に役立ちます。

ほとんどのdd場合、または同様のツールを使用してパーティションまたはディスクのイメージを作成しようとするため、ディスク自体で作業することはありません。

dd if=/dev/sd[xx] of=/media/backup_drive/recovery.img

画像を取得したら、ツールを使用してext3grep、探しているファイルを探して見つけることができます。試すことができるさまざまなスイッチがたくさんありますが、これは良いスタートかもしれません:

ext3grep --restore-file 'tmp/moms-file.txt' recovery.img

このext3grepユーティリティは、ファイルの名前がわからない場合にファイルシステムを検索するためのさまざまな方法も提供します。ext3grep --helpさまざまな検索方法を確認してください。


正確な手順を追加できたらいいですね。
saji89

@ saji89サンプルの使用法を追加-適切なユーティリティへのリンクも修正しました!
ウィンディゴ

いいね 今...それはext4で動作しますか?
-josinalvo

1
@josinalvo EXT4ボリュームを試してみたとき、私はEXT4ボリュームを使っていましたが、うまくいきました。探していたファイルが見つかりませんでしたが、機会を逃したと思います。
ウィンディゴ


0

ext4magicまたはextundeleteを使用してcrontabファイルを回復できませんでした。

Debianでは、rootのcrontabは次のとおりです。

/var/spool/cron/crontabs/root

しかし、次のコマンドを使用することで、ログからcrontabを少なくとも手動で回復することができました。

 grep CRON /var/log/syslog.* -i| awk -F " CMD " {'print $2;'} |sort | uniq

実行されたcronジョブのみを出力します(タイミングは出力しません)が、少なくともこれは最初から始めるよりもはるかに多くのことです。

特定のcronジョブが実行される頻度を覚えていない場合は、syslog.1などの完全なログを取得してください。これにより、1日の実行回数がわかります。

grep CRON /var/log/syslog.1 -i| awk -F " CMD " {'print $2;'} |sort | uniq -c |sort -n

0

AnalyzeEXT

EXTディレクトリデータのデータブロックを解析します。

EXT4の詳細なドキュメントは次の場所にあります。

perlスクリプトをダウンロードします

git clone https://github.com/halpomeranz/analyzeEXT

保証はありませんが、削除されたファイルシステムを再構築できる場合があります。


1
このツールとは正確には何ですか?どんなふうに使うの?スクリプト内のリポジトリの説明とヘルプメッセージを読みましたが、詳細はあまりありません。
-wjandrea

perlスクリプトをご覧ください。CLIヘルプがスクリプトと一致しません!
abu_bua

詳細はこちら。私はそれにつまずいた-それを使用したことはありません!youtube.com/watch?v=6pzm6909IvY
jouell

@jouell私はビデオの2:30を見ましたが、彼はまだスクリプトについて言及していません。回答を編集して、簡単な要約を追加できますか?
-wjandrea
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.