之前玩 UWF 固化 Windows 系统,防止硬盘写入以达到还原卡效果的时候,发现经常开机后大约半小时内,内存缓冲区就被大量写入消耗。后来经过研究发现就是 Windows 自动更新在后台下载,大量写入搞得鬼。
网上那些改注册表,将自动更新延迟很久的方法并不完全管用,根据观察,至少它会在后台更新“自动更新”自身,以及根证书列表。
后来翻看了下老外提供的方法,使用 Windows 防火墙禁用自动更新相关进程连接目标端口 tcp/443 ,即可解决问题。
具体操作:
打开管理员命令提示符,使用如下命令:
netsh advfirewall firewall add rule name="svchost.exe tcp/443" dir=out program="%SystemRoot%\System32\svchost.exe" protocol=TCP remoteport=443 action=block
功能是在 Windows 自带的防火墙中新建一个“出站”方向的控制规则,禁止 svchost.exe 进程连接目标端口为 tcp/443 的连接。即可防止其与 Windows Update 服务器的连接。
需要注意的是,一定要匹配目标端口“tcp/443”,而不能搞什么“一刀切”完全禁止这个进程连接网络,因为 DNS Client 和 WorkStation (SMB Client) 等服务也是这个进程,只不过目标端口不同,不能让此规则与其匹配。
额外话题:
如果你之前关闭了 Windows 防火墙,可以使用:
netsh advfirewall reset
将其重置恢复默认设置,之前自定义规则都将被删除
如果你是开发人员,不希望 Windows 防火墙阻止入站方向的连接,那么可以建立单独的放行规则
如果时在懒到极致,不想限制入站连接,可使用命令:
netsh advfirewall set allprofiles firewallpolicy allowinbound,allowoutbound
将防火墙“入站”和“出站”方向的默认规则设置为放行。不过这样也相当于关闭了防火墙,并不推荐。
如果你的梯子软件设置了系统的 Socks5/http proxy ,那么 Windows Update 也会走代理,并不会与此规则匹配上。如果你是用软路由或 tun 网卡方式则没有这个问题。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/1055147
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.