必须用sfc /scannow修复被篡改的系统文件,再以DISM恢复WinSxS映像基线,最后用icacls重置System32和WinSxS权限;三步缺一不可,否则设置打不开、程序闪退等问题将持续存在。

当流氓软件偷偷修改了kernel32.dll、user32.dll或注册表相关系统模块,导致设置打不开、程序闪退、蓝屏报错“拒绝访问”或“找不到指定模块”时,必须用sfc命令强制比对并还原原始文件副本,否则后续所有操作都建立在错误权限和损坏文件基础上。
以管理员身份启动终端并确认环境可用
这一步不是走形式——如果没点“是”通过UAC弹窗,SFC会直接返回“Windows资源保护未运行”或“拒绝访问”,整个流程立刻终止。
按下 Win + X → 选择Windows 终端(管理员) → 弹出用户账户控制窗口时,必须点击是。
注意:不要选“Windows PowerShell(管理员)”旧版,它在部分22H2/23H2系统中存在执行策略限制,可能导致DISM命令报错;终端(管理员)已默认启用全部权限模式。
运行sfc /scannow扫描并还原被篡改文件
该命令会逐个校验%WinDir%\System32、%WinDir%\SysWOW64、%WinDir%\WinSxS等路径下受保护的二进制文件,一旦发现数字签名不匹配(即被流氓软件注入或覆盖),就从WinSxS缓存中提取原始版本替换。
在终端中准确输入:sfc /scannow(注意sfc与/之间必须有且仅有一个英文空格)→ 按回车。
等待进度条跑满100%,全程不能关闭窗口、不能休眠、不能切换到其他程序——因为SFC会在后台锁定正在校验的DLL,强行中断会导致文件句柄残留,下次扫描卡在78%无法继续。
结果判断只看最后一行:若显示“Windows 资源保护找到了损坏文件并成功修复了这些文件”,说明核心篡改已清除;若显示“某些文件无法修复”,请立即进入下一步,不要重试。
用DISM修复底层映像再重跑SFC
流氓软件常连WinSxS组件存储一起污染,导致SFC找不到健康副本可用。此时必须先用DISM重置映像基线,否则SFC永远修不动。
方法一:联网自动修复
在当前未关闭的管理员终端中,依次执行以下三条命令,每条执行完看到“操作成功完成”再输下一条:
① DISM /Online /Cleanup-Image /CheckHealth
② DISM /Online /Cleanup-Image /ScanHealth
③ DISM /Online /Cleanup-Image /RestoreHealth
方法二:断网或更新源失效时指定本地ISO
先挂载Windows原版ISO(如D:\sources\install.wim存在),再执行:
DISM /Online /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim:1 /LimitAccess(注意:1不可省略,代表第一镜像索引)
DISM完成后,立刻输入sfc /scannow再次执行——这次SFC将基于刚恢复的干净映像工作,能真正还原被深度篡改的system32目录下所有DLL和驱动签名文件。
验证关键系统路径权限是否同步恢复
仅靠SFC+DISM不能100%保证权限回归——某些流氓软件会清空C:\Windows\System32和C:\Windows\WinSxS的NTFS继承权限,使SYSTEM和TrustedInstaller组失去完全控制权。
若修复后仍出现“设置应用启动即崩溃”“gpedit.msc提示拒绝访问”“注册表编辑器打不开HKEY_LOCAL_MACHINE\SOFTWARE”,说明权限层尚未修复。
此时需手动重置:在管理员终端中运行
icacls "C:\Windows\System32" /reset /T /C /Q
icacls "C:\Windows\WinSxS" /reset /T /C /Q
这两条命令强制恢复默认继承权限,/T表示递归子目录,/C忽略拒绝访问错误(避免因个别锁定文件中断),/Q为静默模式——执行过程无提示,但结束后不会报错即代表成功。

















