• ベストアンサー

ddコマンドでイメージをコピーしているのですが、めちゃめちゃ遅いです。

dd if=/dev/sdd of=/test としているのですが、めちゃめちゃ遅いです。 何かパラメータをつけて早くなる方法はあるのでしょうか?

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

  • ベストアンサー
noname#243622
noname#243622
回答No.3

#2の方のとおり、dd コマンドでは bs=1440k や bs=256M といった風に一度に書き込むブロックサイズを指定できます。一般的には1byteずつHDDに書き込むよりはある程度まとめてHDDに書き込んだほうが早くなります。 ちなみに、ドライバディスクなどをFDDにddでイメージを書き込む場合は bs=1440k と指定するのが一般的です。そうでないと書き込みが非常に時間がかかります。 また、/dev/sdd にあたるHDDと、/test にあたるHDDが同じ場合は、出所が違うデバイスよりは遅くなります。 当然ですがブロックサイズを無闇に大きくしてもそれほど早くなりませんので、いろいろ試してみましょう。経験則だと256Mぐらいまででしょう。 インターフェース別の転送速度のページを見つけましたので、参考にしてください。

参考URL:
http://www1.odn.ne.jp/~cbi63050/data/transfer.htm

その他の回答 (2)

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.2

bs=xxx として、一度にコピーするブロックサイズを指定しましょう。

  • nannano
  • ベストアンサー率27% (20/74)
回答No.1

40Gのディスクを1本コピーするのに6時間弱掛かっていました。

関連するQ&A

  • ddコマンド

    sudo dd if=/dev/zero of=/home/pi/test bs=8k count=50k conv=fsync; sudo rm -f /home/pi/test を実行しようとしたところ、 sudo dd if=/dev/zero of=/home/pi/test bs=8k count=50k で実行してしまいました。 何をしてしまったでしょう?? 消そうと思っても、どこにコピーされたか、わかりません。

  • ddコマンドの使い方

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

  • ddコマンドについて

    % dd if=/dev/zero of=zero.dat count=1000 ⇒ 512*1000 バイトの zero.dat が生成される % dd if=/dev/zero of=zero.dat count=2048 bs=1 ⇒ ブロックサイズを 1 に指定。2048 バイトの zero.dat が生成される http://x68000.q-e-d.net/~68user/unix/pickup?dd とのことですが、では/dev/zeroが50バイトだった場合ファイルサイズはどのようになり、もし増えた分はなにが中に入っているのでしょうか。 ご存知の方、アドバイスをお願いします。

  • ddコマンドを使ったバックアップについて教えてください。

    ランレベル5でddコマンドでdd if=/dev/hda1 of=/dev/hdb1と したところ再起動するとhdaでランレベル5で起動できなくなりました。 hdbのディスクを取り外したところ、ランレベル5で起動できるようになりました。どこがまずかったのかとどう行えばよいか教えていただけないでしょうか?

  • DDコマンド

    FreeBSDでDDコマンドがあまりうまくいかなかったのでturbo linux 10(評価版) を別のパーテションにインストールしてDDコマンドを試しました。 4Gのturbo linuxでDDコマンドを使おうとすると領域が足りず圧縮するのが面倒そうだったので 40Gー(windows 10G(hda1) + FreeBSD 4G(hda2))=26G をturbo linuxにあててDDコマンドで d if=/dev/hda2 of=hda2 を実行すると4Gのファイルができました。 これをISOイメージにしてバックアップCDをつくりバックアップCDをつくりたいのですがどうすればいいでしょうか?#dd if=/dev/cdrom of=cdrom.isoというコマンドを おしえていただいたのですがどうやってつかえばいいか わかりません。よろしくおねがいします。

  • ddについて教えてください

    RedHatLinux7.3を使っている者ですが、コマンド dd if=/dev/zero of=vm1.image bs=1 count=1 seek=1G とはどういう意味ですか?

  • Ubuntu9.04でのddコマンド使用について

    Ubuntu9.04を使用しています。 そこにUserModeLinux起動させようと考えています。 そこで、空のファイルを作ろうと、 ~$ dd if=/dev/zero of=uml-root-hardy bs=4096 seek=1M count=1 とコマンド入力しました。 その後しばらく放っておいても反応がありません。 ddコマンドを使用するには、何か事前操作などが必要なのでしょうか。 お返事お願いします。

  • ddを使ったバックアップについて教えてください。

    hda1からランレベル5で起動したCentOSで dd if=/dev/hda1 of=/dev/hdb1とし、hda1にはいっている CentOSを複製し、複製したHDDをひとつだけをプライマリマスタ につないで起動しようとするのですが、GRUBのエラーで起動することができません。ddで複製するときにはCDROMブートのLinuxなどでddコマンドを実行する必要があるでしょうか? それともddコマンドでOSのバックアップをとったり、複製したりするのは無理でしょうか?

  • dd実行 途中経過

    お世話になります。 ddコマンド採ったイメージをddコマンドでHDDに書き込みたいのですがサイズが大きいため時間がかかります。そこで現在どこまで書き込んだか割合(○%)や簡単なプログレスバーを表示させたいと考えています。 ddの書き込み途中でどれだけ書き込んだかの数値を取得する方法はありますでしょうか。 コマンドの実行は「dd if=imagefile of=/dev/hda1」のような感じです。 よろしくお願い致します。

  • ddコマンドの入力にネットワーク上のファイルを指定

    PXEブートで起動したマシンのHDDにext2形式のイメージを書き込みたいのですが、 ddコマンドで入力のところにネットワーク上のファイルを指定することはできるのでしょうか? 例えばApacheサーバーで # dd if=http://{ホスト名}/~{ユーザ名}/{イメージファイル] of=/dev/sda1 のようにやってみましたが、だめなようです。 初心者なので、とんちんかんなことをやっているかもしれませんが、 どうかご教示ください。