无法迁移旧虚拟机

无法迁移旧虚拟机

尽管我宁愿将它杀死,但我需要将古老的虚拟机(2.4 内核)从 VMWare 迁移到 KVM。

不幸的是我无法让迁移的虚拟机读取根文件系统:

kmod: failed to exec /bin/modprobe -s -k block-major-8, errno = 2
VFS Cannot open root device "sda2" or 08:02
Please append a correct "root=" boot option
Kernel panic: VFS: unable to mount root fs on 08:02

initrd 文件具有正确的内核模块,并且 linuxrc 文件明确为这些模块运行 insmod。模拟的 MegaRAID SAS 8708EM2 和 LSI-53c895a 都出现了同样的行为。将磁盘映射为 SATA 时内核甚至不会加载。

我可以使用可启动 CD-ROM 挂载并 fsck VM 上的磁盘映像,并且文件系统和分区表似乎没有问题。

将磁盘映射为 IDE 会出现不同的错误(但仍然无法启动):

Mounting root filesystem
mount: error 6 mounting ext3
pivotroot: pivot+root(/sysroot,/sysroo/initrd) failed: 2
umount /initrd/proc failed: 2
Freeing unused kernel memory: 128k freed
Kernel panic: No init found. Try passing init= option to kernel.

答案1

找到问题了。SCSI 设备驱动程序加载失败scsi_mod 模块已加载。通过更改 initrd 映像中 linuxrc 文件中的顺序来修复此问题。

相关内容