Как сделать резервную копию mbr с помощью утилиты dd

Добавил пользователь Валентин П.
Обновлено: 04.10.2024

Стандартный синтаксис команды выглядит следующим образом:

$ dd if= of= [параметры]

Несложно заметить, что для передачи параметров утилите используется формат записи = . Утилита может читать исходные данные из стандартного потока ввода и выводить результирующие данные с помощью стандартного потока вывода в случае отказа от использования параметров if и of, но в подавляющем большинстве случаев данные параметры являются необходимыми для указания имен файлов с соответствующими данными. Утилита читает и записиывает данные блоками, причем размер блока может изменяться с помощью параметра bs (по умолчанию используются блоки размером в 512 Кб). Существуют отдельные параметры для задания размеров читаемых и записываемых блоков, а именно, ibs и obs. Количество читаемых блоков может ограничиваться в помощью параметра count. Для пропуска заданного количества блоков исходного файла может использоваться параметр skip, целевого файла — параметр seek. Для указания флагов чтения и записи через запятую может использоваться параметр iflag. Наиболее часто используемыми флагами являются:

  • append — активация режима дописывания данных в целевой файл.
  • direct — режим обработки данных в обход кэша файловых систем (повышает скорость).
  • dsync — режим записи данных с синхронизацией (повышает надежность).
  • sync — режим записи данных и метаданных с синхронизацией (повышает надежность).
  • fullblock — чтение лишь полных блоков.
  • nonblock — активация режима неблокируемого ввода/вывода (повышает скорость).
  • noatime — отключение механизма обновления меток времени элементов файловой системы (повышает скорость).
  • nofollow — отказ от перехода по символьным ссылкам.

Наконец, для указания флагов преобразования через запятую может использоваться параметр conv. Наиболее часто используемыми флагами являются:

Примеры использования

Создание резервной копии данных дискового накопителя

Предположим, мы используем жесткий диск, представленный файлом устройства /dev/sda, и нам нужно создать посекторную резервную копию всех размещенных на нем данных, сохранив ее в файле в разделе съемного диска с интерфейсом USB, представленном файлом устройства /dev/sdb1 и смонтированным в директорию /mnt/sdb1. Обычно такие файлы резервных копий называются дампами или образами дисков. Наш файл образа диска будет носить имя backup.img. Это команда, с помощью которой его можно создать:

В данной команде с помощью параметра if задается путь к исходному файлу, а с помощью параметра of — к целевому.

Восстановление данных из резервной копии

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

Предупреждение: при выполнении данной команды будет перезаписано все содержимое указанного жесткого диска, поэтому стоит относиться к подобным командам с особым вниманием.

Клонирование жесткого диска

Перед клонированием жесткого диска вы должны убедиться в том, что у вас имеется жесткий диск того же объема, что и исходный. Эта же операция может выполняться и в случае флеш-накопителей с интерфейсом USB аналогичных объемов. Предположим, что исходный флеш-накопитель представлен файлом устройства /dev/sdb, а целевой — файлом устройства /dev/sdc. В этом случае вы можете клонировать исходный накопитель с помощью следующей команды:

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

Передача файла образа диска на другой компьютер

Для передачи файла образа диска по сети на другой компьютер с именем target может использоваться следующая команда:

Сжатие файла образа диска

Для того, чтобы резервная копия раздела диска занимала меньше места, вы можете сжать ее с помощью компрессора, такого, как bzip2:

Создание образа оптического диска формата ISO

Для создания образа оптического диска CD, DVD или BD достаточно поблочно прочитать его содержимое и сохранить это содержимое в файле:

Сохранение файла с поврежденного носителя или создание образа такого носителя

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

Вы также можете создать файл образа поврежденного носителя и попытаться извлечь файлы из него:

Запись образа установочного диска на флеш-накопитель с интерфейсом USB

Для установки дистрибутива Linux с флеш-накопителя с интерфейсом USB необходимо записать на этот флеш-накопитель образ установочного диска формата ISO. Для этой цели может использоваться аналогичная команда:

Важно помнить, что даже в случае наличия на флеш-накопителе разделов следует указывать не путь к файлу устройства одного из разделов, а путь к файлу устройства самого накопителя, в нашем случае это /dev/sdc.

Анализ содержимого жесткого диска

Утилита dd является отличным инструментом для исследования файловых систем. Для анализа содержимого жесткого диска с выводом данных из отдельных блоков, в нашем случае, блока 1001 на разделе, представленном файлом устройства /dev/sdc1, достаточно использовать следующую команду:

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

В данном случае с помощью параметра bs задается размер блока диска.

Тестирование производительности дисковых накопителей

Для тестирования производительности дискового накопителя, представленного, к примеру, файлом устройства /dev/sda в условиях чтения блоков различных размеров может использоваться аналогичная команда:

Благодаря механизму кэширования файловых систем вы можете столкнуться с мистическим ускорением операции чтения, которому не стоит удивляться:

