Como copio blocos brutos no mesmo disco usando dd?

Como copio blocos brutos no mesmo disco usando dd?

Quero mover blocos físicos de uma parte de um disco rígido para outra parte do mesmo disco. Tentei usar ddno macOS High Sierra, mas nenhum dado está sendo transferido.

$ 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)

Então, estou tentando mover 16.777.216 blocos de 512 kB, começando da posição 916.709.376 para a posição 1.893.461.391. Eu também tentei incluir, of=/dev/disk2mas os resultados foram os mesmos. O que estou fazendo de errado? Obrigado!

Responder1

ddinterpreta muitos parâmetros (incluindo count, skipe seek) como números de blocos, não números de bytes. Como resultado, ele está tentando pular cerca de 480 terabytes para/dev/disk2, e suspeito que o disco2 não seja tão grande.

Você quis dizer que esses valores estavam em bytes? Nesse caso, há um problema: o seekvalor é um número ímpar (e o MDC dos três números é 1), então acho que você teria que especificar um tamanho de bloco de um byte... o que fará com que ele rode muito devagar.

informação relacionada