Как скопировать необработанные блоки на один диск с помощью 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 КБ, начиная с позиции 916 709 376 до позиции 1 893 461 391. Я также пробовал включать, of=/dev/disk2но результаты были такими же. Что я делаю не так? Спасибо!

решение1

ddинтерпретирует многие параметры (включая count, skip, и seek) как количество блоков, а не количество байтов. В результате он пытается пропустить около 480 терабайт в /dev/disk2, и я подозреваю, что disk2 не такой уж большой.

Вы имели в виду, что эти значения должны быть в байтах? Если так, то есть проблема: значение seek— нечетное число (и НОД трех чисел равен 1), поэтому, я думаю, вам придется указать размер блока в один байт... что приведет к очень медленной работе.

Связанный контент