我已将 VMWare VMDK 转换为 VHDX。客户机是 Windows 8.1 VM。
当它作为 IDE 驱动器连接到第一代 Hyper-V VM 时,它可以正常启动。
当将相同的 VHDX 连接到第二代 Hyper-V VM(强制使用 SCSI)时,它无法从同一磁盘启动(检查启动顺序,它出现磁盘故障并影响 CDROM 和网络)。
Hyper-V 主机是 Windows Server 2012 R2(+更新/补丁)。
有谁知道如何让它作为第二代 Hyper-V VM 运行。我希望这不是我的限制必须使用 IDE(闪回 90 年代)为了做一些基本的事情......引导!
答案1
您不能直接使用第一代客户机的启动盘,将其引导到第二代客户机中。您的第一代磁盘可能仍在使用 MBR,而您的第二代磁盘需要 GPT/EFI 分区或转换为 GPT/UEFI 才能引导。
有一些记录手动的和脚本化将虚拟机从第 1 代转换为第 2 代的方法,但使用这些方法需要您自担风险。
手动方法中的第一个链接实际上来自关于第一代/第二代虚拟机的一系列文章,值得一读。
Hyper-V 无法更改虚拟机的代数。也无法将第一代虚拟机迁移到第二代虚拟机。
但是,由于使用标准收件箱工具和部署功能,在某些情况下支持更长的答案。让我们首先排除绝对不能迁移的内容。明显的类别是运行 32 位客户操作系统的任何虚拟机;不运行 Windows 的任何虚拟机(尽管可能还有其他我不知道的解决方案);运行 Windows 8/Windows Server 2012 之前的 Windows 版本的任何虚拟机。
从高层次来看,我将遵循以下步骤:
- 禁用恢复环境
- 复制已安装的 Windows 映像
- 创建新的 VHDX
- 将其分区为 GPT 格式并使其可启动
- 将我们之前制作的 Windows 副本放到新磁盘上
- 创建新的第二代虚拟机并附加新的 VHDX
- 修复恢复环境