Собственно, команда:
/dev/cdrom - файл-устройство компакт-дисковода
cdimage.iso - имя файла образа. Если указан не полный (или относительный) путь, то будет создан в текущем каталоге
2048 - размер кластера на компакт-диске. При указании bs=2048 считывание данных с диска и запись в файл будет производиться блоками по 2048 байт (2 килобайта). По умолчанию ibs = obs = bs = 512 и в данном конкретном примере его можно было вообще не указывать.
Также с помощью простой команды dd можно сделать массу полезных вещей. Например:
Работа с MBR (Master Boot Record)
MBR занимает первые 512 байт жёсткого диска. В первых 446 байтах находится системный загрузчик, остальные байты - разметка диска (первичные разделы).
Копирование таблицы разделов с диска /dev/sda на диск /dev/sdb (может быть полезно при создании RAID):
Резервное копирование MBR с диска /dev/sda в файл mbr_sda.iso:
или, что по сути то же самое:)
Удаление MBR (затирание нулями):
Удаление MBR (затирание произвольными значениями, сложнее восстанавливать):
Восстановление из файла mbr_sda.iso (с полной копией MBR) только загрузчика на диск /dev/sda:
Работа с разделами диска
Здесь стоит обратить внимание, что чем больше значение bs, тем быстрее происходит копирование. При слишком большом bs для операций может не хватить памяти.
Резервное копирование всего раздела /dev/sda1 в образ sda1.iso (размер образа будет равен размеру партиции!):
Резервное копирование всего раздела /dev/sda1 в образ sda1.iso.gz со сжатием gzip:
Восстановление партиции /dev/sda1 из сжатого образа sda1.iso.gz:
Затирание раздела /dev/sda1 нулями (остаётся небольшая возможность восстановления содержимого):
Затирание раздела /dev/sda1 нулями и единицами в случайном порядке (практически без шансов на восстановление):
Кстати, /dev/random и /dev/urandom - это два разных устройства. Первое - качественнее, второе - быстрее.
При встрече с ошибкой чтения программа dd по умолчанию прекращает работу. Поэтому, если диск начал «сыпаться» и на нём содержатся ошибки, есть смысл воспользоваться ключом conv=sync,noerror. При этом dd будет игнорировать ошибки чтения блока (заданного параметром bs), и в пункт назначения вместо него будет записывать нули. bs должен быть меньше либо равен размеру кластера диска, чтобы не потерять неиспорченные данные.
Все перечисленные команды годятся для работы не только с разделами (/dev/sda1), но и с целыми дисками (/dev/sda)
Восстановление намагниченности поверхности диска (актуально, если файлы у вас хранятся годами без перезаписи):
Дополнительно
Варианты расшифровки команды dd: disk dump, direct data, destroy disk.
dd не выводит прогресс операции. Для его просмотра надо ввести в другой консоли:
Или в другой же консоли автоматизировать процесс вывода, например, выводить информацию раз в минуту:
При восстановлении раздела жёсткого диска и если вы уверены, что на разделе нет ошибок - используйте ключ bs и присвойте ему какое-либо большое значение. Копирование большими блоками может на порядок ускорить операцию.
По умолчанию ibs = obs = bs = 512.
Комментарии
Злобный ламер
#cid89294
Ответить
Злобный Админ, раз уж у тебя крестики-нолики в качестве капчи (не играл в них лет 10, не удержался), проясни один вопрос. Все мы знаем, как затирать винты нулями при помощи dd. А как затереть винт единицами? Есть ли какой-нибудь файл - источник единиц?
#cid89297
Ответить
#cid89294, Злобный ламер
Самописная капча рулит! Полностью решила проблему со спамом.
Генератор единичек или /dev/zero наоборот
#cid89298
Ответить
Кстати, вариант затирания не всего винта, а только свободного места (затирание удалённых файлов) есть здесь:
http://www.it-simple.ru/?p=4387
Злобный баг.
#cid91072
Ответить
Баг в капче!
#cid91073
Ответить
#cid91072, Злобный баг.
А-а-а! Баг в комментах!
Не интригуй, сразу говори какой и где.
Артемка
#cid91933
Ответить
Как мне из снятого всего образа диска восстановить только первый раздел?
#cid91934
Ответить
#cid91933, Артемка
http://www.it-simple.ru/?p=3183
Только не монтировать, а сделать loop и снять тем же dd.
noname
#cid92252
Ответить
Не удержался от игры в к-н), теперь долен коммент))
Зашел сюда в поисках затирания/заполнения единицами со второй страницы выдачи утки, т.к. на SD карточке после пары лет нонстоп чтения в фоторамке (с часами и батарейкой) стали повреждаться фотачке(. Хочется проверить)