Я хочу переместить физические блоки из одной части жесткого диска в другую часть того же диска. Я пробовал использовать 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), поэтому, я думаю, вам придется указать размер блока в один байт... что приведет к очень медленной работе.