Берем какой-нибудь live-cd/usb, sysresccd например
mount /dev/sdaX /old-gentoo-root
cd /old-gentoo-root
tar -czf /faylopomoyka/gentoo.tar.gz * .*
mount /dev/sdaX /new-gentoo-root
cd /new-gentoo-root
tar -xzpf /faylopomoyka/gentoo.tar.gz
chroot /new-gentoo-root
# дальше установка grub
# возможно перекомпиляция ядра
При установке вы создавали разделы, файловые системы на них, затем их монтировали и распаковывали на них архив с базовой системой (stage3).
Точно так же вы можете и перенести уже настроенную систему, т.е. запаковать её целиком в архив, а затем уже распаковать этот архив на подготовленные файловые системы, подправить /etc/fstab, сделать chroot и установить загрузчик.
Всё точно так же как при установке Gentoo.
Только при создании архива нужно его создавать как минимум с ключём '-p', т.е. что-то вроде
tar -czpf stage3.tar.gz /mnt/gentpoo
При распаковке так же используйте ключ '-p':
tar -xpf stage4.tar.gz -C /mnt/gentoo
Единственно, возможно придётся создать /mnt/gentoo/dev/console .
Так же в зависимости от вашей системы виртуализации вы можете сконвертировать образ жёсткого диска в raw формат и уже затем просто подмонтировать разделы с этого диска посредством 'mount -o offset='
Посредством losetup «вешаете» образ диска как петлевое устройство:
losetup -f disk_image.raw
Далеесмотрите номер этого петлевого устройства:
losetup -a | grep disk_image
Смотрите таблицу разделов в этом диске:
fdisk -l /dev/loop0
Offset рассчитываете исходя из номера начального сектора раздела и умножаете его на 512, вот тут точно не помню, возможно надо номер сектора минус 1, но попробуйте, разберётесь, при это указываете точно тип файловой системы на разделе, т.е. в итоге у вас получится, например что-то вроде:
mount -t ext4 /dev/loop0 /mnt/gentoo -o offset=$((2048*512)),ro
Если получится так смонтировать, то можете копировать командой 'cp' или посредством midnight-commander (mc) с сохранением прав.
Для конвертации образа диска в raw формат используйте либо утилиты из состава qemu, либо утилиты из состава VirtualBox.
притормози, у тебя может быть несколько разделов на образе, потому надо делать не losetup, а kpartx, который все разделы лупдевайсами сделает. И таки это всё равно ведь сложнее чем dd if=raw.img of=/dev/sda
Можно воспользоваться clonezilla-live и внешним накопителем. Удобный инструмент, главное выбрать бэкап раздела, а не всего диска. Впрочем, запутаться там сложно
А кто ему запрещает все разделы смонтировать посредством offset ? Они точно так же все будут «лупдевайсами», для этого 'fdisk -l' в начале и вызывается.
Ну а по поводу последнего, вот скажите, зачем ему весь объём raw диска переносить, на целевой диск. Ну вот создал он, к примеру виртуальный диск объёмом 20Гб, установил систему, которая заняля, скажем 5Гб, вместе с distfiles, которые можно удалить. Так ему надо скопировать всего лишь эти 5Гб, а то и меньше, а вы ему предлагаете все 20 тянуть.
К тому же ему в итоге всё равно придётся потом править таблицу разделов, если он последует вашему способу.
Ну а если у него нет диска, а есть только свободное пространство ?
я предпочитаю делать tar'ом бекап всей системы(из лайва), а потом разворачивать этот бекап на HDD. Профит в том, что если я криво разверну, можно убить всё, и попробовать ещё раз. И даже если случится авария, то я застрахован от неудач. Ещё профит в том, что у меня остаётся бекап всей системы.
Правильно, но только с оговоркой, не все «гентушники», а только те, кто не бездумно выполняет команды, указанные в Gentoo Handbook или где-то увиденные, а понимает, почему и зачем, ну и как следствие может без особой подсказки сам разобраться какие команды (действия) нужно выполнить в каждой конкретной ситуации.