我有 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