移动 ProgramData 文件夹后导致 Windows10 更新失败

Windows 10 的 2018 春季更新终于提推前迟发布了。

然后我想起来这个月有一个无限安装失败的4月补丁 KB4093112 ,错误代码提示 0x80070011 。

这个错误的名称是 ERROR_NOT_SAME_DEVICE ,也算是一个上古时代就有的一个错误。

原因很简单,对系统的 Program Files 目录以及 ProgramData 目录进行了移动之后就会发生这种错误。

根据微软的解释[1],自从 Windows Vista 之后,微软在各个系统文件夹中使用了硬链接,如果移动了这些文件夹的盘符,原来的硬链接自然会失效,导致安装更新的时候出现问题。

我只移动了 ProgramData 这个文件夹,于是我直接删掉了 C 盘中的软链接,然后把 Microsoft 开头的文件复制回了 C 盘。事实证明还是会出错,估计要把注册表中修改过的路径给改回 C 盘才行。

不过我懒,直接下载了 Windows 10 易升。提示1803更新之后就让它自己装了。安装过程一切顺利,还自动帮我把 D 盘中的 ProgramData 全部内容移动回了 C 盘。

看了看现在硬盘空间也不是这么的紧凑,也就不用忙着转移到 D 盘了。等什么时候完全没空间了再去处理吧。来自 120G SSD 的怨念

话说回来,上个月初还在使用 Insider Preview 的,但由于某些更新经常会有 BUG ,在换 CPU 和主板的时候就顺便重装回了正式版。1803的界面变化就不算什么新奇的了。

这次更新比较有用的一个新功能就是:可以自由切换应用所使用的显卡了[2]

这个功能吧,对笔记本用户肯定是不陌生的,N 卡和 A 卡的控制面板都有相应的设置。但对于保持核显开启的台式机来说,终于可以像笔记本一样方便切换软件所使用的显卡了。

具体位置,就在分辨率设置的页面下面有。

Update:发现微软把音频设备的面板也整合到了设置 App 里面了,点开一看,这不就是我前几天才说 AudioRouter 所要实现的功能吗?

微软终于内置了给软件指定任意音频设备的功能,太棒了。
New Audio Setting Panel

当然,AudioRouter 还有另一个功能并没有被微软添加到面板,那就是可以一个软件同时输出在多个音频设备上,AudioRouter 还是有保留的意义。
Screenshot of AudioRouter


外部链接:

[1]Error: ERROR_NOT_SAME_DEVICE(0x80070011)

[2]WINDOWS 10 APRIL 2018 UPDATE (VERSION 1803): 10 BEST NEW FEATURES