web-dev-qa-db-ja.com

間違ったハードドライブにバックアップ

次のコマンドを使用して、間違ったハードドライブに上書きしました。

Sudo sh -c 'pv /dev/sdb >/dev/sdc'

これを元に戻すにはどうすればよいですか?

ドライブの最初の偶数バックアップを作成していて、間違ったドライブをバックアップしました...上書きされたドライブにもバックアップがないので、次にそのドライブをバックアップします。

両方のドライブはdm暗号化されました。

2
oshirowanen

バックアップがない場合、データは重要ではありませんでした。

なくなった。元に戻すことはできません。特に暗号化は関係ありません。

something that produces output > /dev/somediskはデバイス上のデータを上書きします。上書きされたものは復元できないので、すぐに気づいてキャンセルした場合に限ります。その場合、おそらく最初の数百メガバイトだけが欠落し、特に回復したいパーティションがどこか離れた場所から始まった場合は、回復する可能性があります。この場合、メモリから、またはtestdiskgpartなどを使用してパーティションテーブルを復元する必要があります。

キャンセルしなかった場合は、生成された出力の量によって異なります。つまり、/dev/sdb/dev/sdcよりも小さいかどうかによって異なります。したがって、これまでのところ上書きされているだけです。

しかし、あなたはそれがdm-cryptされたと言います。これは通常、LUKSを意味します。そして、LUKSの先頭にはヘッダーがあります。そのヘッダーを失い、LUKSコンテナーがまだ開いていない場合、何も戻す方法はありません。まだ開いている場合は、dmsetup table --showkeysの出力を保存します。

ドライブをパーティション分割せずにLUKSを使用し、小さなパーティションテーブルを作成するだけのパーティショナーまたはインストーラーで愚かな間違いを犯す人もいます。ディスクの開始時に上書きされるのは512バイト未満ですが、それでもLUKSヘッダーを損傷するのに十分であり、データは回復不能に失われます。

4
frostschutz

それほど簡単に回復する方法はありません。

ちなみに、ddを実行することは、ファイルをバックアップするための完璧な方法ではありません。将来のケースでは、 dar のようなツールの使用を検討してください-ある程度の圧縮が必要です。増分バックアップを使用すると、ほとんどの場合、時間とディスク容量を大幅に節約できます。

1
Paweł Rumian