Hyper-V .vhdx 格式磁盘镜像转换为VirtualBox可用的.vhd格式

.vhdx是从Windows server 2012起引入的一种磁盘格式,是.vhd的升级版。与后者相比,vhdx格式的虚拟硬盘可以更好地保护数据,避免突然断电造成的数据损坏。当然还有一些其他的特性,但对于本文来说不是重点。

在使用Windows 8.1 x64位版本时创建了一个Hyper-v虚拟机,系统是CentOS 7.3,文件系统是XFS,里边保存了一些重要文件。在使用了很长时间的win8过后还是不能很熟练的掌握这款操作系统,索性换回了Windows 7,最近需要一些文件,他们被保存在vhdx硬盘中,期初没有很在意,微软的操作系统虽然总被吐槽臃肿,但这也是他的一个优点。经过网上搜索和若干次尝试后,我放弃了这种想法。好像微软就没有打算让Windows 7支持Hyper-v的任何技术。

最后,在GitHub中找到了一片关于vhdx转vhd的文章,需要在已经开启了hyper-v的电脑上进行。

具体操作步骤为:

1、确认已经安装Hyper-v,否则相关命令无法运行
2、以管理员权限打开powershell
3、在PS提示符后,使用以下命令:

Convert-VHD –Path YOUR VHDX PATH –DestinationPath YOUR DESTINATION PATH

例如:

Convert-VHD -Path c:\myDisk\Ubuntu.vhdx -DestinationPath d:\Ubuntu_vhd.vhd

注意两个路径都要带后缀,文件名中如果存在空格则需要使用单引号括起来。
4、等待处理完成,用VirtualBox加载生成的镜像,完成。

好了。安装虚拟机,将硬盘挂在,启动。。。。。。在紫色的进度条走到头以后,报错了,无法启动。重新下载CentOS 系统完整版,安装桌面系统,完成后启动,挂载硬盘镜像,无法挂载。。。应该是被损坏了……半年的辛苦付之一炬。所以,重要的文件一定要备份!重要的文件一定要备份!重要的文件一定要备份!重要的事说三遍