27
2025
02

Windows虚拟机从VMware迁移到PVE后蓝屏可以使用SkyIAR在PE下修复

    自从装好服务器PVE系统后,我逐渐把过去一些在本地跑的虚拟机迁移到PVE上去,可以节省一些存储空间,更重要的是可以把虚拟机共享给别人使用。但在迁移虚拟机的过程中我发现,一些过去曾在VMware上建立并良好运行的虚拟机,迁移到PVE后就无法正常启动了,特别是WinXP、2003这些老系统。系统迁移到PVE后,会莫名其妙的出现报错:Error loading operating system,搞定了这个问题,又遇到了0x0000007B蓝屏。

Windows虚拟机从VMware迁移到PVE后蓝屏可以使用SkyIAR在PE下修复


    缘由是很多年前我买了本网络安全书籍《Metasploit渗透测试魔鬼训练营》。

Windows虚拟机从VMware迁移到PVE后蓝屏可以使用SkyIAR在PE下修复

    为了配合书上的安全实验,作者制作了一些Metasploitable系统,也就是可攻击的靶机系统。

Windows虚拟机从VMware迁移到PVE后蓝屏可以使用SkyIAR在PE下修复

    原来书上的教程是让学员在自己电脑安装VMware,然后在VMware导入虚拟机,在自己的机器上做这些实验。但在我把随书附赠下载的XP和2003系统导入到PVE的时候,都出现了启动报错,Error loading operating system。笑死,上一次遇到这个错误还是十多年前用Ghost一键恢复的时候……反复验证,发现在VMware上仍然可以正常启动,但导入PVE后就失败,应该是镜像兼容性问题。具体来说,应该是VMware Workstation7.X或更老版本创建的虚拟硬盘.vmdk文件,在导入PVE的时候可能会丢失一些数据,导致无法启动。而使用较新版本的VMware Workstation创建的虚拟磁盘就不再有这个问题。

Windows虚拟机从VMware迁移到PVE后蓝屏可以使用SkyIAR在PE下修复

    解决办法是舍弃.vmdk文件,导出一份其他格式的磁盘镜像。我这里是在VMware上用PE启动,然后在PE里制作了一个GHOST镜像或磁盘IMG镜像,然后再到PVE里恢复GHOST或IMG镜像。

Windows虚拟机从VMware迁移到PVE后蓝屏可以使用SkyIAR在PE下修复


    两种方法测试都可以修复磁盘错误,使系统可以进入引导启动阶段,但启动后又遇到一个更经典的蓝屏错误:STOP: 0x0000007B……

Windows虚拟机从VMware迁移到PVE后蓝屏可以使用SkyIAR在PE下修复

    这个0x0000007B错误在很多年前是很常见的,过去主要见于GHOST方式安装系统时驱动匹配错误,或者修改BIOS的磁盘IDE/AHCI模式,导致系统启动失败时的报错。

    虽然是一个过去常见的报错,但毕竟转投新系统都好几年了,更别提这是20年前WinXP时代的历史遗留问题,所以一开始我大概知道是驱动问题但并不是很确定。由于VMware和PVE基本没有一样的驱动,我甚至一度怀疑两者架构区别太大,可能根本无法迁移?

    后来逐步排查,在腾讯云开发者社区找到了类似的问题,特别是该帖子指向了PVE社区的一个帖子,给出了具体原因和解决方案,确定应该还是磁盘驱动问题。在确定问题后,解决起来就很快了。只需要提前准备一个PE ISO镜像,在ISO镜像里存一个SkyIAR工具(最后的版本好像是2.75,十多年前就停止更新了),从PVE上挂载PE镜像并启动到PE,在PE下打开这个SkyIAR,可以看到主界面上两个重要选项:

Windows虚拟机从VMware迁移到PVE后蓝屏可以使用SkyIAR在PE下修复

    其他都保持默认,程序会自动选择正确的IDE或SATA驱动,手动勾选右下的“清理目标系统即插即用驱动”和“清理目标系统磁盘控制器驱动”,SkyIAR会提示你这两个功能都是用于更换硬件但不换系统时使用,这正好对应了从VMware迁移到PVE的场景。SkyIAR会清理原来的驱动并向系统注入当前自动匹配的的驱动,完成后它会提示你“导入完毕”。然后就可以退出PE了。

Windows虚拟机从VMware迁移到PVE后蓝屏可以使用SkyIAR在PE下修复


    现在再试一下启动虚拟机,应该就可以正常启动WinXP/2003系统了。

Windows虚拟机从VMware迁移到PVE后蓝屏可以使用SkyIAR在PE下修复    不过由于系统原来的主要驱动都被清理了,再次进入系统后,会花一些时间安装驱动。

    现在就完成了WinXP/2003系统从VMware迁移PVE的整个过程了……遇到一样问题的朋友可以参考一下。Windows虚拟机从VMware迁移到PVE后蓝屏可以使用SkyIAR在PE下修复


    顺便把SkyIAR 2.75放在这里,有需要的可以下载:SkyIAR_v275.rar(不保证安全性,不要使用在重要的生产平台上!)

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

召唤伊斯特瓦尔