Я пытаюсь клонировать 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-разрядная.
Вы не должны использовать dd на подключенных устройствах. сначала размонтируйте все разделы, после чего ваша команда должна работать.
dd в порядке , но я предпочитаю cat / dev / sdc /> ~ / backup.iso
Если вы хотите снова поместить его на SD-карту, просто запустите cat ~ / backup.iso> / dev / sdc
Вот шаги, которые помогли мне в Ubuntu восстановить файл образа ( ~ / raspberrypi2.img
в моем случае) обратно в новая SD-карта (во многом навеянная ответом Алона выше):
Откройте терминал и выполните:
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). Убедитесь, что он не прерван какой-либо операцией, которая вызовет монтирование (открытие приложений «Файлы» или «Диски»).
Спасибо за все ответы.
Я использую инструмент dd для клонирования USB-накопителей. с несколькими разделами вот моя команда:
sudo dd if=/dev/sdb of=/dev/sdc bs=4096 conv=notrunc,noerror
notrunc - не обрезать выходной файл
noerror - продолжать после ошибок чтения
Вставьте оригинальную 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
Операция записи выполняется гораздо медленнее, чем раньше.