LINUX.ORG.RU

История изменений

Исправление An12, (текущая версия) :

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

sda - диск исходной системы
sdb - целевой

Действия следующие:

0) в исходной системе удаляю GRUB из MBR, устанавливаю на его место syslinux (extlinux). Другой вариант - установить GRUB на sda1. В обоих случаях раздел sda1 был помечен как активный (влияет это на загрузку или нет, не проверял);

1) снимаю инфу о разделах на /dev/sda:
sfdisk -d /dev/sda > sda.txt

2) восстанавливаю эти разделы на /dev/sdb:
sfdisk /dev/sdb < sda.txt

3) посекторно копирую все разделы c данными из /dev/sda на /dev/sdb (ПСЕВДОКОД, на самом деле, копировал из снапшотов блочных устройств, созданных через dattobd):

for i in 1 2 5; do
dd if=/dev/sda$i of=/dev/sdb$i bs=1M
done

4) создаю на /dev/sdb SWAP-раздел с тем же UUID, что на /dev/sda

5) клонирую первые 440 байт из sda на sdb:
dd if=/dev/sda bs=440 of=/dev/sdb count=1

Выключаю виртуалку, гружу её со второго диска.

Исходная версия An12, :

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

sda - диск исходной системы
sdb - целевой

Действия следующие:

0) в исходной системе удаляю GRUB из MBR, устанавливаю на его место syslinux (extlinux). Другой вариант - установить GRUB на sda1. В обоих случаях раздел sda1 был помечен как активный (влияет это на загрузку или нет, не проверял);

1) снимаю инфу о разделах на /dev/sda:
sfdisk -d /dev/sda > sda.txt

2) восстанавливаю эти разделы на /dev/sdb:
sfdisk /dev/sdb < sda.txt

3) посекторно копирую все разделы c данными из /dev/sda на /dev/sdb (ПСЕВДОКОД, на самом деле, копировал из снапшотов блочных устройств, созданных через dattobd, а не из живой системы):

for i in 1 2 5; do
dd if=/dev/sda$i of=/dev/sdb$i bs=1M
done

4) создаю на /dev/sdb SWAP-раздел с тем же UUID, что на /dev/sda

5) клонирую первые 440 байт из sda на sdb:
dd if=/dev/sda bs=440 of=/dev/sdb count=1

Выключаю виртуалку, гружу её со второго диска.