1. 程式人生 > >VMware 虛擬鏡像轉 Hyper-V(Win10/2016)

VMware 虛擬鏡像轉 Hyper-V(Win10/2016)

email 等待 版本 des for free written over 安裝

VMware 虛擬鏡像轉 Hyper-V(Win10/2016)

參考:
http://www.askme4tech.com/how-convert-vmware-virtual-machine-hyper-v
https://stackoverflow.com/questions/37481737/error-when-converting-vmware-virtual-disk-to-hyperv

原理:
使用微軟提供的轉換工具,將vmdk轉換為vhdx。
如果轉換工具提示錯誤提示,說明不支持vmdk的某個配置,用工具修改後,可以完成轉換。

下載:
1. Microsoft Virtual Machine Converter 3.0

https://www.microsoft.com/en-us/download/details.aspx?id=42497
下載 mvmc_setup.msi 即可。
2. dsfok tools
http://members.ozemail.com.au/~nulifetv/freezip/freeware/dsfok.zip
3. notepad2(或者notepad++)
https://xhmikosr.github.io/notepad2-mod/

安裝:mvmc_setup.msi
解壓:dsfok和notepad2

步驟:
假設vmdk路徑是:E:\CentOS7_vm\CentOS7_vm-disk1-cl1.vmdk

轉換後路徑是:E:\Hyper-V\Virtual Hard Disks\
dsfok路徑是:E:\dsfok
Notepad2路徑是:E:\notepad2

1. 如果你有多個快照,建議在VMWare Workstation導出為ovf後,再導入進來,然後還能通過升級命令,克隆為較低的VMWare版本。
2. 用管理員身份打開PowerShell,然後輸入下面命令轉換
PS> Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"
PS> ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "E:\CentOS7_vm\CentOS7_vm-disk1-cl1.vmdk" -DestinationLiteralPath "E:\Hyper-V\Virtual Hard Disks\" -VhdType DynamicHardDisk -VhdFormat Vhdx

如果成功轉換,跳動第5步;如果出現如下錯誤提示,進行下一步。

ConvertTo-MvmcVirtualHardDisk : The entry 4 is not a supported disk database entry for
the descriptor.
At line:1 char:1
+ ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "E:\CentOS7_vm\CentO ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (Microsoft.Accel...nversionService:DriveConv
ersionService) [ConvertTo-MvmcVirtualHardDisk], VmdkDescriptorParseException
+ FullyQualifiedErrorId : DiskConversion,Microsoft.Accelerators.Mvmc.Cmdlet.Comman
ds.ConvertToMvmcVirtualHardDiskCommand

ConvertTo-MvmcVirtualHardDisk : One or more errors occurred.
At line:1 char:1
+ ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "E:\CentOS7_vm\CentO ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (Microsoft.Accel...nversionService:DriveConv
ersionService) [ConvertTo-MvmcVirtualHardDisk], AggregateException
+ FullyQualifiedErrorId : DiskConversion,Microsoft.Accelerators.Mvmc.Cmdlet.Comman
ds.ConvertToMvmcVirtualHardDiskCommand

3. 在CMD窗口裏運行:
E:\> e:\dsfok\dsfo "E:\CentOS7_vm\CentOS7_vm-disk1-cl1.vmdk" 512 1024 descriptor1.txt
OK, 1024 bytes, 0.016s, MD5 = 14834e920b6019bb8e05823a67c4162c

E:\> e:\notepad2\notepad2.exe descriptor1.txt
將第20行的ddb.toolsInstallType = "4"前添加一個井號#
將最後一行的NUL刪除一個,保證仍然是1024字節(狀態欄是1.00KB)
保存後關閉notepad2

技術分享圖片

E:\> dsfi "E:\CentOS7_vm\CentOS7_vm-disk1-cl1.vmdk" 512 1024 descriptor1.txt
OK, written 1024 bytes at offset 512

4. 再次回到PowerShell運行轉換命令
PS> ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "E:\CentOS7_vm\CentOS7_vm-disk1-cl1.vmdk" -DestinationLiteralPath "E:\Hyper-V\Virtual Hard Disks\" -VhdType DynamicHardDisk -VhdFormat Vhdx
等待轉換完成。

技術分享圖片

5. 打開Hyper-V管理器,創建一個新的虛擬機,然後將磁盤選擇已存在,瀏覽到vhdx

技術分享圖片

6. 啟動虛擬機,修復系統

技術分享圖片

轉換過程就算是完成了。

VMware 虛擬鏡像轉 Hyper-V(Win10/2016)