HDD リカバリ: DD を高速化できますか?

HDD リカバリ: DD を高速化できますか?

現在、誤ってフォーマットしてしまったハードドライブを復旧しようとしていますが、もちろん、dd if=/dev/sdb of=/dev/sdc conv=noerror,syncまずはバックアップを作成してから作業しています。実は、質問が 2 つあります。

  1. dd は超遅いです。誤ってフォーマットしたせいでパーティション テーブルとファイル システムが破損しています。-bsオプションでブロック サイズを大きくすると、コピーのドライブ ジオメトリに何らかの影響が出るのでしょうか?

  2. これはビット単位であり、ドライブの先頭にあるパーティション テーブル/ファイル システムのみを操作しているため、元のドライブをバックアップに再コピーする必要がある場合、ドライブの残りの部分は変更されないはずなので、最初の数 MB の後で dd を中止するだけでよいのではないでしょうか。

これらのうちの 1 つが「はい」であることを願いますが、そうでなければ、あと 10 時間ほどかかります。

答え1

パーティション テーブルと MBR のみをバックアップする必要がある場合は、次を使用します。

dd if=/dev/SOURCE of=/my/path/to/MBR_BACKUP bs=512 count=1

あるいは sfdisk を使用します:

sfdisk -d /dev/SOURCE > /my/path/to/MBR_BACKUP

次に復元します:

sfdisk /dev/DEST < /my/path/to/MBR_BACKUP

上記のすべては非常に迅速です。

ハード ドライブ全体をイメージ化するには、BS をドライブ キャッシュの半分のサイズに設定することをお勧めします。たとえば、64 MB キャッシュの Seagate 1 TB ドライブでは、bs=32M を使用します。これにより、処理速度が向上します。

答え2

ddは非常に小さく、非常に効率的なプログラムであり、遅いのはおそらくハードドライブの読み取り/書き込み遅延によるものです。要するに、ddはシステムが許す限りの速度です。より大きなbsを使用してみてください。この質問に対する回答はUnixおよびLinux Stack Exchangeサイトにあります

MBR とパーティション テーブルは最初の 512 バイトだけなので、コピーにそれほど時間はかからないはずですが、破損したパーティション テーブルのバックアップを作成する意味がわかりません。dd に時間をかけてハード ドライブのバックアップを作成させてください。その後、パーティション テーブルを再作成できるように、ハード ドライブ上のパーティションの場所に関する情報を回復する必要があります。これを行うソフトウェアがあります。

詳細については、次のリンクをご覧ください。

http://www.pixelbeat.org/docs/disk/
http://www.diskinternals.com/partition-recovery/
http://www.dedoimedo.com/computers/linux-data-recovery.html

関連情報