Клонирование SD-карты с помощью команды dd

Я пытаюсь клонировать SD-карту, которая может содержать несколько разделов, некоторые из которых Ubuntu не может распознать. Как правило, я хочу клонировать весь том, а не только какой-то раздел. Итак, я монтирую SD-карту и вижу что-то подобное в средстве просмотра журнала:

kernel: [  262.025221]  sdc: sdc1 sdc2

alex@u120432:~$ ls /dev/sdc*
/dev/sdc  /dev/sdc1  /dev/sdc2

Поскольку я хочу скопировать весь диск, я выполняю:

dd if=/dev/sdc of=sdimage.img bs=4M

File sdimage. img, создано 7,9 ГБ (7,944,011,776 байт) (SD-карта - 8 ГБ). Теперь я монтирую другую SD-карту и выполняю:

dd if=sdimage.img of=/dev/sdc bs=4M

Проблема в том, что вторая команда dd зависает на каком-то этапе и никогда не выполняется. После этого я не могу перезагрузить или выключить компьютер, и мне просто нужно отключить питание.

Это правильный подход? Может быть, есть другой способ клонировать SD-карту?

ОС: Ubuntu & nbsp; 12.04 (Precise Pangolin), 32-разрядная.

64
задан 3 March 2015 в 23:59

5 ответов

Вы не должны использовать dd на подключенных устройствах. сначала размонтируйте все разделы, после чего ваша команда должна работать.

34
ответ дан 3 March 2015 в 23:59

dd в порядке , но я предпочитаю cat / dev / sdc /> ~ / backup.iso Если вы хотите снова поместить его на SD-карту, просто запустите cat ~ / backup.iso> / dev / sdc

9
ответ дан 3 March 2015 в 23:59

Вот шаги, которые помогли мне в Ubuntu восстановить файл образа ( ~ / raspberrypi2.img в моем случае) обратно в новая SD-карта (во многом навеянная ответом Алона выше):

  1. Вставьте карту micro SD через кардридер.
  2. Откройте приложение «Диски».
  3. Быстрое форматирование всей карты (а не отдельного раздела).
  4. Закройте диски.
  5. Откройте терминал и выполните:

     sudo fdisk -l
     

Соответствующий вывод (который показал отсутствие разделов из-за быстрого форматирования всей карты):

Disk /dev/sdb: 7.4 GiB, 7948206080 bytes, 15523840 sectors 
Units: sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disklabel type: dos 
Disk identifier: 0x6957f2f2

sudo dd if=~/raspberrypi2.img of=/dev/sdb

Этот шаг занимает несколько хороших минут (даже на USB3). Убедитесь, что он не прерван какой-либо операцией, которая вызовет монтирование (открытие приложений «Файлы» или «Диски»).

Спасибо за все ответы.

1
ответ дан 3 March 2015 в 23:59

Я использую инструмент dd для клонирования USB-накопителей. с несколькими разделами вот моя команда:

sudo dd if=/dev/sdb of=/dev/sdc bs=4096 conv=notrunc,noerror

notrunc - не обрезать выходной файл
noerror - продолжать после ошибок чтения

14
ответ дан 3 March 2015 в 23:59

Вставьте оригинальную SD-карту и проверьте имя устройства (обычно mmcblkX или sdcX):

sudo fdisk -l

Вы можете увидеть:

Device         Boot   Start      End  Sectors  Size Id Type
/dev/mmcblk0p1 *       2048  2099199  2097152    1G  c W95 FAT32 (LBA)
/dev/mmcblk0p2      2099200 31116287 29017088 13.9G 83 Linux

В моем случае карта SD - это /dev/mmcblk0 (разделы - *p1 и *p2).

Теперь необходимо размонтировать устройство:

sudo umount /dev/mmcblk0

Теперь для создания образа устройства:

sudo dd if=/dev/mmcblk0 of=~/sd-card-copy.img

Это займет некоторое время.

По окончании монтажа вставьте пустую SD-карту. Если устройство другое (USB или SD кард-ридер другого типа), проверьте его имя и обязательно размонтируйте:

sudo fdisk -l
sudo umount /dev/mmcblk0

Запишите образ на устройство:

sudo dd if=~/sd-card-copy.img of=/dev/mmcblk0

Операция записи выполняется гораздо медленнее, чем раньше.

44
ответ дан 3 March 2015 в 23:59

Другие вопросы по тегам:

Похожие вопросы: