Створення образу жорсткого диска за допомогою утиліти dd - як стати програмістом

dd - проста утиліта, яка входить до складу більшості Unix-подібних операційних систем - Linux, FreeBSD, Solaris і т.д.
Її призначення - читання даних з одного пристрою або файлу і запис в інший.

dd можна ефективно використовувати для створення образу жорсткого диска, при цьому обійшовшись без комерційних утиліт кшталт Acronis True Image або Norton Ghost.

Припустимо, що у нас є два диска:

  • / Dev / sda - диск, образ якого необхідно створити;
  • / Dev / sdb - диск на який буде записаний образ.

При необхідності потрібно підставити власні значення.

Підготовка до створення образу жорсткого диска

Насамперед необхідно завантажитися з будь-якого доступного Live-CD диска, що має утиліту dd, і увійти в командний рядок в якості суперкористувача. Створюємо точку монтування для проведення резервного копіювання.

Монтуємо жорсткий диск на який необхідно зберегти образ.

Створення образу жорсткого диска

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 - це відсутність наочного уявлення статистики виконання процедури копіювання. Однак цей мінус можна легко обійти. Досить підключитися до іншого терміналу.

Визначити номер процесу, під яким запущена dd.

Періодично надсилати даному процесу команду kill -USR1 номер_процесса_dd.

watch -n 5 kill -USR1 номер_процесса_dd

  • watch -n 5 - виконувати команду кожні 5 секунд;
  • kill -USR1 номер_процесса_dd - показати статистику копіювання.

Мінуси використання dd для створення образів диска

Таким чином, обсяг образу диска, створений за допомогою dd буде дорівнює обсягу самого диска - незалежно, скільки на диску даних.