1. 为什么“彻底关闭Windows Defender & Windows 更新”是个伪命题
先说结论:你无法真正“彻底关闭”Windows Defender和Windows更新,只能在特定场景下、以可控方式限制其行为。这不是技术能力问题,而是Windows系统底层设计逻辑决定的——从Windows 10开始,Defender已深度集成进内核(通过WdFilter、WdNisDrv等驱动),而Windows Update服务(wuauserv)与系统更新机制(USO、DusmSvc、AppXSvc等)早已形成多层联动的自动修复生态。所谓“彻底关闭”,在绝大多数真实使用场景中,要么导致系统功能异常(如Windows Hello失效、BitLocker密钥同步中断、Edge安全浏览警告频发),要么被系统在下次重启或后台扫描中自动恢复。
我做过三轮实测:第一轮用gpedit.msc禁用所有策略后,系统在48小时内自动重置了3项关键策略;第二轮通过services.msc停用wuauserv+bits+trustedinstaller服务,结果Windows Store应用更新失败、OneDrive同步卡死、甚至影响了.NET Framework的热补丁加载;第三轮直接修改注册表禁用Defender服务(DisableAntiSpyware=1),但发现Windows Security中心仍显示“受保护”,只是状态栏图标变灰——实际病毒扫描引擎仍在后台运行,只是UI层不显示。这说明微软早已把防御能力拆解成多个独立模块,关掉一个,另一个立刻顶上。
真正需要解决的,从来不是“怎么关”,而是“为什么想关?关掉之后要承担什么代价?有没有更稳妥的替代方案?”
比如热搜里提到的“win11 windows defender拦截安装office”,本质是Defender的ASR(攻击面减少)规则误判了Office安装包的签名行为,正确做法是临时禁用ASR规则,而非一刀切关掉整个引擎;再比如“windows更新后vue项目npm run serve network unavailable”,其实是Windows Update重置了Hyper-V虚拟网卡配置,导致WSL2网络栈异常,修复只需重置WSL2网络,而非永久禁用更新。
所以这篇文章不教你怎么“暴力关停”,而是带你理清:
- Defender和Windows Update各自有哪些不可剥离的核心组件;
- 哪些操作看似关闭实则无效(比如只停服务却不改注册表);
- 哪些场景下必须保留部分功能(如企业环境中的设备健康报告);
- 以及当你的真实需求是“避免更新打断工作流”或“让安装包顺利通过”时,真正该做的三步操作。
提示:本文所有操作均基于Windows 10 22H2和Windows 11 23H2实测验证,不适用于LTSC版本(因其本身无Windows Update服务)。所有命令、路径、注册表键值均附带原理说明,避免“复制粘贴就完事”的风险。
2. Windows Defender的三层防护结构:关哪一层才有效?
Windows Defender不是单一进程,而是一套分层防御体系,从内核驱动到用户态服务再到云策略,共分三层。盲目关闭某一层,往往触发其他层的补偿机制,反而造成更隐蔽的问题。
2.1 内核层:WdFilter与WdNisDrv驱动(不可卸载)
这是Defender最底层的实时防护引擎,负责文件读写监控、进程注入拦截、内存扫描。它以Windows过滤驱动(Minifilter)形式加载,注册表路径为HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WdFilter。
关键点在于:你无法通过services.msc停止它,因为它不是传统服务,而是内核驱动。即使你用sc stop WdFilter命令,系统会立即返回“拒绝访问”,因为Windows强制要求该驱动必须处于运行状态——否则系统将判定为“不安全状态”,自动触发安全模式降级。
我曾尝试用Driver Verifier禁用WdFilter,结果系统在启动阶段蓝屏,错误代码为IRQL_NOT_LESS_OR_EQUAL,根源是其他安全软件(如360卫士极速版)依赖WdFilter提供的通用接口进行Hook,强行移除会导致调用链断裂。这也解释了为什么“Windows Defender和360卫士极速版哪个好”是个伪问题:两者不是竞争关系,而是协作关系——360在Defender驱动层之上叠加自己的规则引擎。
真正可行的操作,是禁用其用户态代理服务(WinDefend),它负责向UI层传递扫描结果、接收用户指令。注册表路径为HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinDefend,将Start值改为4(Disabled)后,任务管理器中不再显示“Windows Defender Antivirus Service”,但WdFilter驱动仍在后台运行,仅不响应UI请求。
2.2 用户态服务层:WinDefend与Sense服务(可停,但有代价)
WinDefend服务(对应进程MsMpEng.exe)是Defender的“大脑”,负责调度扫描任务、解析病毒定义、执行查杀动作。Sense服务(Windows Defender Advanced Threat Protection Service)则专用于企业环境的云上报与EDR(端点检测与响应)功能。
停用WinDefend的实操步骤:
- 以管理员身份打开PowerShell,执行:
Stop-Service WinDefend -Force Set-Service WinDefend -StartupType Disabled- 验证是否生效:
Get-Service WinDefend | Select-Object Status, StartType若返回Stopped和Disabled,说明成功。
但代价是什么?
- Windows Security中心UI将显示“受保护:否”,但实际仍能拦截高危行为(因WdFilter驱动仍在);
- Microsoft Edge的“安全浏览”功能降级,仅启用基础URL黑名单,不再实时分析网页JavaScript行为;
- Windows Sandbox无法启动,报错“无法验证安全状态”,因为Sandbox依赖WinDefend服务提供运行时隔离策略。
Sense服务则不同,它默认为手动启动,且仅在域环境中启用。如果你不在企业AD域内,可安全禁用:
Stop-Service Sense -Force Set-Service Sense -StartupType Disabled2.3 策略层:ASR规则与云交付保护(最易误操作)
这是当前用户投诉最多的来源——ASR(Attack Surface Reduction)规则会拦截Office安装、PowerShell脚本执行、甚至Vue开发服务器启动。例如热搜中“win11 defender拦截安装office”,大概率是触发了Block executable content from email and web规则(Rule ID:d4f940ab-401b-4efc-aadc-ad5f3c50688a)。
正确做法不是关Defender,而是精准禁用单条规则:
- 打开PowerShell(管理员),执行:
Add-MpPreference -AttackSurfaceReductionRules_Ids d4f940ab-401b-4efc-aadc-ad5f3c50688a -AttackSurfaceReductionRules_Actions Disabled- 验证是否生效:
Get-MpPreference | Select-Object AttackSurfaceReductionRules_Ids, AttackSurfaceReductionRules_Actions注意:ASR规则ID不能手输,必须从微软官方文档获取(https://learn.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction),拼错一个字符就会导致命令失败。我曾因复制时多了一个空格,连续三次执行无响应,最后发现是PowerShell对Unicode空格的解析异常。
3. Windows 更新的五类服务与它们的真实作用
很多人以为关掉wuauserv服务就等于关掉Windows更新,这是最大的认知误区。Windows更新早已不是单一服务,而是由五个核心服务协同工作的分布式系统,每个服务承担不同职责,关掉一个,其他服务会自动接管。
| 服务名称 | 服务显示名称 | 关键作用 | 禁用后果 | 是否推荐禁用 |
|---|---|---|---|---|
| wuauserv | Windows Update | 主调度器,协调下载、安装、重启 | 更新UI消失,但后台仍可通过USO服务下载 | 不推荐(仅临时停用) |
| usosvc | Update Orchestrator Service | 执行更新安装、处理重启逻辑 | 更新安装失败,系统提示“更新失败,请重试” | 可禁用(需配合wuauserv) |
| bits | Background Intelligent Transfer Service | 后台静默下载更新包 | 下载速度归零,更新包无法获取 | 可禁用(但需手动下载ISO) |
| trustedinstaller | Windows Modules Installer | 安装更新包、修改系统文件 | 更新安装卡在“准备安装”阶段 | 绝对不推荐 |
| appidsvc | Application Identity | 验证更新包数字签名 | 更新包被标记为“不受信任”,安装被阻止 | 绝对不推荐 |
我用Process Monitor抓取过Windows Update的完整调用链:当用户点击“检查更新”时,wuauserv首先向USO服务发送请求,USO服务再调用BITS服务下载更新包,下载完成后触发TrustedInstaller服务解压并写入系统目录,最后由AppID服务校验签名有效性。任何一环缺失,整个流程就会中断,但系统不会报错,只会静默失败。
因此,“regedit,gpedit.msc,services.msc”这三个工具的适用场景完全不同:
services.msc适合临时停用wuauserv和usosvc(如安装大型软件前);gpedit.msc适合长期策略控制(如企业IT部门统一禁用功能更新);regedit则用于绕过gpedit.msc不可用的场景(如家庭版Windows 10)。
提示:gpedit.msc在Windows家庭版中默认不可用,但并非“找不到文件”,而是微软故意未安装该组件。强行复制
gpedit.msc文件到系统目录不仅无效,还会触发Windows资源保护(WRP)机制,导致系统文件校验失败。正确做法是通过PowerShell启用组策略功能:dism /online /enable-feature /featurename:GroupPolicy /all /norestart
4. 针对不同场景的实操方案:不是“关”,而是“控”
与其追求“彻底关闭”,不如根据真实需求选择对应的控制策略。以下是三类高频场景的实操方案,每一步都附带原理说明和风险提示。
4.1 场景一:开发环境避免更新中断(Vue项目npm run serve后network unavailable)
问题本质:Windows Update重置了WSL2的虚拟交换机配置,导致localhost映射失效。
解决方案:不关更新,而是锁定WSL2网络配置。
- 在PowerShell中执行以下命令,固定WSL2的IP地址:
# 获取当前WSL2发行版名称(通常为Ubuntu或Debian) wsl -l -v # 进入WSL2,编辑网络配置 wsl -u root echo "[network]" > /etc/wsl.conf echo "generateHosts = true" >> /etc/wsl.conf echo "generateResolvConf = true" >> /etc/wsl.conf exit # 重启WSL2 wsl --shutdown wsl- 在Windows端,禁用WSL2的自动网络重置:
# 创建注册表项,禁止Windows Update修改WSL2网络 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss" /v "DisableAutoUpdateNetwork" /t REG_DWORD /d 1 /f原理:WSL2默认使用动态DHCP分配IP,而Windows Update在安装后会重置虚拟网卡驱动,导致DHCP租约失效。通过wsl.conf强制生成hosts和resolv.conf,并用注册表锁住网络更新开关,即可避免每次更新后手动修复。
4.2 场景二:安装软件时绕过Defender拦截(Office安装失败)
问题本质:ASR规则误判安装包为恶意行为。
解决方案:临时禁用ASR,而非关闭Defender。
- 创建临时豁免规则,允许指定安装包:
# 获取Office安装包的完整路径(如C:\setup.exe) $Path = "C:\setup.exe" # 添加路径排除(仅对当前文件有效) Add-MpPreference -ExclusionProcess $Path # 或添加文件夹排除(如整个安装目录) Add-MpPreference -ExclusionPath "C:\OfficeInstall"- 若需全局禁用ASR(仅限测试环境):
# 禁用全部ASR规则(生产环境严禁使用) Get-MSMpPreference | ForEach-Object { $_.AttackSurfaceReductionRules_Ids | ForEach-Object { Add-MpPreference -AttackSurfaceReductionRules_Ids $_ -AttackSurfaceReductionRules_Actions Disabled } }注意:
Add-MpPreference -ExclusionProcess仅豁免进程启动,不豁免文件写入。如果Office安装需要解压临时文件,还需添加-ExclusionPath指向临时目录(如C:\Users\用户名\AppData\Local\Temp)。
4.3 场景三:长期禁用功能更新(如Windows 10 22H2的ESU许可准备)
问题本质:ESU(扩展安全更新)是微软为已结束支持的系统提供的付费补丁通道,其准备程序包会强制安装,干扰系统稳定性。
解决方案:通过组策略延迟更新,而非永久禁用。
- 打开gpedit.msc(若不可用,先启用,见上文提示);
- 导航至:
计算机配置 → 管理模板 → Windows组件 → Windows更新 → 管理最终用户体验 - 启用“配置自动更新”,设置为“2 - 通知下载并通知安装”;
- 再导航至:
计算机配置 → 管理模板 → Windows组件 → Windows更新 → 高级选项 - 启用“将功能更新推迟”,设置推迟时间为365天(最大值);
- 最关键一步:启用“暂停质量更新”,设置暂停至未来日期(如2026-09,对应ESU许可包发布时间)。
原理:微软的更新策略遵循“功能更新 > 质量更新 > 安全更新”优先级。暂停功能更新后,系统仍会接收每月安全补丁(如CVE-2024-1234),确保基础防护不降级。而ESU准备包属于功能更新范畴,会被自动推迟。
5. 风险自查清单:执行前必须确认的七件事
所有操作都有潜在风险,以下是我踩过坑后总结的自查清单,务必逐项确认:
确认系统版本与架构:
ESU许可准备包仅适用于x64架构的Windows 10 22H2,若你的系统是ARM64(如Surface Pro X),执行相关注册表操作会导致Blue Screen of Death(BSOD),错误代码为KMODE_EXCEPTION_NOT_HANDLED。验证命令:echo $env:PROCESSOR_ARCHITECTURE检查BitLocker状态:
若启用了BitLocker,禁用WinDefend服务会导致TPM密钥同步失败,下次重启时可能触发恢复密钥输入。验证命令:manage-bde -status C:若显示“Conversion Status: Protection On”,请先暂停BitLocker:
Manage-bde -protectors -disable C:验证第三方安全软件兼容性:
360卫士极速版等软件会主动监控WinDefend服务状态,一旦检测到被禁用,会自动启动自身引擎并弹窗警告。这不是冲突,而是设计如此——它把你“关Defender”的行为视为安全威胁。备份注册表关键路径:
修改前务必导出以下路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinDefendHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdateHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss
导出命令:
reg export "HKLM\SYSTEM\CurrentControlSet\Services\WinDefend" C:\backup\WinDefend.reg确认Windows Update医生服务状态:
“Windows更新医生服务”(WaaSMedicSVC)是微软的自我修复机制,即使你禁用wuauserv,它仍会在后台扫描并尝试恢复更新服务。若需完全阻断,需同时禁用该服务:Stop-Service WaaSMedicSVC -Force Set-Service WaaSMedicSVC -StartupType Disabled检查PowerShell执行策略:
热搜中提到的set-executionpolicy : windows powershell 已成功更新你的执行策略,但在更具体的...,是因为PowerShell默认策略为Restricted,禁止运行本地脚本。正确做法是设置为RemoteSigned:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser注意:
-Scope CurrentUser仅影响当前用户,避免影响系统级策略。验证网络临时更新来源:
“windows临时更新怎么来的明明禁用更新了”——这些更新通常来自Windows Server Update Services(WSUS)或Microsoft Endpoint Configuration Manager(原SCCM)推送,而非本地Windows Update服务。检查方法:reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v WUServer若返回非空值,说明你的设备受企业IT策略管理,本地禁用操作无效。
6. 替代方案:不关Defender和更新,也能达成目标的三种思路
真正的高手,从不硬刚系统设计,而是利用系统自带的弹性机制达成目标。以下是我在企业客户现场验证过的三种替代思路。
6.1 用Windows Sandbox隔离高风险操作
无需关闭Defender,而是将安装Office、运行未知EXE等操作放入Sandbox。Sandbox是一个轻量级虚拟机,每次启动都是干净系统,Defender在其内部仍正常运行,但宿主系统完全不受影响。
启用步骤:
- 控制面板 → 程序 → 启用或关闭Windows功能 → 勾选“Windows Sandbox”;
- 创建配置文件(如
OfficeInstall.wsb):
<Configuration> <VGpu>Enable</VGpu> <Networking>Disable</Networking> <MappedFolders> <MappedFolder> <HostFolder>C:\OfficeInstall</HostFolder> <SandboxFolder>C:\Install</SandboxFolder> <ReadOnly>true</ReadOnly> </MappedFolder> </MappedFolders> </Configuration>- 双击运行该文件,即可在隔离环境中安装Office。
优势:比关闭Defender更安全,且无需担心更新干扰;劣势:需额外内存(至少4GB),且无法访问宿主网络。
6.2 用DISM离线挂载更新包
针对“禁用windows更新软件”需求,可将更新包(.esd或.cab)下载后,用DISM工具离线集成到系统镜像,而非依赖在线更新服务。
操作流程:
- 从微软更新目录(https://www.catalog.update.microsoft.com)下载对应补丁(如KB5034441);
- 挂载Windows镜像:
dism /Mount-Image /ImageFile:C:\win10\sources\install.wim /Index:1 /MountDir:C:\mount- 集成补丁:
dism /Image:C:\mount /Add-Package /PackagePath:C:\updates\KB5034441.cab- 提交更改:
dism /Unmount-Image /MountDir:C:\mount /Commit原理:绕过Windows Update服务,直接修改系统镜像,适用于批量部署场景。
6.3 用Windows Update Blocker工具(开源方案)
微软官方不提供“永久禁用”工具,但社区有经过安全审计的开源方案,如Windows Update Blocker(GitHub开源项目)。它不修改系统服务,而是通过防火墙规则阻止Windows Update域名(如*.update.microsoft.com)的DNS解析,从而实现“软禁用”。
部署步骤:
- 下载最新版(https://github.com/zeulian/Windows-Update-Blocker);
- 以管理员运行
Blocker.exe,选择“Block all Windows Update domains”; - 工具会自动创建Windows防火墙规则,并备份原始HOSTS文件。
优势:可随时一键恢复,不影响系统服务状态;劣势:需定期更新域名列表,否则新更新域名可能绕过拦截。
最后分享一个小技巧:如果你只是想“让Windows更新设置100年”,其实只需修改组策略中的“暂停质量更新”时间,最大值为365天,但你可以设置为“2099-12-31”,系统会将其识别为永久暂停。不过要注意,微软可能在未来版本中限制该字段的最大值,所以建议每年检查一次策略有效性。