ハードディスクの換装時に、記録内容を丸ごとコピーしてクローンを作成する方法。
バックアップ方法
ディスクのバックアップ方法ですが、「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件の返信