На этот вопрос уже есть ответ здесь:
Я настроил dd
на клонируйте меньший системный жесткий диск на 40,00 ГБ (/ dev / sda) на новый, больший 111,00 ГБ, подключенный через USB-ридер (dev / sdb), и это работает уже два часа. Измеритель активности на новом жестком диске показывает, что он что-то делает. Но CPU всего около 20%. Когда это дело будет завершено? Следует ли мне перезапустить процесс?
У меня была похожая проблема. Причина была другой в моем случае.
Целевым диском является внешний жесткий диск.
Если диск был смонтирован автоматически с помощью udisks
и udisks-glue
, то скорость передачи с компакт-диска на жесткий диск была около 40 кБ / с.
Когда я размонтировал жесткий диск и установил его напрямую через mount
, я получил скорость передачи около 2,4 МБ / с.
В прошлом я использовал pv, а также (ps и kill), как предлагалось в других ответах, но в последнее время я просто использовал вместо этого dc3dd
, который дает те же результаты, предоставляя отчет о ходе работы по всему процесс.
Вы можете проверить, установлен ли он уже с: which dc3dd
Если не можете установить его с sudo apt-get install dc3dd
Командные переключатели аналогичны dd (для клонирования, хотя вытирать немного проще).
В вашем случае я бы использовал команду dc3dd if=/dev/sda of=/dev/sdb
Редактировать:
Последние версии dd
из пакета coreutils Версия 8.24+ включена в Ubuntu 16.04 и более поздние версии, включая параметр состояния. Вы можете добиться того же результата с помощью dd
, добавив переключатель status=progress
в командную строку dd
.
Пример: dd if=/dev/zero of=/dev/null count=1000 status=progress
Вы можете увидеть, как далеко он продвинулся, послав ему сигнал SIGUSR1, чтобы увидеть, сколько данных он скопировал и скорость передачи:
kill -SIGUSR1 $(pidof dd)
Для копирования вы ограничены I / Скорость устройства, поэтому процессор не должен быть полностью загружен, так что не беспокойтесь об этом.
Вместо этого вы можете использовать ddrescue:
sudo ddrescue -v /dev/sda /dev/sdb
v означает многословно.
В будущем вы должны использовать pv
, чтобы получить индикатор выполнения.
sudo apt-get install pv
С установленным pv
предположим, что вы хотите клонировать диск 20 ГБ, /dev/foo
, на другой диск (20 ГБ или больше!), /dev/baz
:
sudo dd if=/dev/foo bs=4M | pv -s 20G | sudo dd of=/dev/baz bs=4M
Важные биты, на которые следует обратить внимание: аргумент bs=4M
устанавливает размер блока для операций dd равным 4 МБ, что резко повышает скорость всего процесса. А аргумент -s 20G
сообщает pv
, насколько большой должна быть эта операция, поэтому она может дать вам ETA, а также текущую скорость.
Я люблю pv
так сильно, что, вероятно, это должно быть незаконно.