2

У меня есть жесткий диск размером 1 Tb . Я создал и установил windows Xp на раздел размером 10 Gb . Я хочу клонировать раздел в файл на другом диске, так что я могу dd этот файл на любой новый диск, в результате чего он будет точно таким же клоном раздела 10 Gb .

ПРИМЕЧАНИЕ Я не хочу , чтобы клонировать весь 1Tb диск в файл , но только загрузочный раздел 10Gb Раздел относится к типу GPT .

Я специально ищу любые команды, которые я могу использовать при загрузке системы через live CD .

Любые предложения приветствуются.

3 ответа3

1

Вы можете использовать dd для копирования всего раздела, как в:

dd if=/dev/sda3 of=windows-xp.img

(Измените /dev/sda3 и имя выходного файла при необходимости.) Затем вы бы изменили процесс, чтобы скопировать его обратно:

dd if=windows-xp.img of=/dev/sda3 bs=4096

Обратите внимание, что я добавил bs=4096 в качестве опции. Это приводит к тому, что выходные данные отправляются кусками по 4096 байт, что, вероятно, будет быстрее на большинстве современных дисков. (Это будет иметь незначительный эффект или вообще не повлияет на создание резервной копии.)

Хотя использование dd , как вы указали в своем вопросе, будет работать, оно неэффективно. Лучше использовать инструмент под названием ntfsclone , по крайней мере, предполагая, что раздел использует NTFS. (Это инструмент для Linux. Исходя из того, что вы указали dd и сказали, что используете live CD, я предполагаю, что это Linux.) Чтобы клонировать раздел с помощью ntfsclone , вы должны использовать что-то вроде этого:

ntfsclone --save-image --output windows-xp.img /dev/sda3

Для восстановления требуется команда, подобная этой:

ntfsclone --restore-image --overwrite /dev/sda3 windows-xp.img

Есть еще несколько примеров его использования в конце справочной страницы ntfsclone (наберите man ntfsclone чтобы прочитать ее).

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

В любом случае, следует иметь в виду несколько предостережений:

  • И ntfsclone и dd будут выполнять резервное копирование данных загрузчика в разделе Windows, но не загрузчик загрузчика в MBR диска. Вы должны будете поддержать это отдельно. (OTOH, вы сказали, что диск GPT, а Windows XP не может загружаться с GPT-дисков, за исключением некоторых экзотических сборок Itanium, IIRC. Вы используете это в среде виртуализации?)
  • И dd и ntfsclone представляют опасность серьезного повреждения, если вы введете неправильное имя устройства, особенно при восстановлении изображения. Если целью восстановления является неправильный раздел, вы, вероятно, уничтожите все на этой цели, что может иметь катастрофические последствия. Будь очень осторожен!
  • Вам нужны права root для выполнения этих команд. В зависимости от вашей среды live CD это может быть значение по умолчанию или вам может потребоваться добавить sudo в начало каждой команды.
1

Так что я смог сделать то, что хотел.

Я использовал gnu parted и dd для копирования только загрузочного раздела.

Сначала я использовал команду parted для print начала и конца диска, скажем /dev/sda а затем отметил начало и конец загрузочного диска. Например, end на 7890Mb, просто преобразуйте это в байты и разделите на 512, что является размером блока диска, на котором я работал. Допустим, этот результат N Результатом будет количество, которое вы предоставите команде dd .

Теперь просто используйте dd if=/dev/driveWhereBootablePartionExist of=/backup/img.img count = N сверху bs = 512(или размер блока)

Это привело к полностью загружаемому файлу образа для раздела, равного размеру раздела.

0

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

dd if=/dev/sda1 of=/dev/sdb1 bs=1M

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .