dd:寫入多個磁碟?

dd:寫入多個磁碟?

我有 2 張完全相同的格式、相同尺寸和相同品牌的 SD 卡。我想同時dd成像。 虛擬程式碼/dev/disk2/dev/disk3

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

如何dd將一個輸入轉為多個輸出 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"
    

    bash, ksh, 或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

這也可以透過teeand實現process substitution

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

答案4

七年後回到這個問題

parallel是一個很好的工具

我使用此程式碼片段將磁碟清零,它可以輕鬆更改為映像磁碟

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

相關內容