Решение, которое я в итоге использовал, вращалось вокруг создания двух виртуальных дисков (заимствование и идея от Алекса) для подключения к Настройкам> Хранилище> Контроллер SATA.
Я использовал VirtualBox
GUI для создания 128M VMDK, содержащего MBR, и /dev/sda1
для /boot
.
Другой VMDK, который я создал ранее из логического тома LVM, стал виртуальным /dev/sdb
(без разделов).
Я загрузил установочный ISO-образ gentoo в виртуальный CD-ROM виртуальной машины («Настройки»> «Хранилище»> «Контроллер IDE») и загрузился с него. Когда установочная среда gentoo была запущена и работала, я смог создать раздел /dev/sda
создать файловую систему /dev/sda1
/boot
и скопировать ядро и другие файлы с исходного хоста. Я не разделил /dev/sdb
потому что он уже содержал корневую файловую систему, которую я создал ранее.
Я смонтировал /dev/sdb
и /boot
соответствии с разделом «Подготовка дисков» и подключил некоторые виртуальные файловые системы в соответствии с « Монтированием необходимых файловых систем». С подготовленными файловыми системами я мог бы выполнить chroot и начать переконфигурировать ВМ, чтобы учесть различия между дисками исходного компьютера и дисками ВМ.
Мне пришлось обновить /etc/lilo.conf
внутри виртуальной машины, чтобы использовать boot=/dev/sda
и root=/dev/sdb
.
Точно так же /etc/fstab
нужно было изменить, так как исходный хост использовал много отдельных разделов (стиль, который за прошедшее десятилетие утратил популярность), и у виртуальной машины были только /dev/sdb
для root и /dev/sda1
для /boot
,
У меня также было перекомпилировать ядро с поддержкой модуля ahci
шата, и локальные сети e1000
Исходная машина очень старая.
Одним из недостатков этого процесса является то, что мне пришлось разделить виртуальный sda
внутри работающей виртуальной машины. Я не знаю, существует ли процесс, который позволил бы мне разбить VMDK и заполнить его разделы файловыми системами и данными, не загружая виртуальную машину, которая ее использует.
Я не уверен, какие проблемы возникли бы, если бы я попытался перекомпилировать гостевое ядро, используя хост-операционную систему и chroot, а не перекомпилировать внутри виртуальной машины (что в любом случае потребовало бы установки ISO Gentoo).
Я не смог использовать Debian live ISO, потому что в какой-то момент процесса загрузки экран превратился в цветные полосы символов. Я предполагаю, что есть некоторая несовместимость с виртуальной видеокартой, и было проще просто получить gentoo, чем пролистать все связанные обсуждения этой ошибки, чтобы протестировать все предложенные решения.