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

Для создания образа жесткого диск не обязательно использовать утилиты на подобии Acronis True Image или Norton Ghost, достаточно простой утилиты dd, которая входит в состав большинства Unix-подобных операционных систем (Linux, FreeBSD, Solaris и т.д.) В статье рассмотрен простой способ создания резервной копии образа жесткого диска при помощи 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

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

Для восстановления образа жесткого диска необходимо проделать процедуру обратную процедуре создания этого образа.
dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror
При использовании сжатия параллельно необходимо разархивировать образ.
gunzip -c /mnt/backup/sda.img | 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 - показать статистику копирования.

Комментарии

Популярные сообщения из этого блога

Права на папки и файлы (unix/chmod)

Автоматическое монтирование дисков и разделов в Linux или что такое fstab? Проблема Debian

Как подключить сетевой диск Windows в Linux