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

На самом деле, многие программы не останавливаются на Ctrl+C, потому что все, что он делает, создает исключение в текущем потоке. Многопоточные программы, а также программы с «В случае каких-либо исключений, продолжайте». некоторые инструкции будут продолжены. Правильный случай действий будет либо одним из:

Используйте комбинацию клавиш Ctrl + Break. Нажмите Ctrl + Z. Это не остановит программу, но вернет вам командную строку. Тогда сделайте ps -ax | grep *%program_name%*. Найдите строку, соответствующую одному yopu, который хотите остановить. Первое целое число в строке будет идентификатором программы. Сделайте kill -9 %id%, чтобы остановить его. Если программа также потребляет много ресурсов, вы можете использовать команду top в отдельном терминале, чтобы быстрее видеть идентификатор.
1
задан 4 March 2015 в 00:59

4 ответа

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

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

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

13
ответ дан 25 May 2018 в 03:28
  • 1
    Разве это не требует двух считывателей SD-карт? – Peter Mortensen 4 March 2015 в 00:27
  • 2
    @PeterMortensen да, это так, многие из нас используют эти адаптеры типа 4 в 1. – Teque5 16 March 2016 в 01:37

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

sudo fdisk -l

В моем случае SD-карта - /dev/mmsbkl0. Теперь вам нужно отключить устройство:

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

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

13
ответ дан 25 May 2018 в 03:28
  • 1
    при копировании больших объемов данных вы должны установить размер блока по умолчанию больше, иначе вам придется подождать очень долго. [F1] – xaedes 29 November 2016 в 18:50

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

8
ответ дан 25 May 2018 в 03:28
  • 1
    Оба SD - 8 ГБ. cat можно использовать для создания SD-изображения, но для создания другого SD я должен использовать dd, правильно? – Alex F 11 December 2012 в 21:17

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

Вставьте микро 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
[ f3]

Этот шаг занимает несколько минут (даже на USB3). восстановить (открытие файлов или дисков).

Спасибо за ответы каждого.

0
ответ дан 25 May 2018 в 03:28

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

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