当你这样做时:dd if=somefile of=/dev/sdX bs=1024 count =10
使用磁性硬盘,并且如果磁盘有的话,R/W multiple sector transfer: Max = 16
可以估计,16 * 512 = 8192
因此设置 a block size
of bs=8192 会很好,因为 dd 会输出 8192 字节块,这些块将直接进入磁盘缓冲区,并且命令开销最小。
但是,当您使用dd
USB 记忆棒时会发生什么呢? 512 字节的写入是否会导致多个远大于 512 字节的簇/块被擦除,还是 Linux USB 驱动程序会巧妙地处理这个问题?它会通过擦除 4096 字节写出 512 字节,然后通过删除另外 4096 字节来写出下一个 512 字节吗?
答案1
由于 dd 创建原始源的精确图像,因此 bs 选项不会影响目标的布局。
至于写入,dd 默认情况下使用缓存/缓冲区,因此只给它 512 字节是没有意义的。尽管如此,我确实更喜欢给它一个更大的缓冲区,总是 1024 的倍数。