vdi转vmdk Virtual Box与VMware硬盘格式转换及使用方法

  • 一、找到对应文件位置
  • 1.首先找到需要转换的vdi文件位置
  • 2.找到VirtualBox里VBoxManage.exe的位置
  • 3.找到VMware里vmware-vdiskmanager.exe的位置
  • 4.找到VMware存放虚拟机的目录
  • 二、将vdi转换为vmdk
  • 1.使用VBoxManage.exe将vdi初次转换为vmdk
  • 2.使用vmware-vdiskmanager.exe将vmdk再次转换
  • 三、在Workstation里使用vmdk文件
  • 1.新建虚拟机
  • 2.选择自定义
  • 3.选择合适的兼容性版本
  • 4.选择“稍后安装操作系统”
  • 5.选择合适的客户机操作系统
  • 6.起个名字和确定存放位置
  • 7.选择固件类型
  • 8.选择处理器配置
  • 9.分配内存
  • 10.选择网络类型
  • 11.选择I/O控制器类型
  • 12.选择需要创建的磁盘类型(重要)
  • 13.选择使用现有虚拟磁盘(即选择我们转换后的vmdk文件)
  • 14.在Workstation里启动虚拟机
  • 四、扩展
  • 1.vmdk转换成vdi
  • 2. vdi转换成vmdk
  • 3. vdi转换成vhd



一、找到对应文件位置

注1:以下是我的文件位置,我使用的是Windows10系统,VirtualBox版本为5.2.44,VMware使用的是Workstation,版本为16.2.2
注2:VirtualBox 4版本只支持x86/AMD芯片,原vdi文件为win2008 R2 上的Virtualbox 4版本创建
注3:运行完命令后,原文件并不会被删除

1.首先找到需要转换的vdi文件位置

C:\Users\CR\Desktop\测试文件夹\测试.vdi

2.找到VirtualBox里VBoxManage.exe的位置

C:\Program Files\Oracle\VirtualBox\VBoxManage.exe

3.找到VMware里vmware-vdiskmanager.exe的位置

C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe

4.找到VMware存放虚拟机的目录

C:\Users\CR\Documents\Virtual Machines

二、将vdi转换为vmdk

1.使用VBoxManage.exe将vdi初次转换为vmdk

注1:需要以管理员权限使用命令行运行如下命令

//进入VirtualBox目录下
C:\Windows\system32>cd "C:\Program Files\Oracle\VirtualBox"
//运行命令开始将vdi转换为vmdk
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe clonehd "C:\Users\CR\Desktop\测试文件夹\测试.vdi" target.vmdk --format vmdk
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'vmdk'. UUID: 1a122ebb-1fac-431b-9f36-9ecf9157d6bf

注2:转换出的文件在VirtualBox目录下:C:\Program Files\Oracle\VirtualBox\target.vmdk,默认名字叫target.vmdk
注3:此处的转换出的vmdk无法被VMware直接识别

2.使用vmware-vdiskmanager.exe将vmdk再次转换

注1:需要以管理员权限使用命令行运行如下命令

//进入VirtualBox目录下
C:\Program Files\Oracle\VirtualBox>cd "C:\Program Files (x86)\VMware\VMware Workstation"
//运行命令开始将vmdk转换为VMware能识别的vmdk
C:\Program Files (x86)\VMware\VMware Workstation> vmware-vdiskmanager.exe -r "C:\Program Files\Oracle\VirtualBox\target.vmdk" -t 0 "C:\Users\CR\Documents\Virtual Machines\测试2.vmdk"
Creating disk 'C:\Users\CR\Documents\Virtual Machines\HIS-112.vmdk'
  Convert: 100% done.
Virtual disk conversion successful.

注2:转换命令中,前边的目录为原文件目录,后边的目录为转换后所在目录
注3:目录要必须存在且正确,否则将无法完成转换

三、在Workstation里使用vmdk文件

1.新建虚拟机

虚拟机导入kvm 虚拟机导入vmdk_windows

2.选择自定义

虚拟机导入kvm 虚拟机导入vmdk_云计算_02

3.选择合适的兼容性版本

虚拟机导入kvm 虚拟机导入vmdk_虚拟机导入kvm_03

4.选择“稍后安装操作系统”

虚拟机导入kvm 虚拟机导入vmdk_虚拟机导入kvm_04

5.选择合适的客户机操作系统

注:此处选择自己转换的虚拟机的操作系统,我的vdi文件之前是win 2008 R2 x64

虚拟机导入kvm 虚拟机导入vmdk_VMware_05

6.起个名字和确定存放位置

注:此处的存放位置是Workstation创建的虚拟机的存放位置,不是我们转换的文件存放位置,一般默认即可

虚拟机导入kvm 虚拟机导入vmdk_VMware_06

7.选择固件类型

虚拟机导入kvm 虚拟机导入vmdk_VMware_07

8.选择处理器配置

注:按需选择即可,不一定需要和原机一样

虚拟机导入kvm 虚拟机导入vmdk_VMware_08

9.分配内存

虚拟机导入kvm 虚拟机导入vmdk_云计算_09

10.选择网络类型

注:此处建议与原虚拟机一样,我的之前为桥接

虚拟机导入kvm 虚拟机导入vmdk_服务器_10

11.选择I/O控制器类型

注:一般选择推荐即可

虚拟机导入kvm 虚拟机导入vmdk_VMware_11

12.选择需要创建的磁盘类型(重要)

注1:此处需要重点关注,因为我们要采用转换的虚拟机直接作为启动盘,所以磁盘类型必须和原虚拟机一致,否则会无法启动虚拟机,造成蓝屏报错

注2:若原虚拟机无法启动查看,可选择与原虚拟机物理机一致的磁盘类型进行尝试,此处我的原虚拟机使用的是SATA盘,所以我选择SATA类型的磁盘

虚拟机导入kvm 虚拟机导入vmdk_windows_12

13.选择使用现有虚拟磁盘(即选择我们转换后的vmdk文件)

虚拟机导入kvm 虚拟机导入vmdk_VMware_13


虚拟机导入kvm 虚拟机导入vmdk_云计算_14

虚拟机导入kvm 虚拟机导入vmdk_虚拟机导入kvm_15

14.在Workstation里启动虚拟机

注:启动后可能弹出如下对话框,选择否即可

虚拟机导入kvm 虚拟机导入vmdk_云计算_16

成功进入系统

虚拟机导入kvm 虚拟机导入vmdk_云计算_17

四、扩展

仿照上述方法,可尝试以下转换:
进入VirtualBox的安装目录下,使用VBoxManager实现以下转换

1.vmdk转换成vdi

VBoxManage.exe clonehd source.vmdk target.vdi --format VDI

2. vdi转换成vmdk

VBoxManage.exe clonehd source.vdi target.vmdk --format VMDK

3. vdi转换成vhd

VBoxManage.exe clonehd source.vdi target.vhd --format VHD