dd: создаем образ флешки
Предположим, что у нас имеется некая флешка, образ которой нам необходимо сделать. Допустим, что данная флешка в системе определяется, как /dev/sdb
. Для создания клона данной флешки воспользуемся утилитой dd, которая помимо всего прочего умеет/может:
- копировать первые n байт файла;
- пропустить m байт от начала;
- прочитать файл с дефектного носителя;
- транслировать содержимое файла в ASCII;
- «развернуть» порядок байт в файле;
- просто скопировать очень большой файл;
- все вместе взятое
Рассмотрим несколько примеров по:
- созданию.восстановлению образа флеш-накопителя;
- созданию/восстановлению резервной копии флеш-накопителя с использованием сжатия;
Открываем терминал (консоль) и вводим команду от имени суперпользователя:
dd if=/dev/sdb of=flash_image.img bs=1M
Т.к. по умолчанию терминал открывается в домашней папке пользователя, то созданный образ флешки нужно будет искать именно в этой папке.При таком подходе резервного копирования стоит отметить один существенный недостаток:итоговый образ флешки будет равен объему самой флешки, даже, если на флешке использовано не все свободное пространство. Т.е., если у нас имеется флекша объемом 8Гб, то при таком подходе результирующий образ у нас будет иметь объем 8Гб, т.к. никакого сжатия мы не используем.
Для восстановления существующего образа обратно на флешку вводим команду:
dd if=flash_image.img of=/dev/sdb bs=1M
Собственно тут все тоже самое, только с точностью наоборот.Если у нас имеется две одинаковые флешки и нам необходимо сделать копию одной флешки (sdb) на другую(sdc), то вводим команду:
dd if=/dev/sdb of=/dev/sdc bs=1M
Для создания резервной копии с использованием сжатия вводим команду:
dd if=/dev/sdb bs=1M | gzip -c img.gz
Для восстановления из сжатого образа:
gunzip -c img.gz | dd of=/dev/sdb bs=1M
С точки зрения затраченного времени, данный способ резервного копирования является не самым эффективным, т.к. dd осуществляет линейное чтение данных с носителя (файла). Для уменьшения скорости создания/восстановления образов можно поиграться с параметром bs=1M
(размер блока). В нашем случае размер блока принят равным 1 МБ.