Windows Defender 无法启动?按这个顺序修,基本都能解决
【免费下载链接】no-defenderA slightly more fun way to disable windows defender + firewall. (through the WSC api)项目地址: https://gitcode.com/GitHub_Trending/no/no-defender
打开 Windows 安全中心,实时保护那个开关是灰的,鼠标点上去毫无反应;想扫个毒,扫描进度条卡在原地不动;后台一查,Defender 相关的服务要么没起来,要么刚起就挂。撞上其中任意一条,基本可以确定:你的 Windows Defender 无法启动了。
好消息是,这类问题十有八九能按"由轻到重"的顺序修好。下面的四级方案从最省事的一招开始,大概率第一级就结束战斗;前两级不行的话,再往下走,不用每一级都做。
先花 30 秒,确认是不是 Defender 的锅
别急着动刀,管理员命令提示符里先跑两条:
sc query WinDefend sc query wscsvc配合下面三点快速判断:
- 两个服务都显示
RUNNING,但界面上保护是灰的 → 多半是配置被第三方工具改过,直接跳到第四级 - 服务是
STOPPED或查询报错 → 服务没起来,从第一级开始按顺序做 - 回想一下:最近装没装过杀毒软件、"系统优化"工具,或者用过 no-defender 这类工具主动关过 Defender → 有的话,第一级就是为你准备的
第一级:一条命令先拉回来
什么时候用这招:你之前用工具关过 Defender,或者怀疑是第三方软件把 Defender 挤掉了。
原理一句话说清:Windows 里有个安全中心服务(wscsvc),杀毒软件通过 WSC API 向它报个到,意思就是"这儿有我,Defender 你歇着"。no-defender 这类工具玩的正是模拟报到信号。所以把它请走,Defender 自然回来。
管理员命令提示符里执行:
no-defender-loader --disable执行完等 30 秒左右,相关服务会自动重启,Defender 基本就恢复了。本地没有这个工具的话,可以从仓库拿源码:
git clone https://gitcode.com/GitHub_Trending/no/no-defender三个小提醒:
- 先把其他杀毒、安全类软件退干净,避免冲突
- 必须管理员权限运行
- 弹出"已阻止对部分内容的访问"这类系统警告,选"允许"就行
第二级:把两个服务重新接上
什么时候走这步:第一级没用,sc query里服务是 STOPPED,或者服务反复启动失败。
WinDefend 是 Defender 本体,wscsvc 是安全中心,两个互相依赖,一个起不来另一个也悬。管理员 PowerShell 里执行:
net stop wscsvc net stop WinDefend timeout /t 10 /nobreak >nul sc create WinDefend binPath= "C:\ProgramData\Microsoft\Windows Defender\svcsvc.exe" start= auto sc create wscsvc binPath= "C:\Windows\System32\wscsvc.dll" type= share start= auto net start wscsvc net start WinDefend注意:服务本来就存在的话sc create会报错,这是正常的,把这两行换成sc config改启动类型为 auto 再启动即可。
第三级:用 DISM 和 SFC 修系统文件
什么情况下走这步:服务能起来,但 Defender 一干活就崩、报奇怪的错——通常是系统文件被破坏,Defender 组件加载不完整。
管理员命令提示符里依次执行:
DISM /Online /Cleanup-Image /RestoreHealth sfc /scannowDISM 需要联网拉修复文件,整个流程 30 分钟起步,期间别关窗口、别强制重启,中断了可能把系统文件搞得更碎。
第四级:注册表和组策略里被改了配置
什么时候到这步:服务是 RUNNING,但安全中心显示"由组织管理"、实时保护开关点不动——基本就是注册表或组策略被第三方工具动了。
改注册表前先备份,改错了可能开不了机:
reg export "HKLM\SOFTWARE\Microsoft\Windows Defender" C:\defender_backup.reg reg export "HKLM\SOFTWARE\Microsoft\Security Center" C:\seccenter_backup.reg然后重置相关键值(管理员 PowerShell):
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Security Center" -Name "AntiVirusOverride" -ErrorAction SilentlyContinue Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Security Center" -Name "FirewallOverride" -ErrorAction SilentlyContinue Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows Defender" -Name "DisableAntiSpyware" -Value 0 -Type DWord Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows Defender\Real-Time Protection" -Name "DisableRealtimeMonitoring" -Value 0 -Type DWord企业机还要查组策略:Win+R 输入gpedit.msc,进 计算机配置 > 管理模板 > Windows 组件 > Windows Defender 防病毒,确认"关闭 Windows Defender 防病毒"、"关闭实时保护"这几项是"未配置"。组策略改完要重启才生效。
🩹 修完了,对着清单勾一遍
全部打勾才算真正修好:
sc query WinDefend和sc query wscsvc都显示 RUNNING- 安全中心里实时保护开关能正常点开,不再是灰色锁定
- 跑一次快速扫描,能正常走完、无报错
- 检查病毒定义,能成功更新到最新版本
想再狠一点验证检测能力,可以下载 EICAR 标准测试文件,Defender 应该秒查秒隔离。
下次怎么不再踩同一个坑
- 装第三方安全工具、跑"系统优化"之前,先建个系统还原点,出问题几分钟回滚
- 限制那些优化软件的管理员权限,别给它们碰
HKLM\SOFTWARE\Microsoft\Security Center这类键的机会 - 每周跑一次
sfc /scannow加 Defender 全盘扫描,小问题早发现 - 可以把下面的脚本丢进任务计划程序做每周自检,服务掉了自动拉起,顺手更新病毒库:
@echo off sc query WinDefend | find "RUNNING" || net start WinDefend sc query wscsvc | find "RUNNING" || net start wscsvc "%ProgramFiles%\Windows Defender\MpCmdRun.exe" -SignatureUpdate "%ProgramFiles%\Windows Defender\MpCmdRun.exe" -Scan -ScanType 1附录
高频错误代码速查
| 错误代码 | 什么意思 | 怎么办 |
|---|---|---|
| 0x80070422 | 服务未启动 | 手动启动 WinDefend 服务 |
| 0x800106ba | 服务启动超时 | 检查服务依赖关系,重启一次 |
| 0x80070005 | 权限不足 | 用管理员身份跑命令 |
| 0x80072ee2 | 网络不通 | 确认能访问 Windows 更新服务器 |
| 0x8050800c | 病毒定义更新失败 | 手动触发一次定义更新 |
想深究的三个方向
- 服务控制管理器(SCM):搞懂 WinDefend 和 wscsvc 的启动依赖关系,排查服务问题比什么都管用
- WSC API 与 Windows 安全框架:第三方杀毒软件是怎么"接管"安全中心的,也是理解这类工具行为的基础
- 事件查看器:翻 Defender 的操作日志,报错的具体细节都藏在那里
【免费下载链接】no-defenderA slightly more fun way to disable windows defender + firewall. (through the WSC api)项目地址: https://gitcode.com/GitHub_Trending/no/no-defender
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考