История изменений
Исправление 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
Выключаю виртуалку, гружу её со второго диска.