带有覆盖的DD命令[关闭]

我有关于dd命令的问题,上周我使用了以下表格:

sudo dd if=system.img of=/dev/sdb2 bs=1M
# system.img has 512MB

但我的图像经历了一些变化,我不得不再次运行相同的命令,我得到了答案:

512 + 0 records in
512 + 0 records out
536870912 bytes (537 MB, 512 MiB) copied, 40.8683 s, 13.1 MB/s

SD中是否覆盖了之前的图像?为什么537 MB的结果?

0
投票

你的两个问题具体是:

SD中是否覆盖了之前的图像?

是的,否则你会得到某种错误信息。当然,SD卡设备驱动程序可能会报告成功,即使它没有写入数据但是这将是一个非常无用的设备驱动程序,因此不太可能:-)

为什么537 MB的结果?

在IT世界中,通常会有512兆字节(尽管有些人坚持使用类似于基于二进制术语的“kibibytes”之类的类似声音的语句)512 * 1024 * 1024536870912字节,如输出中所示。通常使用的数字很清楚。如果它是2的幂(如512),那么“兆字节”指的是220字节而不是106字节是一个相当安全的赌注。

其根本原因在于ISO将kilo这样的术语定义为1000,并且不要过于善意地将我们的(错误)术语用于表示1024,并且磁盘制造商也可以声称他们的磁盘比实际大是 :-)

然后,dd实用程序将此报告为基于舍入小数和基于二进制的术语:

537MB   512MiB