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

Это является небольшим дополнением к другому вопросу пользователей, найденному здесь: Клонирование SD-карты с помощью команды dd

Я использовал команду dd для клонирования или создания резервных копий SD-карты с ограниченным успехом. Они предназначены для моих одноплатных компьютерных проектов, где целесообразно время от времени полностью резервировать SD-карту. Я говорю об ограниченном успехе, потому что иногда мне удавалось полностью восстановить систему (карту), используя советы, найденные в Интернете.

Тем не менее, обратите внимание, что в других случаях это не имело место, и мне интересно, имеет ли это какое-то отношение к монтажу (или, в идеале, отключению карты, так как здесь есть некоторая путаница (для меня в любом случае).

Вопрос 1: Когда я запускаю umount (как предложено на вышеупомянутой странице форума), он сообщает, что устройство не смонтировано. Это потому, что оно просто размонтировало устройство, или потому что устройство, которое я указал для размонтирования, не ' существует ли для размонтирования в первую очередь?

Для размонтирования я использую следующую команду: sudo umount /dev/sdc

Вопрос 2: В утилите GUI Ubuntu 16.04 (Files), память USB карта памяти или SD-карта, вставленная в USB, имеет небольшую стрелку, направленную вверх, справа от нее. Если вы нажмете на нее, это эффективно отключит устройство и сделает его безопасным для извлечения. Это то же самое, что отключить в CLI? Похоже, дело в том, что когда я это сделал, команда dd выдает ошибку, из-за которой не удается найти мое устройство для создания образа. I f Я отключаю SD-карту (USB), а затем снова подключаю ее. SD-карта снова отображается с маленькой стрелкой, и я могу без проблем использовать DD для создания изображения (хотя вопрос является ли изображение хорошим - другой вопрос , поскольку я до сих пор не знаю, был ли он фактически отключен до создания изображения!)

Upward facing arrow disconnects HDD, SD etc. Unmount?

Вопрос 3: Когда я запустите sudo fdisk -l, я вижу мою карту в списке sdb, однако, если я использую утилиту дисков, я вижу, что SD-карта фактически состоит как минимум из 3 разделов (SDB повторяется для 2 разделов и SDB1 для основной или основной раздел). Какой раздел я должен выбрать как часть операции dd? Не ограничится ли dd только созданием образа этого раздела, игнорируя остальную SD-карту? Если это так, на самом деле не имеет смысла называть его инструментом создания образа диска как таковым ...

Наконец, это команда dd, которую я запускаю, чтобы создать сжатый образ SD-карты (Когда я получаю это право, она отлично работает, и у Этчера тоже нет проблем с чтением сжатого изображения)

sudo dd if=/dev/sdc | pv | gzip > FileNameHere.img.gz

Мы ценим вашу помощь для тех, кто все еще изучает веревки с Linux, даже после нескольких лет использования и опыта.

2
задан 30 January 2018 в 14:13

2 ответа

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

Этот очень мощный инструмент будет копировать каждый бит из источника в любое место назначения.

  • Часть любого пункта назначения имеет решающее значение, так как это означает, что если вы случайно введете не в том месте, она может беспощадно перезаписать данные там.

  • каждый бит также означает, что он будет копировать каждый отдельный бит в любом месте. Он также будет копировать пустые биты и содержимое корзины. Это очень полезно для создания образа для восстановления, но это может быть не то, что вам нужно для простого резервного копирования.

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

Чтобы по-прежнему отвечать на ваши вопросы:

  1. Да, вы можете размонтировать разделы (т.е. не диски!) Как из Nautilus, так и из командной строки.
  2. Да, разделы (например, /sdb1) необходимо отключить, чтобы можно было скопировать их с помощью dd.
  3. Да, вы можете скопировать все блочное устройство (в вашем случае /sdb), включая все разделы, таблицы разделов, удаленный файл, загрузочные записи, удаленные разделы и что еще оно может содержать с dd, но вы не можете пропустить "неиспользуемые" области.
3
ответ дан 30 January 2018 в 14:13

1. Размонтируйте

Команда

sudo umount /dev/sdc

размонтирует файловую систему, которая создается непосредственно «на всем диске», как на старых дискетах. Сегодня мы обычно создаем разделы /dev/sdxn и создаем файловые системы в разделах, где x - буква диска, а n - номер раздела, поэтому более подходящей командой будет

sudo umount /dev/sdc1

или для всех разделов в sdc

sudo umount /dev/sdc?

2. Символ извлечения

Стрелка, на которую вы ссылаетесь, является символом извлечения, и она не только отключит USB-накопитель или карту памяти, но и отключит питание для нее. Вам необходимо отключить и снова подключить Pendrive или карту, чтобы вернуть питание, чтобы вы могли смонтировать его снова (может быть, он автоматически смонтируется).

Это отличается от того, что вы делаете с командой umount. Я думаю, что программное обеспечение udisks вызывается из этого символа выброса. См.

man udisksctl

, в котором описывается утилита командной строки.

3. Какой раздел с точки зрения Дисков ...

Клонировать целый диск для клонирования всей операционной системы. Вам следует использовать исходное устройство /dev/sdx, иначе вы клонируете только раздел, и он не будет содержать всю систему. Должна быть буква диска, но не номер раздела. Вы также можете использовать Clonezilla или mkusb для более безопасного клонирования (dd опасно).

Если вы все равно хотите использовать dd, вам следует начать с размонтирования всех разделов на диске,

sudo umount /dev/sdc?

, и после этого должна появиться указанная в редактируемом вопросе командная строка. сделайте эту работу,

sudo dd if=/dev/sdc | pv | gzip > FileNameHere.img.gz

и, если я правильно понимаю, она работает для вас (создать сжатый файл образа, который можно использовать для восстановления системы).

  • Он должен работать напрямую с обратной командной строкой для создания работающей системы, если есть таблица разделов MSDOS (MBR).

  • Если существует таблица разделов GUID (GPT), необходимо восстановить резервную таблицу разделов в конце диска (если размер целевого диска не совсем совпадает с размером исходного диска). Это делается автоматически с помощью mkusb и может быть сделано вручную с помощью gdisk или с помощью скрипта gpt-fix .

    . ]
  • [Тысячу сто сорок одна]
1
ответ дан 30 January 2018 в 14:13

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

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