分享一次Surface Pro 6的折腾经历

分享一次1TB版Surface Pro 6的折腾经历,因为我觉得真的有必要分享出来,或许可以帮助到跟我遇到一样的问题的人。

前几天我的1TB版Surface Pro 6坏了,遂去第三方(不是微软官方)送修。(之所以要特意提及是1TB版,是因为这个版本有个巨大的坑,我就踩了这个坑。下文会详细介绍。)

出于安全考虑,我在送修之前完全重置了机器。

重置机器之前,我用Windows自带的系统映像备份做了全系统备份。顺便提一下,这个映像备份的分区格式是动态扩展的VHDX。并且每个分区都是一个独立的VHDX文件。

几天之后,机器拿回来了,我就像用我上一台256GB版Surface Pro 5一样直接进行系统映像恢复,但无论我用本地的Windows恢复环境也好,用U盘启动到Windows恢复环境也好,一直报错。

“要恢复这台计算机,Windows需要格式化当前运行Windows恢复环境的驱动器。……”(此处省略)

这时,我想起了之前在微软官方看过的一篇技术文档:

1TB版Surface Laptop1/2或者Surface Pro 5/6是双硬盘设计,所以设备管理器里面会显示两个512 GB的硬盘,并且磁盘管理里面磁盘的编号是从磁盘2而不是磁盘0开始的。

没错,之前提到的坑的地方就是这里。

那个1TB的空间是拿这两个512 GB的硬盘虚拟出来的。

我猜想,可能是这个原因导致了系统映像恢复没有办法开始。

为这个问题,我发愁了两天。

这期间,我试了各种第三方工具,但那些工具都只能识别出两个512 GB的物理硬盘,找不到那个虚拟空间,所以硬盘对拷也是不太现实的。

我还试过直接把备份里面的VHD拿出来,用Windows自带的“从VHD启动”功能启动。(这个功能只有专业版以上的Windows有)。

我把C盘那部分的VHDX挂上,然后用bcdboot把这个VHD添加进了启动菜单。

bcdboot f:\Windows

但一开始,我失败了——蓝屏了,原因是动态扩展的VHDX需要完全展开到它的最大大小才能顺利启动。

到这一步的时候,我已经有点没信心了,并且开始不耐烦了,以至于产生了手动还原文件和重新安装程序,然后删除这个映像的想法。而且当时弄完之后已经是凌晨3:00多了,我也有点困了,就没再继续。但最后也是用从VHD启动这个方法解决了95%的问题的。

早上醒来的时候,我突然想起来,之前玩Hyper-V的时候发现里面有个编辑虚拟磁盘的功能,我就想,或许可以试试用这个功能先把VHD缩小,然后再转换成固定大小。

(因为那个VHDX是动态扩展的,所以要完全展开到最大大小(900多GB)才能成功启动,但当时那个VHDX实际占用的空间只有300多G。)

谢天谢地——还好我凌晨的时候没有删映像。我重新挂上了VHDX,然后用DiskGenius把里面的分区大小缩小了,最后再用Hyper-V缩小了整个VHDX,还顺便转换成了固定大小。

啊哈!这次终于顺利启动到我备份的系统了!我当时还激动得唱起了我最喜欢的歌。

我真的太激动了,一切都跟我送修之前一模一样。

由于启动的是虚拟硬盘,所以,不能用完整个物理盘的大小。

但系统真的就是我送修之前的那个系统,我的所有程序和文件都完好无损。

不过,前面走了那么多弯路,能用这种方式进系统我就已经满足了,已经解决95%的问题了。

接下来,我还要尝试从里面用DG热迁移,把VHD里面的系统迁移回我的物理硬盘。

我用DiskGenius的系统热迁移功能把VHDX里面的系统迁移到了移动硬盘,但是重新启动的时候报了一个winload.efi的报错。解决办法依然是用bcdboot修复引导,修复之后,果然可以进去了。进去之后,我像刚才一样用DiskGenius的系统迁移功能,把系统从移动硬盘迁移回本机硬盘,但是一直提示无法锁定分区,我怕出问题,就没敢轻易开始。

由于我的移动硬盘够大,所以我在移动硬盘上压出来了一点空间,新建了个分区,把之前那个VHDX复制到了这个新建的分区。

接下来就是把里面的系统迁移回本机硬盘了。

我挂上了VHDX,打开DiskGenius,用系统迁移功能,选VHDX作为源盘,本机硬盘(在这里要选那个1TB的虚拟空间)作为目标磁盘。

迁移完成之后,我重启了机器,这次从本机硬盘启动,提示找不到操作系统。

好吧,那就只有重新启动回移动硬盘了。

进入移动硬盘里面的系统之后,我用DiskGenius在那个虚拟的1TB空间创建了个ESP分区。

然后我就重启机器了,这次我换成了之前做好的官方恢复驱动器,用恢复驱动器里面的命令提示符,用bcdboot修复引导。

好耶!这次就可以不用任何外接设备,直接从内置硬盘启动了,和维修之前一模一样了!

至此,整个折腾过程结束。

这次折腾真的蛮有趣的。

发布评论
全部评论(1)
最新
最早
加载中...