ディスクの最初の512バイトを削除しました。データを回復するにはどうすればよいですか?


12

誤って512バイトのバイナリを間違ったUSBディスクに書き込んだためdd、デバイスにパーティションが表示されfdiskなくなりました。

すべてのデータがなくなったと思いましたdd if=/dev/sdx | stringsが、dd幸いなことに最初の512バイトに制限されていたため、データはまだ残っているようです。それを回復する方法はありますか?

ディスクには2つのパーティションがありました。ext4(〜4GB)パーティションと16GBの残りはNTFSとしてフォーマットされました。

回答:


13

それは正確に何が前にあったかに依存しますが、これから回復するのは簡単かもしれません(-ish)。

  1. dd安全な場所にUSBドライブの完全なイメージを作成するために使用します。

  2. dd安全な場所にUSBドライブの完全なイメージを作成するために使用します。

  3. はい、完全な画像を保管してください。データ回復操作は、多くの場合、予想よりも多くの損害を引き起こす可能性があります。

  4. そのUSBドライブのパーティションレイアウトがどのようなものであったかを思い出してください。書き留めてください。そのディスクが(混乱する前に)Linuxカーネルによって検出されたときからシステムログがある場合に役立つことがあります-検出されたパーティションに関するいくつかのデータを印刷することがよくあります。

  5. fdiskを使用して、同じパーティションテーブルでMBRを再作成します。パーティションをフォーマットしたりfsckしたりしないでください

  6. 読み取り専用(-o romountオプションでパーティションをマウントしてみてください。

  7. 成功した場合は、すべてのファイルを安全な場所にコピーし、端末を監視してI / Oエラーをログに記録します。パーティション境界エラーを表現する一般的な方法は、基盤となるデバイスの範囲外アクセスです。

  8. コピーが失敗した場合は、イメージを復元して手順4に戻ります。

  9. 他に何かをする前に、USBドライブの完全なイメージを持っていることに言及しましたか?

PS:回復プロセスの自動化を試みるTestDiskのようなツールも見たいかもしれません。ただし、最初に完全なイメージを取得する必要があります。

PS2:十分に快適だと感じたら、少し実験することもできます。最初のパーティションの開始点について合理的な仮定を立てることができる場合、最初のパーティションtune2fs -lの正確なサイズを取得するために使用できます。これにより、2番目のパーティションの開始を探すことができます。


#1:dd if=/dev/sdx of=backup.imgそうですか?
edmz

@black:はい。bs=...ブロックサイズを増やして少し高速化するオプションを追加することもできます。
thkala

使用するのに適したブロックサイズはbs=64Kです。TestDiskは間違いなく試してみる価値があり、実際のディスクだけでなくディスクイメージファイルでも動作します。幸運を!
PM 2Ring

実行cat /dev/sdx >backup.imgdd多くの状況よりも高速であり、この状況では確かに低速ではありません。
ロアイマ

6

ext4パーティションとそのデータを復元するために、1つのディスク全体のext4パーティションを作成することを考えました。これにより、@ thkalaで示唆されているように、データにアクセスし、パーティションに関する情報を取得できましたtune2fs -l。この情報は非常に実行可能であるため、変更されていません。

非常に興味深いことに、gpartedは、次の警告からわかるように、実際のパーティションサイズをある程度把握できます。

10.96 GiBのパーティション内の未割り当て領域。ファイルシステムを拡張してパーティションを満たすには、パーティションを選択してメニュー項目を選択します。

11GiBはおおよそNTFSパーティションの次元だったためです。

ここに画像の説明を入力してください

未使用のスペースに注意してください。IIRCは、ext4がまだ解放していたスペースです。未割り当て領域を認識gpartedのは、NTFSパーティションのようです。今、最初のパーティションがどこで終わるか、つまりその合計バイト数を見つけることによって、どのようにそれも復元できますか?


最後に、TestDiskはそれを楽に処理しました。


優秀な。あなたがあなたの質問に受け入れられる解決策を持っていることは明らかですので、あなた自身の答えを受け入れてください。
ロアイマ

@roainaはい2日間の最小オープン期間が終了するとき、私はしなければなりません。
edmz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.