Linux;ハードディスクのクローンを作成する

ハードディスクの換装時に、記録内容を丸ごとコピーしてクローンを作成する方法。

バックアップ方法

ディスクのバックアップ方法ですが、「dd」コマンドを使用します。
このコマンドですが、「ハードディスク・パーティションを0/1の信号のママ丸ごとコピー」するものです。
注意点とすれば、以下のことでしょうか。

  •  ハードディスクの容量がコピー元以上であること
  • コマンドで指定するディスクを間違えて指定した場合、データが消滅すること

バックアップ例

  • ディスクサイズは、「コピー先HDD ≧コピー元HDD」の大きさとすること
  • パーティションは、mountしないこと
  • コピー元HDDのパス、「/dev/sdb」
  • コピー先HDDのパス、/dev/sdc」

コピーするコマンド

$dd if=/dev/sdb of=/dev/sdc bs=512 conv=noerror,sync

500GBのハードディスクで4時間でした。

バックアップ用のディスクイメージ

$dd if=/dev/sdb of=./backup-disk-image.img bs=512 conv=noerror,sync

オプションコマンド

  • bs : 一度に読み書きするバイト数(省略すると512バイト)
    1K=1024, 1M=1024*1024, 1G=1024*1024*1024
  • noerror  : エラー読み飛ばし
  • sync エラー : 箇所をNUL(ゼロ)で埋める
  • bs byte size :  読込書き出すバイトサイズ

転送状況の表示

$killall -USR1 dd

ディスクの消去

復元と同じ要領で、zero埋めすれば完全フォーマットができます。

$dd if=/dev/zero of=/dev/sdc
 

 

パーティション毎にコピーする場合

  • 予め Gparted などのツールで、コピー先のパーティションを作成しておく。
  • MBRの446バイトをコピーする。(447~512までの64バイトはHDD1のパーティション情報なのでコピーしない)
    $dd if=/dev/sda of=/dev/sdb bs=446 count=1

  • システムパーティション(「システムで予約済み」)のコピー
    $dd if=/dev/sda1 of=/dev/sdb1 bs=1M conv=noerror,sync

  • ブートパーティション(「Windowsインストール領域」)のコピー
    $dd if=/dev/sda2 of=/dev/sdb2 bs=1M conv=noerror,sync

 

 

【引用】

 

“Linux;ハードディスクのクローンを作成する” への1件の返信

コメントを残す