Порою появляется необходимость клонирования диска в Linux. Например, при смене железа (сервера, рабочей станции и так далее). Вариантов клонирования винчестера на сегодня довольно-таки много. В данном же материале я бы хотел объяснить суть клонирования HDD при помощи известной утилиты DD Linux. И так, приступим.

Задача заключается в полном клонировании информации с одного HDD на другой. Для этого будем использовать древнюю, как свет, утилиту dd. В чем ее прелесть? В том, что она позволяет копировать информацию побайтово. Вариантов применения данной команды несметное количество. К примеру, создание дампов со всевозможных носителей, создание зеркал, восстановление данных с носителей, создание копии MBR и многое-многое другое.

Самый простой пример использования команды dd linux — копирование (клонирование) одного жесткого диска на другой в Linux:

[root]# dd if /dev/sda of /dev/sdb  bs=1M

Параметры данной команды:

if — источник копирования ( откуда нужно склонировать информацию);

of — источник назначения (куда копируем информацию);

bs — количество байт записанных за один раз. В нашем случае тут 1 Мб.

Теперь как определить правильно источники копирования. Для этого воспользуемся следующими командами:

[root]# ll /dev/sd*
brw-rw—- 1 root disk 8,  0 ноя 14 19:19 /dev/sda
brw-rw—- 1 root disk 8,  1 ноя 14 19:19 /dev/sda1
brw-rw—- 1 root disk 8,  2 ноя 14 19:19 /dev/sda2
brw-rw—- 1 root disk 8, 16 ноя 15 09:39 /dev/sdb
brw-rw—- 1 root disk 8, 17 ноя 15 09:39 /dev/sdb1

Как видим, команда показывает нам список подключенных носителей. В моем случае, sda — жесткий диск, а sdb — usb-нкопитель. Чтобы убедиться окончательно что есть, вводим следующее:

[root]# fdisk -l /dev/sdb
Disk /dev/sdb: 3,8 GiB, 4020240384 bytes, 7852032 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0be46da8
Device     Boot Start     End Sectors  Size Id Type
/dev/sdb1  *     2048 7852031 7849984  3,8G  c W95 FAT32 (LBA)

[root]# fdisk -l /dev/sda
Disk /dev/sda: 465,8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x000d4eb0
Device     Boot   Start       End   Sectors   Size Id Type
/dev/sda1  *       2048   1026047   1024000   500M 83 Linux
/dev/sda2       1026048 976773119 975747072 465,3G 8e Linux LVM

Теперь мы точно уверены, что sda — винчестер объемом в 500 Гб, а sdb — флешка на 4 Гб.

Здесь так же следует отметить, что несмотря на то, что «наша» флешка имеет объем куда меньше, чем 500 Гб, но при этом она будет записана полностью — на все 4 Гб и никаких ошибок вы не увидите. Остальные данные записаны не будут. Точно так же и для жестких дисков. К примеру, HDD объемом 80 Гб можно записать на 1 Тб, но это нерациональное использование такого дискового пространства под такие мизерные нужды. И в тот же момент можно 1 Тб «клонировать» на 80 Гб, но записано будет лишь 80 Гб информации, при чем случайным образом.

В общем, это самые минимальные основы для клонирования жесткого диска командой dd linux. В других материалах я постараюсь более детально рассказать об этой команде. А для Вас старался Блог свободного человека.