次のコマンドを使用して、間違ったハードドライブに上書きしました。
Sudo sh -c 'pv /dev/sdb >/dev/sdc'
これを元に戻すにはどうすればよいですか?
ドライブの最初の偶数バックアップを作成していて、間違ったドライブをバックアップしました...上書きされたドライブにもバックアップがないので、次にそのドライブをバックアップします。
両方のドライブはdm暗号化されました。
バックアップがない場合、データは重要ではありませんでした。
なくなった。元に戻すことはできません。特に暗号化は関係ありません。
something that produces output > /dev/somedisk
はデバイス上のデータを上書きします。上書きされたものは復元できないので、すぐに気づいてキャンセルした場合に限ります。その場合、おそらく最初の数百メガバイトだけが欠落し、特に回復したいパーティションがどこか離れた場所から始まった場合は、回復する可能性があります。この場合、メモリから、またはtestdisk
、gpart
などを使用してパーティションテーブルを復元する必要があります。
キャンセルしなかった場合は、生成された出力の量によって異なります。つまり、/dev/sdb
が/dev/sdc
よりも小さいかどうかによって異なります。したがって、これまでのところ上書きされているだけです。
しかし、あなたはそれがdm-cryptされたと言います。これは通常、LUKSを意味します。そして、LUKSの先頭にはヘッダーがあります。そのヘッダーを失い、LUKSコンテナーがまだ開いていない場合、何も戻す方法はありません。まだ開いている場合は、dmsetup table --showkeys
の出力を保存します。
ドライブをパーティション分割せずにLUKSを使用し、小さなパーティションテーブルを作成するだけのパーティショナーまたはインストーラーで愚かな間違いを犯す人もいます。ディスクの開始時に上書きされるのは512バイト未満ですが、それでもLUKSヘッダーを損傷するのに十分であり、データは回復不能に失われます。
それほど簡単に回復する方法はありません。
ちなみに、dd
を実行することは、ファイルをバックアップするための完璧な方法ではありません。将来のケースでは、 dar
のようなツールの使用を検討してください-ある程度の圧縮が必要です。増分バックアップを使用すると、ほとんどの場合、時間とディスク容量を大幅に節約できます。