Как клонировать диск большего размера на диск меньшего размера с помощью Clonezilla?

Как клонировать диск большего размера на диск меньшего размера с помощью Clonezilla?

У меня есть диск большего размера Disk Aи диск меньшего размера Disk B.

  • Disk Aсодержит несколько разделов, но общий размер всех разделов меньше емкости Disk B.
  • Disk Aдиск в формате GPT.

Я попробовал использовать Clonezilla (Ubuntu, версия Precise Pangolin) в экспертном режиме и выбрал соответствующую icdsопцию, но при запуске процесса клонирования он всегда выдает ошибку, указывающую на невозможность создания разделов.

Есть ли способ заставить это работать?

решение1

Мое решение такое же, как у JackeJR, но я предпочитаю более подробно изложить свою позицию.

Я попробовал клонировать диск на диск с 930GiB HDD (исходный диск) с таблицей разделов GPT на 890GiB SSD (целевой диск). Обратите внимание, что я пользователь Linux и у меня двойная загрузка с Windows 10. Я попытался оставить неизменными все разделы и немного уменьшить размер только раздела с данными.

  1. С помощью gparted я изменил размер большего раздела данных, чтобы его общий размер соответствовал целевому SSD, и переместил все свободное пространство в конец.
  2. Я использовал Clonezilla-Live с USB-флешки, в расширенном режиме и -icdsс включенным .

Это не удалось. Похоже, что Clonezilla не может при запуске клонировать таблицу разделов на целевой диск, потому что она ошибочно использует утилиту sfdisk, предназначенную для старых типов разделов, вместо утилит sgdisk. Мое решение:

  1. То же, что и предыдущее (общий размер должен соответствовать)
  2. Я вручную скопировал раздел с одного диска на другой, используя оболочку Clonezillaсsgdisk(только для разделов GPT):

    sgdisk /dev/sdSourceDeviceName -R /dev/sdDestinationDeviceName
    
  3. Выполнил клонирование с диска на диск с помощью Clonezilla, выбрав опцию -icds:Пропустить проверку размера назначения перед созданием таблицы разделов, а затем вариант -k:НЕ создавайте таблицу разделов в загрузочном секторе на целевой машине(В этом случае Clonezilla использует целевые разделы такими, какие они есть, и изменяет размеры разделов, когда они становятся меньше, чтобы поместиться, он выполняет «максимальные усилия»).

Это сработало.Я получил все разделы того же размера, что и исходный (да, я только немного уменьшил больший раздел). Двойная загрузка с Windows продолжает работать хорошо.

решение2

Ошибка, по-видимому, возникает из-за использования разделов GPT. Обходной путь — использовать опцию ручного создания таблицы разделов из clonezilla. Необходимые команды:ЗДЕСЬ:

sgdisk /dev/sdX -R /dev/sdY
where:
sdX = Disk A
sdY = Disk B

Обратите внимание на порядок дисков, иначе возникнут проблемы:Восстановление таблицы GPT.

решение3

Мы добились этого, отредактировав следующие файлы в образе, чтобы они соответствовали общему количеству секторов целевого диска:

  • sda-pt.sf (редактировать last-lba)
  • sda-pt.parted.compact (редактирование Диск /dev/...)
  • sda-pt.parted (редактируйте Disk /dev/... , не забудьте s в конце)
  • sda-gpt.sgdisk (редактирование Диск /dev/...: ... секторов, ... ГиБ)

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

Связанный контент