笔者的笔记本上面使用VHD的方法安装了Win7 With UEFI BIOS,后来感觉双系统切着比较麻烦,因为这个Win7 已经配置好了相关的开发环境和数据库,重新安装又得重新设置一遍,所以打算把物理机的系统转移到虚拟机中

转移之前在网上搜索了一番,发现相关的案例还不少,想着这次应该不会踩坑了吧...

1:因为是用VHD方式安装的系统,想着直接在Hyper V中新建虚拟机,然后把VHD硬盘文件挂载上去应该就搞定了,于是开始测试。

因为Hyper-V二代的虚拟机只支持vhdx格式的虚拟磁盘,所以我们需要使用Hyper-V里面的编辑磁盘功能把vhd转换成vhdx格式

VHD安装的Win7 X64系统迁移到VMware虚拟机(P2V)..._第1张图片

一系列设置之后(PS:Hyper-V虚拟机第一代不支持UEFI,二代才支持,需要注意),启动虚拟机,结果一直提示找不到启动项...

好吧,那我先进PE看一下,挂载PE的ISO进入到PE后,打开分区精灵一看,ca,我的EFI分区哪去了,好吧我当时是直接在物理磁盘的EFI分区加上了VHD引导,那现在只能划一点空间重新做个引导了,先用分区精灵划一个EFI引导分区出来,然后用DISM或者bcdboot重建引导。

完成后重启机器,结果还是没法启动...

VHD安装的Win7 X64系统迁移到VMware虚拟机(P2V)..._第2张图片

还是找不到启动项,后来我研究了一下设置,发现“启用安全启动”这一项是选中的状态,应该就是这个原因了,于是把勾去了

VHD安装的Win7 X64系统迁移到VMware虚拟机(P2V)..._第3张图片

Duangduang,熟悉的界面

VHD安装的Win7 X64系统迁移到VMware虚拟机(P2V)..._第4张图片

然而等了1分钟...3分钟...5分钟...不对啊,怎么还在这个页面,于是强行关闭虚拟机

emm..感觉应该是驱动的问题吧,我搜一下看看有没有专门的软件

发现一个微软的“disk2vhd”小工具

下载后在物理机系统上面测试了一下,结果可用

切换到VHD系统后打开disk2vhd,结果发现识别不出来VHD里面的分区...只有物理磁盘的分区...

好吧,还得重新找办法

Symantec System Recovery:备份软件,可以异构还原,不过太大(VHD系统就剩1G空间),而且还是收费的,Pass

AcronisBackup_12.5:同样是备份软件,宣传支持P2V,V2V,不过是收费软件,而且文件也挺大,Pass

SCVMM:太大,还得安装MS SQL好麻烦,Pass

既然Hyper-V可能是驱动的问题,那我试试在VMware的虚拟机能不能跑

2:VMware虚拟机不支持Vhd格式的虚拟磁盘,于是需要想办法把vhd转换成vmdk文件

搜到一个小工具StarWindConverter,是一个VMWare和Virtual 虚拟机格式互转工具,于是开始测试

VHD安装的Win7 X64系统迁移到VMware虚拟机(P2V)..._第5张图片

转换过程很简单,没有复杂的设置。

转换完成后挂载到VMware新建的虚拟机中,结果还是没法启动...

再次使用PE查看转换后的vmdk磁盘情况,结果发现磁盘的分区非常奇怪,磁盘0,上面显示有未分配的空间,和本地磁盘,本地磁盘分区和未分配的空间大小一样,使用DISM修复分区提示不支持的接口,系统也是未知的状态,可能是因为不是虚拟机生成的vhd所以转换会出问题。

后来试了把vmdk挂载到物理机上面,然后用分区精灵克隆vhd磁盘,克隆完成后系统无法识别磁盘,但是进PE用分区精灵倒是能看到文件...

3:磁盘克隆看来不行,正好这时候看到 分区精灵里面有个“虚拟磁盘格式转换”的功能,正好可以试一下

VHD安装的Win7 X64系统迁移到VMware虚拟机(P2V)..._第6张图片

VHD安装的Win7 X64系统迁移到VMware虚拟机(P2V)..._第7张图片

选择好vhd文件和生成地址后,开始转换,接着把转换后的vmdk文件导入Vmware虚拟机中,开机测试

结果...在四色点合并的时候蓝屏,代码0xc000007b,于是换安全模式结果卡在ClassPNP.sys

VHD安装的Win7 X64系统迁移到VMware虚拟机(P2V)..._第8张图片

不过7b这个代码一般是因为磁盘驱动的问题,比如安装系统的时候是AHCI模式,后来在BIOS中改成了IDE模式,这样会导致这种蓝屏

嗯,应该是这个原因,于是先删除已添加的vmdk磁盘,然后导入的时候选择SATA模式

VHD安装的Win7 X64系统迁移到VMware虚拟机(P2V)..._第9张图片

终于可以正常启动了~进系统后会自动更新一下虚拟机的驱动,然后就可以用了。

VHD安装的Win7 X64系统迁移到VMware虚拟机(P2V)..._第10张图片

再回来测试一下Hyper-V,发现也是卡在了ClassPNP.sys,不过没在Hyper-V中找到磁盘的设置,可以试一下在PE中注入Hyper-V的SCSI驱动

VHD安装的Win7 X64系统迁移到VMware虚拟机(P2V)..._第11张图片

或者使用Vmdk2vhd把vmdk转换成Vhd文件


更新:

发现Hyper-V可以直接运行

1:需要一代的虚拟机,磁盘控制器选择IDE

VHD安装的Win7 X64系统迁移到VMware虚拟机(P2V)..._第12张图片

2:进入PE,把系统引导改为Leagcy BIOS引导的形式,重建引导即可

VHD安装的Win7 X64系统迁移到VMware虚拟机(P2V)..._第13张图片

PS:本来用的WE PE的ISO文件,进不去PE系统,后来换了IT天空的PE,发现里面的Win10PE进去后识别不出硬盘,后换XP的PE,结果可以识别出来了,于是在XP的PE里面修复了引导

---END---