この事件は実際に数年前に起こったが、私の手にはまだ変わらないUSBフラッシュドライブが残っている。運が良くないかもしれませんが、ここにいるスマートな人々にアドバイスを求めたいと思いました。
フラグメント:
数年前、私の妻は保存スペースが足りず、iPhone上のすべての写真をUSBフラッシュドライブに保存したかったのです。私たちは店舗で新しいUSBフラッシュドライブを購入したので、FAT32
ファイルシステムがあるとします。私たちはフラッシュドライブを挿入し、Mac OS X
彼女の写真をすべてバックアップすることができました。バックアップが完了した後、私たちはほぼすべての写真に重複したファイルがあることに気づきました。photo.jpg
名前が重複したファイルがありますphoto\ 1.jpg
。すべての重複ファイルは\ 1.jpg
このサフィックスで終わります。
私はUNIXを起動した後、シェルで単純な正規表現を使用してすべての重複ファイルを削除できることに気づきましたが、最終的にコマンドを引用符で囲むことなく次のコマンドを実行しましたrm * 1.jpg
。ご覧のように、システムにファイルを1つずつ削除するよう指示し、ファイルをすべて削除するように1.jpg
指示するのではなく、怒っている1.jpg
妻(当時のガールフレンド)の横からフラッシュドライブをドロップしました。そして引き出しに保管しました。
質問:
rm
USBフラッシュドライブから削除されたデータを回復するための安全なUNIXツールはありますか?それともただ運がないのでしょうか?上記のように、私はその事件の後にフラッシュドライブに触れたことがありません。
この質問が広すぎる場合は、メタや最適な場所に自由に移動してください。
答え1
rm
USBフラッシュドライブから削除されたデータを回復するための安全なUNIXツールはありますか?
はい、ところで写真の回復は最も一般的なシナリオの1つです。
あなたが説明する条件は実際に最高なぜなら:
- ファイルを直接削除しました。
- ファイルシステムが破損していません
- このドライブは使用されなくなりました。
これらの条件では、2つのオプションを使用できます。
ファイル名に興味がある場合(または断片化されたファイルがある場合)
ドライブに多数の写真を順次記録すると、断片化のリスクは実際には非常に低いですが、それでもそうです。ファイルの回復とファイル名ファイルシステムをサポートするツールが必要です。
入力するテストディスク:
sudo testdisk /dev/sdb
TUI(テキストユーザーインターフェイス)を介して段階的なプロセスを表示します。基本的な手順は次のとおりです。
- スキャンドライブ
- パーティションの選択
- Pファイルを表示するにはタップします。
- 削除された(赤色)ファイルのコピーC
実際に写真をもう一度返したい場合
写真の場合、名前は気にする必要はありません。また、ファイルシステムが破損している可能性があり(あなたの場合ではない)、TestDiskは役に立ちません。
写真記録(同じ開発者から)救出に来る:
sudo photorec /dev/sdb
ここでは、出力ディレクトリを指定するだけです。興味のない特定のファイル形式の検出を無効にすることもできます。
答え2
はい、削除された特定のファイルを回復するためのツールがあります。これを使用する最も安全な方法は、できるだけ早く問題のファイルシステムをアンマウントしてから(すでに実行した作業)、ファイルシステムをイメージファイルにバックアップし、回復の試みにそのイメージファイルを使用することです。これは、故障したハードウェアまたは障害のあるリカバリプログラムのバックアップがあるため、より安全です。また、特にファイルシステムを複数回検索すると、回復速度が速くなる可能性があります。
実際の構造のためにオープンソースツールを試すことができますtestdisk
、photorec
、recoverjpeg
そしてrecovermov
。最後の3つは同様のアプローチを実装しています。つまり、よく知られているファイル署名を検索します。これにより、関連するファイルシステム構造が重大に破損または上書きされた場合でも、ファイルを回復できます。制限は、ファイルシステムによってファイルが断片化される場合です。名前にもかかわらず、photorec
写真ではなく多くのファイル署名を認識できます。
一方、Testdiskは古いパーティションとファイルシステムテーブルを回復しようとするので、元のファイル名と断片化されたファイルまで回復することができます。
Testdiskとphotorecは同じ著者のものなので、通常は一緒にパッケージ化されています。
例:
ddrescue --idirect /dev/sdX usb.img usb.map
mkdir out
testdisk usb.img
photorec usb.img
mkdir recjpg
cd recjpg
recoverjpeg ../usb.img
cd ..
mkdir recmov
recovermov ../usb.img