【每日一记11】 Windows10系统迁移后无法更新
  

sailyang 7599

{{ttag.title}}
问题
系统是Windows 10。电脑原本有一块机械硬盘。后来为了提高性能,想加装一块固态硬盘,作为系统盘。但是不想重装系统,免得各种软件要重新装。

于是就使用了分区助手进行硬盘迁移。将机械硬盘上的C盘完整地复制到固态硬盘上。然后在BIOS里设为从新的固态硬盘启动,就可以将固态硬盘作为新的系统盘使用了。

不过带来的问题就是发现Windows 10的功能更新没法安装了,始终显示错误或者无法安装。而且错误不明。

原因
排查了很久,根据网上的各种帖子推测,无法安装更新的原因是Windows恢复功能(Windows Recovery)被禁用了。而更新时会使用这个功能。如何确认是recovery没有启用呢?可以用管理员运行命令提示符(cmd),执行以下指令,来查看是否启用。

reagentc /info
以下是我处理好之后的结果。

解决
因为进行了系统迁移,原有的recovery还在旧的机械硬盘上。无法在系统中直接启用recovery,会报错或无效果。

(1)获得恢复镜像
如果要启用Windows recovery,需要重新指定恢复镜像Winre.wim。

要获得Winre.wim,一些帖子说可以从Windows完整镜像中提取。不过根据我的尝试,从最新版本的镜像中提取已经比较麻烦了,因为似乎微软更换了相关文件的打包方式。

另一种方法是从原有硬盘的恢复分区中获得。由于恢复分区是没有盘符的,也就是没有C、D、E盘这样的标志,没法直接访问。可以通过DiskGenius等硬盘工具软件访问,找到恢复分区recovery下面的recovery文件夹,的如下图所示。


这个文件夹下有一个子文件夹叫WindowsRE。图中没有,是因为我处理好之后,这个子文件夹自动消失了。把recovery分区:\Recovery\WindowsRE下的三个文件,特别是Winre.wim复制出来,这样就获得了相关文件。如下图所示。


(2)指定恢复镜像
在系统盘的根目录下建立一个文件夹,叫做Recovery,再在它里面建立一个子文件夹叫WindowsRE。注意,由于这些文件夹可能本身是存在的,并且是隐藏的,因此如果新建时报错,那么不用急,去文件夹选项中勾选“显示隐藏的文件”,然后取消勾选“隐藏系统保护的文件”。这样就能显示原有的文件夹了。

将刚才获得的三个文件复制到c:\Recovery\WindowsRE中。

然后用管理员运行命令提示符(cmd),执行以下指令。

reagentc /setreimage /path c:\Recovery\WindowsRE
reagentc /enable
如果执行成功,那么查看一下现在的状态:

reagentc /info
如果显示是enabled的状态,那么恭喜你,问题已经解决了。

但是可能并没有这么顺利。我操作的时候,发现前面的指令执行成功了,但是再次查看状态的时候,还是显示disabled。而如果再次执行reagentc /enable,就会提示:reagentc.exe 无法更新引导配置数据。

引导配置数据(BCD)跟系统启动有关,具体我也不懂。但是大概意思是说,因为系统中还残留有之前的信息(毕竟是整个系统盘复制嘛),所以这个BCD对不上了。

(3)修复BCD
【警告】
注意!请务必慎重!请务必阅读完所有步骤后再考虑是否操作!
(本文的后续步骤有可能导致电脑无法正常启动。本文所描述的步骤是我亲测有效的过程,但是不能保证其他人的情况和我相同,仍有可能导致电脑无法开机。所以请务必慎重。)

○ 下载easyBCD软件,可以用来修复BCD。

注意一定要下载2.3版本的(要能添加win10引导项),低了不行,高版本我不清楚。有人反馈说下载的是2.3版本的,但是还是不能添加win10引导项。这个版本问题我不是十分清楚,但是如果不能添加win10引导项,则一定不要操作,否则电脑将无法启动。

○ 下载了之后打开软件,按下图操作,恢复BCD配置。

注意:“恢复BCD配置”会删除所有启动项,导致计算机没法启动。因此操作之后千万不要关机重启!可以先备份配置


○ 恢复之后,再重新添加引导项
注意一定要有win10的选项。如果没有,请换版本。


○ 添加完成后,可以打开Windows自带的“系统配置”工具(在开始菜单或小娜搜索),查看引导项。


注意!确认引导项没问题之后,再重启。如果没有引导项就重启,则无法正常启动Windows。

(4)启用recovery
然后,再次用管理员运行命令提示符(cmd),执行以下指令。

reagentc /setreimage /path c:\Recovery\WindowsRE
reagentc /enable
如果还是提示reagentc.exe 无法更新引导配置数据。那么在命令行执行bcdedit /enum /v来查看引导项的guid。


然后将这个guid复制一下。复制方法:命令行界面点鼠标右键,选择“标记”,然后用鼠标左键按住拖动选择文本。选择好后,按下回车复制。

之后,执行以下指令,注意有大括号

reagentc /enable /osguid {刚才复制的id}
执行成功之后,再用reagentc /info查看。

这个时候,应该显示是enabled了。那么Windows 10就可以更新了。

另外:
如果使用路径c:\Recovery\WindowsRE有问题,也可以使用c:\Windows\System32\Recovery。操作之前,文件夹中原本就有的同名文件可以替换,没有关系。

打赏鼓励作者,期待更多好文!

打赏
1人已打赏

小鱼儿 发表于 2023-9-1 18:56
  
楼主分析的很详细,不错的实战经验
唐三平 发表于 2023-9-1 18:56
  
楼主分析的很详细,不错的实战经验
鲤鲤 发表于 2023-9-1 19:00
  
楼主分析的很详细,不错的实战经验
蔺嘉宾 发表于 2023-9-1 19:01
  
楼主分析的很详细,不错的实战经验
小德 发表于 2023-9-1 19:06
  
楼主分析的很详细,不错的实战经验
小小胖 发表于 2023-9-1 19:06
  
楼主分析的很详细,不错的实战经验
德德 发表于 2023-9-1 19:10
  
楼主分析的很详细,不错的实战经验
飞飞侠 发表于 2023-9-1 19:11
  
楼主分析的很详细,不错的实战经验
焱燚 发表于 2023-9-1 19:14
  
楼主分析的很详细,不错的实战经验
发表新帖
热门标签
全部标签>
西北区每日一问
技术盲盒
安全效果
技术笔记
【 社区to talk】
每日一问
干货满满
新版本体验
产品连连看
GIF动图学习
技术咨询
2023技术争霸赛专题
功能体验
通用技术
秒懂零信任
安装部署配置
原创分享
技术晨报
自助服务平台操作指引
每周精选
标准化排查
排障笔记本
玩转零信任
深信服技术支持平台
POC测试案例
信服课堂视频
畅聊IT
答题自测
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
高手请过招
升级&主动服务
高频问题集锦
社区新周刊
全能先锋系列
云化安全能力

本版达人

新手89785...

本周建议达人

新手78183...

本周分享达人