Создание образа жесткого диска при помощи dd

Где-то уже было записано, но благополучно утеряно :-). Дабы не искать лишний раз зашпаргалю.

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

  • /dev/sda — диск, образ которого необходимо создать;
  • /dev/sdb — диск на который будет записан образ.

При необходимости нужно подставить собственные значения.

Подготовка к созданию образа жесткого диска

Первым делом необходимо загрузиться с любого доступного Live-CD диска, имеющего утилиту dd, и войти в командную строку в качестве суперпользователя. Создаем точку монтирования для проведения резервного копирования.

mkdir /mnt/backup

Монтируем жесткий диск на который необходимо сохранить образ.

mount /dev/sdb1

Создание образа жесткого диска

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,noerror
  • if=/dev/sda — копируем весь жесткий диск sda;
  • of=/mnt/backup/sda.img — копируем в /mnt/backup/sda.img;
  • bs=8M — задаем размер кэша жесткого диска для ускорения процедуры копирования (иначе данные будут сбрасываться малыми порциями по 512 байт);
  • conv=sync,noerror — указываем dd на необходимость копирования по типу бит-в-бит с игнорированием ошибок чтения.

Для сокращения размера образа жесткого диска его можно сжать любым архиватором.

dd if=/dev/sda bs=8M conv=sync,noerror | gzip -c > /mnt/backup/sda.img.gz

Восстановление образа жесткого диска

Для восстановления образа жесткого диска необходимо проделать процедуру обратную процедуре создания этого образа.

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror

При использовании сжатия параллельно необходимо разархивировать образ.

gunzip -c /mnt/backup/sda.img.gz | dd of=/dev/sda conv=sync,noerror bs=8M

Миграция системы на другой жесткий диск

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

dd if=/dev/sda of=/dev/sdb bs=8M conv=sync,noerror

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

Статистика копирования в dd

Главный минус в dd — это отсутствие наглядного представления статистики выполнения процедуры копирования. Однако этот минус можно легко обойти. Достаточно подключиться к другому терминалу Alt+Ctrl+F2.

Определить номер процесса, под которым запущена dd.

pgrep -l '^dd$'

Периодически посылать данному процессу команду kill -USR1 номер_процесса_dd.

watch -n 5 kill -USR1 номер_процесса_dd
  • watch -n 5 — выполнять команду каждые 5 секунд;
  • kill -USR1 номер_процесса_dd — показать статистику копирования.

Обсуждение

, 2017/09/05 17:17
А если у меня /dev/sda очень большой, а система занимает только /dev/sda1 и ее надо перенести на /dev/sdb*? Прокатит простое изменение обозначений дисков (разделов) в команде или все сложнее? Спасибо
, 2017/09/20 22:47
Да, конечно.
Ваш комментарий:
   ___   __  __   ___  ______  _      __   __ __
  / _ \ / / / /  / _ |/_  __/ | | /| / /  / // /
 / , _// /_/ /  / __ | / /    | |/ |/ /  / _  / 
/_/|_| \____/  /_/ |_|/_/     |__/|__/  /_//_/