如何使用 dd 在同一磁盘上复制原始块?

如何使用 dd 在同一磁盘上复制原始块?

我想将物理块从硬盘的一个部分移动到同一磁盘的另一个部分。我尝试dd在 macOS High Sierra 上使用,但没有数据传输。

$ sudo dd if=/dev/disk2 bs=512k count=16777216 skip=916709376 seek=1893461391
0+0 records in
0+0 records out
0 bytes transferred in 0.000022 secs (0 bytes/sec)

因此,我尝试将 16,777,216 个 512 kB 块从位置 916,709,376 移动到位置 1,893,461,391。我也尝试过包括,of=/dev/disk2但结果是一样的。我做错了什么?谢谢!

答案1

dd将许多参数(包括countskipseek)解释为块数,而不是字节数。因此,它试图跳过大约 480 TB 进入 /dev/disk2,而我怀疑 disk2 并没有那么大。

您的意思是这些值以字节为单位吗?如果是这样,那就有问题了:该seek值是一个奇数(并且这三个数字的 GCD 是 1),所以我认为您必须指定一个字节的块大小……这会使其运行非常慢。

相关内容