【Windows】你所不知道的UWF

接到boss的要求,要求所有会议室电脑在零时自动重启,且重启后会自动恢复备份系统

这时候我的老哥告诉我,可以用Windows自带的一个功能——UWF!

WHAT?UWF?是UFO的弟弟吗?

接下来,介绍我使用UWF的辛苦过程(难受加班了一个月)

UWF统一写入筛选器

ok我们已经明确了领导的具体需求,这时候我先在一个会议室的笔记本电脑上重装重装系统。

重装系统后我们就需要开启系统自动还原


 

前提:什么是UWF

统一写入筛选器 (UWF) 是一个可选的 Windows 10、11 功能,它通过拦截驱动器的所有写入(应用安装、设置更改、保存的数据)并将其重定向到虚拟覆盖层来帮助保护驱动器。 虚拟覆盖是一个临时位置,通常在重新启动期间或来宾用户注销时清除。

(来自微软文档:https://docs.microsoft.com/zh-cn/windows-hardware/customize/enterprise/unified-write-filter) 

通俗释义:UWF相当于给受保护的卷包裹了一张透明薄膜(薄膜有两种:RAM与Disk),任何文件操作只会发生在薄膜上,重新启动计算机时,撕去脏污的薄膜,重新启动计算机后,贴上一张全新的薄膜。即当打开UWF时,文件系统为Alpha状态,之后无论经过何种文件操作(包括但不限于新建、删除、重命名、更改属性),重新启动计算机后,文件系统都会恢复为Alpha状态,若UWF保护的卷中包含C盘系统盘,则对系统设置、注册表等修改也将被恢复为Alpha状态。UWF类似于系统还原,不过更为彻底,任何文件更改在重启后都不会保留(C盘除外,因其特殊地位,恢复率99%)

优点:RAM模式下文件写入内存,不占用SSD写入量;RAM模式下的受保护卷4K读写与延迟极为出色,适合用于缓存空间;若选择保护C盘,可用于试验某些危险度较低、未触及到系统深层的行为,如安装流氓软件,浅层的注册表、组策略、控制面板修改

缺点:UWF虽然发展时间不算短(前身为Windows7中的EWF),依然不是很成熟,Bug较多,故仅作为可选功能提供。某些恶性Bug甚至会导致无法拯救的蓝屏。

(来自作者:人在火星-刚下飞船 https://www.bilibili.com/read/cv17730257/ 出处:bilibili)


 

1.安装UWF

控制面板>程序>启用或关闭Windows功能>设备锁定

找到统一写入筛选器

点击确定 安装完成重启即可

 

2.开启UWF

在CMD窗口中输入

uwfmgr.exe filter enable //开启UWF

uwfmgr.exe filter disable //关闭UWF

但在这里注意,最好先配置[3.UWF的其他属性]后再开启UWF

同理,需要先关闭UWF再配置[3.UWF的其他属性],从而减少系统蓝屏死机或其他问题!

3.UWF的其他属性

uwf有两种模式——RAM模式和Disk模式

懂计算机专业术语的大牛已经就能猜出来什么意思了。

RAM模式——在系统启用UWF后,额外写入的数据保存在RAM(内存)中

Disk模式——在系统启用UWF后,额外写入的数据保存在Disk(硬盘 )中

(具体参见微软文档不再详细赘述)


 

我的老哥选择Disk模式,表示Disk模式直通不会影响内存损耗,但会折损硬盘寿命(每一次重启都会重写一遍硬盘)

详细配置来了

uwfmgr.exe overlay set-type Disk //将UWF设置为Disk模式

由于我们重装系统只保留了一个C盘,所有只保护C盘就好了,当然可以选择其他盘排除保护

uwfmgr.exe volume protect C: //UWF保护C盘

uwfmgr.exe volume unprotect D: //UWF排除保护D盘

至此我们设置完成UWF后,进行第二步[开启UWF]后进行测试,一切正常!

没成想!这才是噩梦刚刚开始!

4.UWF的逼坑点

在会议室开启UWF后,有人反映启动UWF的会议室电脑会自动重启和卡死

我们排查卡死的原因可能是程序问题(给某会议软件道歉!对不起!)

会议室电脑自动重启的原因可能是定时重启任务的问题

(从Administrator账户开了一个用户,然后在Admin账户开的自动重启定时任务,这时候如果没有进入Admin账户,直接进入单开的账户,可能会任务无法执行导致重启)


 

然后我加班了

把所有会议室的电脑按照boss和cto的用户习惯更改

顺便把定时重启任务改成单开的账户执行(而且重启会提示2分钟后重启)


 

就这也平稳过了几天

突然一堆人反应会议室卡死,无法正常开会!

我心想不对啊,偶尔一台卡死正常,一起卡死不对劲!难道是UWF问题???

就在这时,Windows给我来一个提示!

 这个1024MB怎么这么熟悉!!!

这时候我们就详细排查UWF的文档,然后我们发现!

RAM覆盖大小默认为1024MB,此1024MB内存空间并没有被UWF锁定,而如果写入覆盖区的文件大小超过1024MB阈值,系统将会完全黑屏无响应,只能按关机按钮重启。 

可是我丫开的不是Disk模式嘛,Disk模式不是直通磁盘不受内存影响嘛?

这时候我的老哥发现,会议室的所有电脑都在系统更新

老哥排查的结果是,系统更新把磁盘/内存写爆炸了,又因为UWF的原因,重启后更新无法写入硬盘,只能一直反复,最后造成反复的计算机重启!

但始终想不通为什么会受到1024MB的阈值限制

最后达成共识


 

关停所有会议室电脑的系统自动更新

qpedit.msc

services.msc

两个策略中关停系统自动更新

在UWF中,开启Disk模式硬盘直通(其实是默认开启的)

uwfmgr.exe overlay set-passthrough on //开启可用空间直通

然后提高可用内存空间的阈值

uwfmgr.exe overlay set-size 8192 //uwf设定的覆盖大小
uwfmgr.exe overlay set-criticalthreshold 7500 //uwf设定的严重提醒级别
uwfmgr.exe overlay set-warningthreshold 7000  //uwf设定的提醒级别

有一个大佬写了一个软件,就不需要敲这么多代码了,还容易错

详见(4 封私信 / 28 条消息) windows统一写入过滤(uwf)的稳定性如何? - 知乎 (zhihu.com) 特别感谢!

 截止到今天,暂未发生会议室卡死和重启的问题反馈

哦对,上面查看UWF配置信息的命令是

uwfmgr.exe get-config //查看UWF配置信息

5.我的总结

其实在配置UWF的时候有很多坑的,接下来给大家说明一下

1.UWF在启动时,如果要修改配置建议先重启,然后关闭UWF,再修改配置

2.UWF在使用命令行CMD配置的时候,命令行必须是管理员模式(Ctrl+Shift+Enter)

3.建议查看UWF配置信息以明确配置是否生效

参考文档(特别感谢)

UWF统一写入筛选器 - 哔哩哔哩 (bilibili.com)

(4 封私信 / 41 条消息) windows统一写入过滤(uwf)的稳定性如何? - 知乎 (zhihu.com)
UWF自定义设置与命令管理_uwf保护管理-CSDN博客

统一写入筛选器 (UWF) 功能 (unified-write-filter) | Microsoft Learn

posted @ 2023-11-27 18:03  茉莉清茶三分糖  阅读(3464)  评论(0编辑  收藏  举报