我有 xen 虚拟机管理程序驱动的虚拟机(ubuntu 12)的原始映像
我将其转换为 vhdx(Hyper-V)格式并现在尝试启动它:
格鲁布说
错误 13 无效或不受支持的可执行格式
可能是由于半虚拟化 VM 样式,此映像没有完整的启动内核
有没有办法将内核文件添加(重新安装?)到 VM,或者只需进行干净的操作系统安装并复制所有文件会更容易?
我可以从另一个 liveCd Linux 发行版访问虚拟机的磁盘以及 grub 菜单
答案1
您是否尝试将 XenServer vm 导出为 OVF 格式并导入 Hyper-V?
微软有一个支持从开放虚拟化格式导入的 VM 转换器,请看这里:https://technet.microsoft.com/library/dn873998.aspx
尝试一款适合您需求的 V2V 软件也很有趣,有很多好的解决方案,有付费的,也有免费的。
请记住,如果您迁移到 Hyper-V 2012,则需要从虚拟机第 1 代(IDE 接口)或第 2 代(SCSI 接口)中进行选择,第 2 代也支持 EFI 启动,有时与某些迁移场景不兼容,请先尝试第 1 代。
我推荐这篇文章作为一个很好的方法: http://xenappblog.com/2013/goodbye-xenserver-welcome-hyper-v/
根据我自己的经验,我曾将 Windows VM 从 Xen 迁移到 Hyper-V,从未迁移过 Linux,但我使用 R1 SOFT 服务器备份解决方案,我在 Xenserver 上备份我的 VM,在 Hyper-V 中创建一个具有相同数量和硬盘大小的新 VM,然后进行裸机恢复。恢复后,您需要连接集成服务磁盘,安装并启动!它完成了,并且运行良好。
另外,尝试一下 Starwind V2V,它支持从 KVM、XEN 和 VmWare 迁移到 HV https://www.starwindsoftware.com/converter
我希望它对你有帮助。
答案2
我从同一个发行版安装了正确的内核,然后重新安装了 grub,虚拟机现在运行正常