• ベストアンサー

ddコマンドの使い方

こんにちは、 テスト環境のフルバックアップに挑戦しており /dev/hda(テスト環境os)150G(使用10Gほど) /dev/sda(コピ先)80G と、容量の異なるふたつのハードディスクがあり /dev/hdaのテスト環境osを /dev/sdaにコピーしたいと考えています。 シングルユーザーモードで、 dd if=/dev/hda of=/dev/sda で試して見たのですが、一時間しても終わらなかったので 強制終了して/dev/sdaの中身を見てみたら いろいろとファイルが 出来上がってはいたのですが、ファイルサイズは小さすぎる気がしました。 コマンドはこれで正しいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • u-kid
  • ベストアンサー率50% (34/67)
回答No.3

コマンドとして正しいかと言われると微妙です。書式としてはあっていますが、使い方としては間違っています。 ddでボリューム単位のコピーをする場合は、両方のボリュームのサイズが一致していなければ行けません。ご質問の場合ですとコピー元の方が大きいので、仮にコピーが成功したように見えてもそのまま使用し続けるとファイルシステムに深刻な問題が発生します。 パーティションが区切ってあるのでしたら、同一サイズのパーティションをコピー先に作成して、パーティション単位でコピーするのがよいでしょうが、そうなっていなければddでは無理です。ext2/ext3ファイルシステムを使用しているのでしたら、backup/restoreを使います。 ただ、いずれの方法でもパーティション単位でのコピーはMBRのコピーという問題が残ってしまいますので、慣れないうちは同一サイズのHDDで丸ごとddでコピーの方が簡単でしょう。 また、ddはオプションでコピー単位を指定しないと512byte単位でちまちまとコピーしますのでGbyteサイズをコピーするには何日もかかってしまうことになります。-bsオプションで128Mなど(搭載メモリーサイズによって帰る必要があります)、適当なサイズ単位でコピーさせるようにしましょう。それでも80Gなら数時間はかかると思います。

dwrd88
質問者

補足

ありがとうございます。 週末にでもハードディスクを購入し 試してみます。

その他の回答 (2)

  • mac_res
  • ベストアンサー率36% (568/1571)
回答No.2

ご参考になればよいのですが。http://line.to/mac/linux/backup/index.html

dwrd88
質問者

お礼

ありがとうございます。 参考にさせていただきます。

  • entree
  • ベストアンサー率55% (405/735)
回答No.1

> dd if=/dev/hda of=/dev/sda コマンドは正しいですが、データが10Gしかないからと言って、必ずしも先頭部分のみにしか書かれていないとは限らないのと、ファイルシステムの整合性の問題があるので、/dev/hda の容量 = /dev/sda の容量でないとダメなように思いますが。 バックアップということであれば、イコールでなくても構いませんが、/dev/hda の容量 < /dev/sda の容量じゃないと戻らないかもしれません。

dwrd88
質問者

お礼

なるほど、コピー元より大きめの ハードディスクを購入し再度試して見ます。

関連するQ&A

専門家に質問してみよう