Windows-Server-2012-R2

在重新安裝主機作業系統後取回 hyper-v 虛擬機

  • May 10, 2020

我有獨立的 win 2012 r2 伺服器,上面有 hyper-v。這是我用於實驗的測試伺服器,因此可以隨時關閉。這不是問題。

是否可以將 2012r2 虛擬機導入 2016 hyper-v 而不導出它們?類似於將 vbox 文件載入到 virtualbox 而不需要首先導出機器?我的磁碟空間不足,我想全新安裝主機作業系統,然後以某種方式將我目前的虛擬機恢復到新的 hyper-v,但不導出和導入它們。所以它們仍然會在同一個地方,但只是在 hyper-v 中註冊它們,而不需要大量的 IO 操作來導出和導入它們。

我不想對主機作業系統進行就地升級,而是對 2016 年進行全新安裝,然後載入我的虛擬機。

是否可以?如果是,那怎麼辦?

如果您有文件,包括 vhd(x) 和機器 vmx 文件,並且您的系統配置相同且具有相似的 vSwitch 名稱,那麼您應該能夠使用命令Import-VM -Register path\to\the\file.vmx

如果您不再擁有您的 VMX 文件,那麼您應該重新創建一個新的虛擬機,當被問及添加儲存時,請使用您已經擁有的現有 vhd(x) 文件。

在使用說明的基礎上Import-VM,以下 powershell 腳本將就地導入文件夾中的所有 VM,無論它們是較舊的 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"

引用自:https://serverfault.com/questions/880785