
かなり複雑なデータ復旧タスクがあります。破損した ext4 ファイルシステムからメタデータ (ファイル名、ディレクトリ構造など) を取得したいと考えています。さまざまなツール ( Testdisk
、、 )fsck
を試しましたforemost
が、役に立ちませんでした。ファイルシステムについて初歩的な知識しか持っていないため、ほとんどのツールを効果的に使用できなかった可能性があります。または、これらのツールが私の状況に適していなかったのかもしれません。私がすべてを台無しにしたのは、次の理由によるものです。
誤って上書き処理を開始したハードディスクドライブがあります。これらのSATA USBドッキングステーションの1つ、そしてそれを扱っているときに、誤ってクローンボタンを押してしまいました。これにより、1 つのドライブから別のドライブへのクローンが開始されました。HDD に新しいパーティションが作成され、そこにデータが書き込まれ始めました。約 1 分後にこれに気づき、プロセスを停止してドライブを切断しました。
両方のディスクは、それぞれ 1 つの ext4 パーティションでフォーマットされていました。そのため、ディスクの 1 つのパーティションが破壊され、そのデータにアクセスできなくなりました。上書きされたデータはおそらく回復不可能だとは思いますが、ほとんどのデータはその短時間では変更されないでしょう。
幸いなことに、私が持っていたファイルのほとんどはインターネット上のどこかで見つかるので、再度ダウンロードできます。しかし、そのためにはファイル名とディレクトリ名のリストを取得する必要があります。それをうまく実行できるツールが見つかりませんでした。Testdisk
有望に思えましたが、クローン プロセスで作成されたデータにしかアクセスできませんでした。どうすればこれを実現できるか、どなたか教えていただけませんか。どんな助けでもいただければ幸いです。ありがとうございます。
答え1
e2fsprogs ソースをダウンロードすると、findsuper
ディスクをスキャンしてディスク上のスーパーブロックを見つけるツールをビルドできます。ディスクの先頭にあるクローン コピーからのスーパーブロック UUID と、ディスクの末尾にある古いファイル システムからのスーパーブロック UUID の 2 つの異なるスーパーブロック UUID を見つけることができるはずです。
古いファイルシステムのスーパーブロックを使用して e2fsck を実行すると、たとえば古いジャーナル ブロックをファイルシステムに復元できる場合、ファイルシステムのより多くの部分を復元できる可能性があります。
lost+found
いずれにしても、ディスクの先頭のルート ディレクトリは確実に上書きされるため、e2fsck (できればディスク上のバックアップ イメージで実行) は、見つかったすべてのファイルをリンクします。