重新安装主机操作系统后恢复 Hyper-V 虚拟机

重新安装主机操作系统后恢复 Hyper-V 虚拟机

我有一台独立的 win 2012 r2 服务器,上面装有 hyper-v。这是我用于实验的测试服务器,因此可以随时关闭。这没问题。

是否可以将 2012r2 VM 导入 2016 hyper-v 而不导出它们?类似于将 vbox 文件加载到 virtualbox 而无需首先导出机器?我的磁盘空间不足,我想全新安装主机操作系统,然后以某种方式将我当前的虚拟机恢复到新的 hyper-v,但不导出和导入它们。因此它们仍将位于它们现在所在的位置,但只需在 hyper-v 中注册它们,而无需进行大量 IO 操作来导出和导入它们。

我不想对主机操作系统进行就地升级,而是全新安装 2016,然后加载我的虚拟机。

有可能吗?如果可以,那怎么办?

答案1

如果您拥有这些文件(vhd(x)和机器 vmx 文件),并且您的系统配置了相同的 vSwitch 名称,那么您应该能够使用该命令Import-VM -Register path\to\the\file.vmx

如果您不再拥有 VMX 文件,那么您应该重新创建一个新的虚拟机,当被问及添加存储时,使用您已有的现有 vhd(x) 文件。

答案2

根据使用说明Import-VM,以下 powershell 脚本将就地导入文件夹中的所有虚拟机,无论它们是较旧的 xml 文件还是较新的 vmcx 文件。在已注册某些文件的文件夹中安全运行,因为Import-VM只会显示错误并继续。

只需适当设置 BaseFolder 并执行即可。

$baseFolder='Q:\Hyper-V\Virtual Machines\'
$vms=Get-ChildItem $baseFolder -Recurse | where {$_.extension -in ".xml",".vmcx"}
$vms |  ForEach {
    Write-Output "Importing $_"
    Import-VM -Path $_.FullName -Register
}

Read-Host -Prompt "Press Enter to continue"

相关内容