Страница man dd настолько расплывчата, как создать образ диска

Я загружаю Ubuntu с живого диска и хочу создать резервную копию всего моего SSD (sdb) со всеми 3 перегородками (sdb1, sdb2, sdb3) в файл изображения на внешнем жестком диске.


Это руководство предлагает эту команду:

dd if=/dev/sdX conv=sync,noerror bs=64K | gzip -c  > /path/to/backup.img.gz
  1. Я хочу использовать изображение, чтобы потом преобразовать его qemu в VHD или же VMDK и загрузите систему Ubuntu на виртуальной машине, так что я не уверен в .gz сжатие там.

  2. Какой формат .img файл, который создает команда? Это .iso?

  3. Почему команда имеет conv? Я не хочу никакого преобразования, я хочу сырой клон для изображения.

  4. Я также заметил dd команда даже не имеет of= часть.

  5. Есть ли bs=128k улучшить скорость, чем bs=64k?


Итак, из того, что я знаю, я думаю, что правильная команда для моих нужд:

dd if=/dev/sdb bs=64k of=/dev/sdd1/image.img

нота: sdd1 это единственный раздел моего внешнего жесткого диска.

2 ответа

Решение
  1. Я хочу использовать изображение, чтобы потом преобразовать его qemu в VHD или же VMDK и загрузите систему Ubuntu на виртуальной машине, так что я не уверен в .gz сжатие там.

Если вы хотите это для виртуальной машины, вы не хотите, чтобы она была сжата. И вам, вероятно, тоже не нужен необработанный образ, а скорее преобразование p2v (физического в виртуальное). Для VirtualBox вы можете, например, сделать

cat /dev/sda | VBoxManage convertfromraw stdin OutPutFile.vdi NUMBEROFBYTES

Который создаст действительный vboximage диска для вас.

  1. Какой формат .img файл, который создает команда? Это .iso?

Iso относится к файловой системе ISO9660. Если вы создадите образ всего жесткого диска, это будет образ жесткого диска, включая загрузочный сектор и таблицу разделов. Если вы создаете образ отдельного раздела, формат по существу будет таким, какой у этого раздела.

  1. Почему команда имеет conv? Я не хочу никакого преобразования, я хочу сырой клон для изображения.

conv указывает аргументы, которые могут делать некоторые преобразования. В этом случае это говорит dd использовать синхронный ввод-вывод, а не прерывать при ошибках. Войти man dd а также /syncВведите для поиска синхронизации на странице руководства

  1. Я также заметил dd команда даже не имеет of= часть.

dd выводит на стандартный вывод, если не перенаправлен. В этом случае стандартный вывод направляется в gzip, который сжимает файл и пишет в /path/to/backup.img.gz,

  1. Есть ли bs=128k улучшить скорость, чем bs=64k?

Наверное. Окончательный ответ будет проверять это, например, с time dd if=/dev/sda of=/dev/zero bs=64k count=10000и повторите с разными размерами.

Справочная страница dd не расплывчато Вы просто не понимаете всех понятий.

Вы не должны использовать какие-либо параметры конвертации для ваших целей. Просто оставь их.

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

Первая команда не имеет of аргумент, потому что данные передаются другой команде. Так dd генерирует некоторые данные, которые затем передаются gzip который выполняет сжатие, а затем записывает результат в указанное место. Чтобы узнать больше о каналах, просто зайдите в "Linux pipe". Они действительно полезны. Тем не менее, вам не нужно ничего для вашей цели.

Нет определенного формата для вывода dd, dd просто копирует данные. Он берет все, что находит в своем входном местоположении, и копирует его в свое выходное местоположение. Как правило, расширение файла ".img" используется. Тем не менее, потому что dd копии могут быть чем угодно, в некоторых ситуациях полезно использовать что-то более конкретное, например ".iso".

Размер блока (который указывается через bs) может даже быть намного больше на современных компьютерах. Если вы используете какой-либо компьютер, созданный за последние годы, переходите прямо к bs=4M или что-то вроде этого. Если он в правильном диапазоне, игра с ним не сильно изменится.

Для резервного копирования вашего диска вы можете использовать эту команду:

sudo dd if=/dev/sda bs=4M of=/path/to/your/storage/location/filename.img

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

Но убедитесь, что ваш of не начинается с /dev если вы точно не знаете, что делаете! Это может стереть весь диск! Это не должно приводить к расположению устройства, на котором вы хотите, чтобы изображение было, но к месту, где он смонтирован. Эти пути обычно начинаются с /media или же /mnt,

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