在工作中,经常会遇到虚拟磁盘文件格式的转换需求,尤其是在虚拟化迁移及云环境迁移到DC的虚拟化环境中
或者中转处理,如最近笔者遇到一个需要将Azure Cloud上的磁盘导出到VMware中,但Azure只能导出成VHD格式
这时,我们这可以使用VirtualBox先将VHD转换成VMDK,然后VMwarer就可以创建虚拟机,直接使用这块磁盘进行启动了~
笔者最开始使用的是命令行的方式进行转换(原因居然是不知道图形界面也可以完成转换,哎),如下方命令
"C:\Program Files\Oracle\VirtualBox\VBoxManager.exe" clonehd qq_5201351.vhd qq_5201351.vmdk --format vmdk
但最后才同样发现VirtualBox图形界面,就有转换的功能,位于File--> Virtual Media Manager
最开始没有发现,是因为界面上的操作按钮,不是我所理解的使用Convert转换菜单,而使用是Copy复制,其实,点击Copy就可以完成复制转换功能,
转换时,VirtualBox支持的是磁盘格式主要有VDI,VHD,VMDK等,目前总共支持如下6种~,支持的格式如下图所示:
最后点击复制即可开始转换,另外左右的磁盘模式,也可以根据自己的需求进行转换~,可以选择动态分配,也可以选择固定
转换完成后,就可以使用vmware进行启动了,直接使用原Azure导出的VHD转换成VMDK,可能会出现在Exsi主机中创建虚拟机启动失败,
报:无法打开磁盘 scsi0:0: 磁盘类型 不受支持或无效,可以使用如下解决方法,在Exsi主机中执行
# 使用Vmware vCenter Converter工具转换成ESX主机兼容的格式。
vmkfstools -i <HostedVirtualDisk> <ESXVirtualDisk>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
另外,也记录一下可能出现的另一个问题:
从Azure上导出成VHD后,使用VirtualBox添加VHD磁盘创建虚拟机,启动时一直停留在Windows的窗口界面转图
笔者开始也觉得奇怪,最后使用VirtualBox的磁盘复制转换功能将VHD转成VHD,即源和目标格式一样,转换一次,最后再用目标VHD文件启动,正常~
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/15746613.html