dd:写入多个磁盘?

Léo*_* 준영 18 dd files output

我有 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}
Run Code Online (Sandbox Code Playgroud)

如何dd从一个输入到多个输出 SD?

don*_*sti 23

你可以试试 它的增强版,它可以同时输出到多个文件或磁盘:dcfldd
gnu dd

dcfldd if=masi.img of=/dev/disk2 of=/dev/disk3 of=/dev/disk4
Run Code Online (Sandbox Code Playgroud)

  • `dcfldd` 是最快的,也许那应该是首选。 (3认同)

agc*_*agc 21

  1. 借用don_crissti的回答,使用tee, but without ddor bash isms:

    sudo tee /dev/disk2 /dev/disk3 > /dev/disk4 < masi.img
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用pee从Debian的moreutils包:

    sudo dd if=masi.img | \
      pee "dd of=/dev/disk2"  "dd of=/dev/disk3"  "dd of=/dev/disk4"
    
    Run Code Online (Sandbox Code Playgroud)

    随着bashksh或者zsh,也可以简写为:

    sudo dd if=masi.img | pee "dd of=/dev/disk"{2..4}
    
    Run Code Online (Sandbox Code Playgroud)

    甚至,(如果不需要dd's 有用的功能):

    sudo pee "dd of=/dev/disk"{2..4} < masi.img
    
    Run Code Online (Sandbox Code Playgroud)

    pee有用;如果需要,可以包括(在每个引用的参数中)额外的不同dd选项,甚至其他管道和过滤器,为每个输出设备单独定制。

使用任何一种方法,输出磁盘的数量都可以无限扩展。

  • 90 年代`cp` 中的错误?`dd` 比那年长 20 岁。使用 `dd` 的主要原因是许多设备,尤其是磁带驱动器,需要以固定的块大小进行读/写,这就是为什么 `dd` 具有 `bs`、`ibs` 和 `obs` 参数,并且是唯一可以确保正确块大小的程序。 (8认同)