Intereting Posts
У какого торрент-клиента есть аргументы командной строки для запуска / остановки загрузки? Нужна помощь в получении NoMachine для работы с Ubuntu 14.04 яркость экрана Могу ли я получить справочные страницы без установки соответствующих пакетов? Как я закончил с 16.04 LTS, но 2.6.32 ядром, и как его исправить? Я установил приложение из ненадежного источника? Что делать сейчас? Отменить закрытие вкладки (Ctrl + Shift + T) не работает в Firefox Как удалить все каталоги с определенным именем? Какой пакет предоставляет шрифты для разных языков? Как заставить скрипт ждать выхода Nautilus Возможно ли, что двойная загрузка может уничтожить мой жесткий диск? Что касается разделов для двойной загрузки Ubuntu с уже существующими Windows 7 Скопируйте каждый файл в структуру каталога в конкретный путь, только если файл там не существует Щелчок мышью внезапно прекращает работу Как заставить сканер работать на многофункциональном принтере Samsung SCX 4521F?

В чем разница в использовании cp и dd при клонировании USB-накопителей?

Я обнаружил, что для клонирования USB-накопителя существует как минимум два метода: (с /dev/sdb в качестве источника, в то время как /dev/sdc – цель)

  1. Клонирование с помощью cp :

     sudo cp /dev/sdb /dev/sdc 
  2. Клонирование с dd :

     sudo dd if=/dev/sdb of=/dev/sdc bs=4096 

Существуют ли какие-либо существенные различия между двумя командами и почему предпочтительнее dp над cp?

В этом случае разница в том, что dd ограничено чтением 4096-байтовых блоков за раз, так как вы использовали bs=4096 . Вероятный эффект заключается в том, что dd будет намного, намного медленнее, чем cp . Попробуйте увеличить размер блока ( 10M , 50M ?).

Размер конкретного буфера, который лучше всего подходит для текущих устройств, может отличаться от cp 's (или cat ). Вы не можете легко контролировать буферизацию cp . Утилита dd выделяется, когда:

  • у вас очень большие устройства для копирования, так что эксперимент по определению наилучшего размера блока стоит того.
  • вам нужно скопировать только часть диска. Вы можете указать count чтобы ограничить количество копий блоков.
  • вы хотите возобновить прерванную копию. Вы не можете сделать это с помощью cp , но вы можете попробовать с помощью dd , используя параметры seek и skip .
  • вы хотите направить его на стандартный ввод чего-то (правда, cat тоже будет работать здесь):

     dd if=/dev/sda bs=10M | ssh host dd of=/dev/sdb 

полезность dd очень хорошо обсуждается в этой статье Unix и Linux: dd vs cat – все еще актуальна в наши дни?