Для получения корректных результатов тестов рекомендуется вообще обходить механизм кэширования файловых систем, задействуя режим ввода/вывода без кэширования:

Копирование файлов

Да, утилита dd может использоваться даже для обычного копирования файлов. Конечно же, для этой цели лучше использовать специально предназначенную для этого утилиту, а именно, cp. В любом случае, вы можете скопировать файл с помощью аналогичной команды:

Мы расскажем, как посредствам специальной утилиты DD создавать резервные копии данных на виртуальном сервере под ОС Виндовс Сервер.

Несколько слов о резервном копировании файлов

Утилитой DD можно воспользоваться для ОС семейства Линукс, ее команды помогают с копированием файлов через определенные операнды. Это одна из наиболее давних утилит, ее бэкапы можно открыть разнообразным софтом. Версия под операционную систему Виндовс отличается меньшим функционалом, чем версия для Линукс. К примеру, в ней отсутствует поддержка конвертации файлоы и использования блочных устройств.

Как загрузить утилиту

Скачиваем утилиту DD со специального сайта, ведь это стороннее программное обеспечение, широко доступное для пользователей.

В загруженном архиве будет несколько файлов, запустить утилиту позволит приложение dd.exe.

Как использовать

Применение DD в Виндовс системах очень похоже на ее использование в командной строке Линукса.

Для открытия страницы с помощью следует зайти в каталог с нужным объектом, а после открытия консоли PowerShell ввести:

Если нужна запасная копия HDD вместе со всей хранящейся на нем информацией, пригодится такая строчка:

./dd.exe if= of= bs=1440k

Демонстрация того, как создать образ диска F и перенести его на диск Е:

./dd.exe if=.f: of=e:tempdisk1.img bs=8M

В результате получается:

rawwrite dd for windows version 0.5.

Written by John Newbigin

This program is covered by the GPL. See copying.txt for details

7279+1 records in

7279+1 records out

  1. Строчка if=/dev/sda отвечает за копирование всего жесткого диска sda.
  2. Задать конкретный объем кэша на жестком диске, который позволит ускорить процесс копирования данных, поможет выражение bs=8M. В противном случае информация начнет переноситься мелкими размерами, примерно по 512 б каждый.
  3. Место, куда будет копироваться файл, указывается командой of=/mnt/backup/sda.img. Первые два выражения означают точку монтирования HDD для хранения образа, то есть папке mnt с подпапкой backup.

Обратите внимание: перед создание бэкапов надо убедиться, что на желаемом диске хватает незанятого пространства.

Восстановить HDD из бэкапа поможет команда:

./dd.exe if= of= bs=8M

./dd.exe if=e:tempdisk1.img of=.f: bs=8M

В итоге получится:

rawwrite dd for windows version 0.5.

Written by John Newbigin

This program is covered by the GPL. See copying.txt for details

1279+1 records in

1279+1 records out

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

Обратите внимание: здесь создание бэкапов происходит один раз за 24 часа, все данные переносятся на диск, который удален территориально от самого сервера. Пользователю нет нужды самому настраивать резервное копирование, а хранение бэкапов происходит даже при сбоях на сервере.

Сохранить и после восстановить MBR в Linux поможет утилита DD.

Сделать резервную копию MBR диска sda в файл mbr.backup

Полное восстановление MBR для диска sda в из файла mbr.backup

Восстановить только загрузчик MBR для диска sda в из файла mbr.backup

Для пользователей, которые не "дружат" с командной строкой, существует бесплатная программа с открытым исходным кодом - TestDisk . Она работает не только по Linux, а доступна и из под DOS, Windows (NT4, 2000, XP, 2003, Vista), FreeBSD, NetBSD, OpenBSD, SunOS, MacOS.

dd

Получаем отчет об операции

Параметры, указанные в команде

if – источник копирования;

of – файл назначения, куда копируем;

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

count – число, которое указывает на то, какое количество площадок мы хотим скопировать за один сеанс.

В результате у нас в null устройство скопируется 500 мегабайт информации.

Как источник копирования, так и файл назначения могут быть и обычными файлами, и устройствами.

Примеры

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

Эта команда запустит процесс копирования данных с образа диска в указанный нами файл. Мы указали параметр noerror, который предотвращает остановку программы в случае, если возникнет ошибка чтения.

Манипуляции с жестким диском

Копируем жесткий диск побайтово с размером буфера 4 Кб

Чтобы скопировать один раздел жесткого диска, пропуская ошибки чтения, вводим команду

Все свободное место на диске заполняем нулями

Удалить содержимое жесткого диска, предварительно заполнив его нулями, можно командой

Смотрим статус выполнения операции

Резервное копирование MBR

Главная загрузочная запись (master boot record) занимает первых 512 байт жесткого диска. Включает в себя таблицу разделов, загрузчик и небольшой фрагмент исполняемого кода. Чтобы создать резервную копию MBR, пишем

В качестве вывода получаем подтверждение о том, что у нас скопировалось 512 байт со скоростью 627 кБ/с.

Восстанавливаем данные с помощью команды

Читайте также: