啟用Hyper-V後,以前VirtualBox裡的虛擬機器不能再運行了,於是想到是否可以進行虛擬機器格式的轉換。上網查了一下,VirtualBox自帶的VBoxManage.exe工具就可以做這件事情。研究了一下,執行下面的命令轉換成功。我的VirtualBox版本是5.2.10.

c:\Program Files\Oracle\VirtualBox>VBoxManage clonemedium "c:\Users\username\VirtualBox VMs\Linuxmint\Linuxmint.vdi"  "c:\Users\Public\Documents\Hyper-V\Virtual hard disks\LinuxMint-18.3\LinuxMint.vhd" --format VHD
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'VHD'. UUID: 42fb07bf-c755-436a-bd4b-3112e4746615
上面的命令格式為:VBoxManage clonemedium virtualbox-medium.vdi hyper-V-medium.vhd --format VHD

virtualbox-medium.vdi 為VirtualBox虛擬硬碟檔案(含路徑)

hyper-V-medium.vhd 為Hyper-V虛擬硬碟檔案(含路徑)

由於路徑裡有空格,因此要帶上引號。

Windows10 Hyper-V支援的虛擬機器檔案格式有兩代,第一代的檔案字尾為.vhd;第二代的檔案字尾為.vhdx。VBoxManage轉換應該是僅支援第一代。

一開始生成的Hyper-V虛擬硬碟檔案為.vhdx,後面在Hyper-V中無論選擇第一代,還是第二代,匯入都會失敗。直接改成.vhd再按照第一代匯入就OK了。

接下來就可以在Hyper-V中新建虛擬機器,在如下步驟選擇使用現有虛擬硬碟,並指定剛剛生成的.vhd檔案。繼續下一步就可以了。


轉換匯入成功,接下來,虛擬機器就可以運行了。