dd — простая утилита, которая входит в состав большинства Unix-подобных операционных систем — Linux, FreeBSD, Solaris и т.д.
Ее предназначение — чтение данных из одного устройства или файла и запись в другой.
dd можно эффективно использовать для создания образа жесткого диска, при этом обойдясь без коммерческих утилит вроде Acronis True Image или Norton Ghost.
Предположим, что у нас есть два диска:
/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
— показать статистику копирования.
Минусы использования dd для создания образов диска
У всего есть плюсы и минусы. dd является бесплатным и очень гибким инструментом, однако с его помощью можно сделать только полное копирование тома. Специальные программы умеют копировать только данные которые хранятся на диске.
Таким образом, объем образа диска, созданный с помощью dd будет равен объему самого диска — вне зависимости, сколько на диске данных.
Программами оценки состояния жесткого диска SMART выдаются сообщения о значительных неисправностях его аппаратной части.
Да и пусть выдаются — вам-то что?