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

相关内容