我有 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
借用自唐克里斯斯蒂的回答使用
tee
,但不使用dd
或巴什主義:sudo tee /dev/disk2 /dev/disk3 > /dev/disk4 < masi.img
使用
pee
Debian 的更多實用程式包裹: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
這也可以透過tee
and實現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