- ベストアンサー
ddコマンドの使い方
こんにちは、 テスト環境のフルバックアップに挑戦しており /dev/hda(テスト環境os)150G(使用10Gほど) /dev/sda(コピ先)80G と、容量の異なるふたつのハードディスクがあり /dev/hdaのテスト環境osを /dev/sdaにコピーしたいと考えています。 シングルユーザーモードで、 dd if=/dev/hda of=/dev/sda で試して見たのですが、一時間しても終わらなかったので 強制終了して/dev/sdaの中身を見てみたら いろいろとファイルが 出来上がってはいたのですが、ファイルサイズは小さすぎる気がしました。 コマンドはこれで正しいのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
コマンドとして正しいかと言われると微妙です。書式としてはあっていますが、使い方としては間違っています。 ddでボリューム単位のコピーをする場合は、両方のボリュームのサイズが一致していなければ行けません。ご質問の場合ですとコピー元の方が大きいので、仮にコピーが成功したように見えてもそのまま使用し続けるとファイルシステムに深刻な問題が発生します。 パーティションが区切ってあるのでしたら、同一サイズのパーティションをコピー先に作成して、パーティション単位でコピーするのがよいでしょうが、そうなっていなければddでは無理です。ext2/ext3ファイルシステムを使用しているのでしたら、backup/restoreを使います。 ただ、いずれの方法でもパーティション単位でのコピーはMBRのコピーという問題が残ってしまいますので、慣れないうちは同一サイズのHDDで丸ごとddでコピーの方が簡単でしょう。 また、ddはオプションでコピー単位を指定しないと512byte単位でちまちまとコピーしますのでGbyteサイズをコピーするには何日もかかってしまうことになります。-bsオプションで128Mなど(搭載メモリーサイズによって帰る必要があります)、適当なサイズ単位でコピーさせるようにしましょう。それでも80Gなら数時間はかかると思います。
その他の回答 (2)
- mac_res
- ベストアンサー率36% (568/1571)
ご参考になればよいのですが。http://line.to/mac/linux/backup/index.html
お礼
ありがとうございます。 参考にさせていただきます。
- entree
- ベストアンサー率55% (405/735)
> dd if=/dev/hda of=/dev/sda コマンドは正しいですが、データが10Gしかないからと言って、必ずしも先頭部分のみにしか書かれていないとは限らないのと、ファイルシステムの整合性の問題があるので、/dev/hda の容量 = /dev/sda の容量でないとダメなように思いますが。 バックアップということであれば、イコールでなくても構いませんが、/dev/hda の容量 < /dev/sda の容量じゃないと戻らないかもしれません。
お礼
なるほど、コピー元より大きめの ハードディスクを購入し再度試して見ます。
補足
ありがとうございます。 週末にでもハードディスクを購入し 試してみます。