dd:複数のディスクに書き込んでいますか?

dd:複数のディスクに書き込んでいますか?

同じフォーマット、同じサイズ、同じブランドのSDカードが2枚あります。同時に画像を作りたいですdd。擬似コード/dev/disk2/dev/disk3

sudo dd bs=1m if=/Users/masi/2016-05-10-raspbian-jessie.img of={/dev/disk2,/dev/disk3}

dd1つの入力をマルチ出力SDに変換するには?

答え1

あなたは試すことができますdcfldd
gnu dd複数のファイルやディスクに同時に出力できる拡張バージョンです。

dcfldd if=masi.img of=/dev/disk2 of=/dev/disk3 of=/dev/disk4

答え2

  1. 次から借りるドンクリスティ回答使用するteeが使用し ddない強く打つ教義:

    sudo tee /dev/disk2 /dev/disk3 > /dev/disk4 < masi.img
    
  2. peeDebian の使用その他のユーティリティパック:

    sudo dd if=masi.img | \
      pee "dd of=/dev/disk2"  "dd of=/dev/disk3"  "dd of=/dev/disk4"
    

    bashkshまたはを使用することは、zsh次のように省略できます。

    sudo dd if=masi.img | pee "dd of=/dev/disk"{2..4}
    

    または(必要でない場合にdd便利な機能):

    sudo pee "dd of=/dev/disk"{2..4} < masi.img
    

    pee便利です。必要に応じて、参照された各引数内にさらに他のddオプションを含めることも、各出力デバイス用に個別にカスタマイズされた他のパイプおよびフィルタも含めることができます。

使用する方法に関係なく、出力ディスクの数は無限に拡張できます。

答え3

teeこれは次の方法で達成することもできますprocess substitution

dd if=/dev/sda | tee >(dd of=/dev/sdb) >(dd of=/dev/sdc) | dd of=/dev/sdd

答え4

7年後、この質問に戻ってくる

parallel良いツールです

このコードスニペットを使用すると、ディスクをゼロにし、イメージディスクに簡単に変更できます。

parallel dd if=/dev/zero of={} status=progress ::: /dev/nvme{0,1}n1

関連情報