Windows 系统重置功能的小问题

2016-05-25 15:55:31 +08:00
 acess

背景

Win8 以来,就开始有“恢复电脑而不影响我的文件”功能了,看上去就是利用隐藏分区里的恢复镜像自动重装+迁移文件。如果是预装的系统,分区设置都很合理:有独立的 EFI 分区来存放引导文件,还有独立的恢复分区用来存放 WinRE 镜像和恢复镜像。

也就是说,哪怕 C 盘的文件系统因为读写数据时非正常关机、在 Cygwin 里无脑 dd 等等原因挂了,连正常挂载都不能,用户都可以进得去 WinRE 。

可以扔掉一键 GHOST 了?

貌似,并不能。
我用虚拟机安装了 64 位 Win10Pro ,测试了一下(故意重命名 ntdll.dll ,导致系统无法启动)……发现微软居然给这么棒的功能留下了一个超级蛋疼的弱点:
ReAgent.xml 仍然存放在 C 盘。
这本身不算什么。

问题在于,如果没了这个文件,系统重置就 SB 了:
我重命名了 C:\Windows\System32\Recovery\ReAgent.xml ,然后重启,重新进入 WinRE ,尝试运行保留个人文件的系统重置。
它会在 1%左右卡几秒,然后回来告诉你碰到了问题,不能继续。
然后……就没有然后了。
哪怕你可以在 WinRE 输入用户名和密码成功登录,哪怕……你决定放弃个人文件,如果 ReAgent.xml 丢了,你仍然会卡在这里。

如何绕过问题?

也许可以先在 WinRE 里打开命令提示符,然后用 reagentc.exe 重新生成一个 ReAgent.xml
但是,如果连 reagentc.exe 本身也没了呢? WinRE 里貌似并没有这个东西。
对了……其实恢复分区里就有一份 ReAgent.xml ,它的路径通常是\Recovery\WindowsRE\ReAgent.xml ,直接 copy 过去不就可以了?
实际上,这么干的确让系统重置恢复正常了(很遗憾,这么 copy 一下拯救不了提示“无法保留个人文件”的情况)。但是……有多少 Windows 用户愿意折腾这个 ReAgent.xml ?
另外,如果你真的格掉了 C 盘,即使拷回 ReAgent.xml 也无济于事,只有重装一条路(可以手动运行 dism /apply-image 把恢复镜像解压出来,但这也算是重装……)

结论

我也不清楚结论应该是什么……装机工仍然有生意可做?
我相信微软这么安排是有原因的……但我猜不到是出于什么样的原因。

2072 次点击
所在节点    Windows
2 条回复
longaiwp
2016-05-25 16:03:23 +08:00
这个恢复有可能会失败的,因为你可以清理掉安装的镜像,而且最有趣的是你还会因为某些核心失败的原因导致不能恢复,所以这个恢复功能只是一般用户重置系统环境的,因为一般要重置都是出现蓝屏了什么的
acess
2016-05-25 16:07:22 +08:00
@longaiwp
Win10 的重置可以脱离恢复镜像,但我测试时使用 reagentc 启用了恢复镜像。
也许这导致使用重置时,系统不能被破坏得太严重(比如至少注册表文件还能用)?
不知道 Win8.1 能不能做到即使格盘也能重装回来……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/281177

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX