• Windows10系统迁移后无法更新


    问题

    系统是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分区:RecoveryWindowsRE下的三个文件,特别是Winre.wim复制出来,这样就获得了相关文件。如下图所示。

    (2)指定恢复镜像

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

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

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

    reagentc /setreimage /path c:RecoveryWindowsRE
    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:RecoveryWindowsRE
    reagentc /enable
    

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

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

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

    reagentc /enable /osguid {刚才复制的id}
    

    执行成功之后,再用reagentc /info查看。

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

    ======================================================

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

  • 相关阅读:
    不用递归实现List转Tree
    spring cloud stream 局部异常和全局异常混乱
    HTTP协议详解(真的很经典)
    Python3 多线程压测接口数据:写入到influxdb:通过grafana展示
    Eclipse使用git最简易流程
    oracle patch包一定要775的权限
    安装19c grid时CRS-1705错误
    Ubutun 设置开机启动程序
    利用selenium将edge浏览器里面的网页保存为pdf
    Ruckus ICX7150 Switch License Upgrade from 1G to 10G
  • 原文地址:https://www.cnblogs.com/xia-weiwen/p/12382868.html
Copyright © 2020-2023  润新知