Hyper-V 的虚拟机导出/导入工具集中似乎有一个明显的漏洞。也许我对这个评估有误,但我不这么认为。
我有一个在主机操作系统重新安装后从备份中恢复的虚拟机。VM 的位置(及其 VHDX)不在主机的默认值(C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines
和D:\Virtual Hard Disks
)之外。我希望将其移至这些位置,但由于 VHDX 相当大(+10TB),因此标准导入承诺至少需要 12 小时的复制工作。默认情况下,VHDX 位于同一驱动器上,尽管位于不同的文件夹中,因此关闭 VM 并移动它们将很简单。
我尝试将配置文件复制到默认位置并运行就地注册,但遇到错误:
不用说,这不是很有帮助。
我想我可以手动创建一个新的 VM 并指向 VHDX,但随着时间的推移,我已经精心设计了它的配置,我宁愿不要冒险意外丢失设置。
如何在不需要复制那些大型 VHDX 的艰巨任务的情况下将此 VM 放入默认位置?
就地注册不在主机默认位置的虚拟机并希望它位于主机默认位置是自相矛盾的。就地注册意味着您要在其当前位置注册并运行 VM。我不认为这是一个明显的漏洞。从微软的文档中可以清楚地看到可能的结果。
如果您想在主机默认位置注册它,请使用下面列出的后两个选项之一。
就地注册- 此类型假定导出文件位于您将存储和运行虚拟机的位置。导入的虚拟机具有与导出时相同的 ID。因此,如果虚拟机已在 Hyper-V 中注册,则需要在导入之前将其删除。导入完成后,导出文件成为运行状态文件,无法删除。
还原虚拟机– 将虚拟机还原到您选择的位置,或使用默认的 Hyper-V。此导入类型创建导出文件的副本并将它们移动到选定位置。导入时,虚拟机的 ID 与导出时相同。因此,如果虚拟机已经在 Hyper-V 中运行,则需要先将其删除,然后才能完成导入。导入完成后,导出的文件保持不变,可以删除或再次导入。
复制虚拟机– 这与您选择文件位置的还原类型类似。不同之处在于导入的虚拟机有一个新的唯一 ID,这意味着您可以将虚拟机多次导入同一主机。
如何在不需要复制那些大型 VHDX 的艰巨任务的情况下将此 VM 放入默认位置?
归根结底,无论您如何完成它,如果 VM 的文件不在主机默认位置,则需要将它们复制或移动到主机默认位置。文件需要物理上位于主机默认位置才能实际位于主机默认位置。
主 VM 配置文件 (.vmcx) 包含指向所有其他文件的指针,包括虚拟硬盘;因此,就地注册 VM 要求所有文件都位于它们最初所在的位置。更改路径的唯一方法是通过还原或复制来导入 VM。
如果虚拟硬盘只需要在同一卷中的不同路径之间移动,您可以使用此解决方法来避免不必要的文件复制: