Большая часть информации была описана в предыдущих вставленных получателях, но не все были описаны.
В Linux вы можете клонировать жесткий диск или раздел с помощью команды dd. Внимание, когда вы допустите ошибку, вы потеряете все свои данные.
Во-первых, назначение не должно использоваться, во-вторых, источник не должен использоваться или переустанавливаться в режиме только для чтения. В противном случае копия будет повреждена. Если перемонтирование невозможно, сделайте загрузочный диск (hdd / ssd / pendrive) любым дистрибутивом linux live. Я всегда преуспел, но это твой выбор. Если это возможно, вы можете загрузить или изменить системный уровень на 1, для однопользовательского режима, или вы можете напрямую перезагрузить систему в однопользовательском режиме, это зависит от дистрибутива. Если вы будете клонировать только один раздел, этот раздел должен быть размонтирован или перемонтирован в RO:
umount /mountpoint_or_device
или же
remount -o,ro /mountpoint_or_device
Если вы хотите клонировать весь жесткий диск, вы должны размонтировать или перемонтировать все разделы.
Вы должны определить источник и устройство назначения. пожалуйста, посмотрите на dmesg, здесь хранится вся необходимая информация об устройстве, с поставщиком и т. д. В качестве альтернативы можно определить размер устройства, если он другой. Далее, пункт назначения должен быть таким же или большим, чем источник. Вы должны вычислить источник, например: fdisk -l / dev / sda, за исключением геометрии раздела (может быть GPT), вы получите: 1. общий размер диска, гигабайт и байт 2. историческая геометрия и общее число секторов, очень важная информация 3. размер блока в байтах, обычно это 512.
например:
# fdisk -l /dev/sda
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 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
Disk identifier: 0x000f1d1e
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 40136703 20067328 83 Linux
/dev/sda2 40138750 41940991 901121 5 Extended
/dev/sda5 40138752 41940991 901120 82 Linux swap / Solaris
дальше давайте попробуем делитель больше 512, у нас есть 41943040 физических секторов:
41943040/256 = 163840, очень хорошо, мы можем сделать массовое копирование 256 секторов. мы можем больше? давайте попробуем: 41943040/1024 = 40960, я думаю, этого достаточно, мы выберем этот. Давайте посчитаем размер группы секторов: 512 (размер сектора) * 1024 = 524288 байт, eq 512K. Тогда мы можем использовать параметр bs = 512K или меньше, но разделить это на 2 ^ x. Для современных жестких дисков с большим внутренним кешем это достаточно практично. для более старых дисков с гораздо меньшим объемом кэша достаточно значения 32 КБ или менее.
Затем после подготовки мы можем сделать копию: dd if = / dev / source_devide of = / dev / destination_device bs = 32K, и копирование будет выполнено. Обратите внимание, любая ошибка перезапишет ваши важные данные. По назначению все будет перезаписано.
Если вы попытаетесь восстановить данные на поврежденном исходном диске, лучше использовать собственный размер сектора, обычно это 512 байт, и добавить опцию conv = notrunc. в противном случае дыры в источнике, отброшенные плохими секторами, будут соединены смещением секторов по месту назначения. Это повредит копию с небольшим шансом на ремонт. тогда команда будет:
dd if=/dev/source of=/dev/destination bs=512 conv=notrunc
и долгое время ждите, когда диск и система сдадутся и пройдут сектор за сектором до конца.
dd - полезный инструмент для перемещения раздела на новое место. Просто создайте раздел, сделайте dd для нового раздела (это может быть больше, намного больше) и, если это возможно, разверните скопированную файловую систему для заполнения всего нового раздела, ext3 / ext4 / xfs / zfs / btrfs имеют эту возможность. Наконец, вы должны изменить / etc / fstab, затем размонтировать / смонтировать, если это возможно, или перезагрузить систему.
Конечно, вы можете клонировать любой тип раздела. Команда dd не смотрит на тип файловой системы, она ничего не делает со своей структурой. тогда эта команда может быть использована для клонирования NTFS или других типов разделов.
Есть какая-то хитрость. Если вы не установили параметр, тогда dd поместит вывод в его стандартный вывод. тогда вы можете сделать сжатую сырую копию диска или раздела, например:
dd if=/dev/sda bs=512 | gzip >/any/place/computerOne_sda.gz
Конечно, это должно быть сделано в автономном режиме. Вы можете восстановить это:
zcat /any/place/computerOne_sda.gz| dd of=/dev/sda bs=512
, тогда все жесткие диски sda будут перезаписаны этой резервной копией, и все текущие данные будут потеряны. Вы можете сделать это также с разделом Windows NTFS и жестким диском, используемым этим. Конечно, вы можете использовать другую команду сжатия, в зависимости от вашего выбора.