实测环境:Windows 10 22H2(19045)/i7-14700KF/RTX 5070 Ti/C 盘 151GB(剩余 49.5GB) 数据来源:本机事件日志与
fltmc实测,取证过程交由 WorkBuddy 执行,命令全部可复现。

开机之后那几十秒,鼠标能动了,但双击「此电脑」要愣两秒,任务栏图标一个个蹦出来,右下角托盘还在长。多数人的第一反应是打开任务管理器,把启动项挨个禁用——然后发现作用有限。
原因很简单:你在关应用,而卡住你的可能根本不是应用。
这篇文章做一件事:把"卡"拆开,用系统自带的日志和命令行取证,让你知道该动哪一层。
"资源管理器卡"是个笼统说法,四种症状对应四套完全不同的根因,治法互相不通。
症状 | 发生阶段 | 大概率根因 |
|---|---|---|
登录后桌面空白、任务栏逐个加载 | 登录阶段(Explorer 还没起来) | 启动项抢资源、会话管理器初始化慢 |
双击文件夹要等 1–2 秒才列目录 | 已进入桌面,Explorer 运行中 | 文件系统过滤驱动叠加、网络盘、索引器 |
右键菜单转圈、卡死 | 右键瞬间 | 第三方 Shell 扩展(右键菜单项) |
切到"大图标"就卡死 | 浏览缩略图时 | 缩略图处理器、图片解码、索引 |
先把症状对上号,再往下走。对不上号就去改启动项,等于蒙。
Windows 有一份专门的启动性能日志,默认开启,很多人从没打开过:
Get-WinEvent -LogName "Microsoft-Windows-Diagnostics-Performance/Operational" -MaxEvents 20 |
Where-Object { $_.Id -in 100,101,102,103,110 } |
Select-Object TimeCreated, Id事件 ID 的含义:100 是整次启动的持续时间,101 点名某个应用启动超时(含毫秒数),110 是会话管理器初始化,102/103 针对驱动和服务。
我这台机器的实测结果:
时间 | 事件 | 内容 | 总耗时 | 其中降级 |
|---|---|---|---|---|
10-18 18:08 | 100 | 本次启动持续时间 | 48729 ms | — |
10-18 18:08 | 101 | WorkBuddy.exe | 32692 ms | 27692 ms |
10-18 18:08 | 101 | QQ.exe | 16444 ms | 11444 ms |
10-18 18:08 | 101 | OllamaSetup.tmp | 11184 ms | 6184 ms |
10-18 18:08 | 101 | SearchIndexer.exe | 445 ms | 352 ms |
10-16 21:29 | 110 | SMSSInit(会话管理器) | 11234 ms | 5961 ms |
10-16 21:29 | 100 | 本次启动持续时间 | 30474 ms | — |
两个数字值得盯:
"降级时间"是 Windows 给出的参考基线差值,可以理解为"比你该花的时间多花了多少"。WorkBuddy 那 32.7 秒里,有 27.7 秒是"多花的"。
任务管理器的"启动影响"只统计它认识的启动项,服务、计划任务、驱动它都不管。用这一条更全:
Get-CimInstance Win32_StartupCommand | Select-Object Name, Location, Command | Format-Table -AutoSize我这台机器有 9 个:Ollama、Edge 自动启动、夸克浏览器、夸克更新器、Steam、QQNT、WorkBuddy、微信、GoogleUpdater。其中三个是更新器(夸克更新、GoogleUpdater),它们开机就联网检查版本,收益为零。
这是本文的重点。杀毒软件、网盘同步、沙箱、安全卫士,都会往文件系统栈里挂"过滤驱动"。它的可怕之处在于:每次文件操作都要从这层走一遍,包括 Explorer 列目录。
fltmc filters实测输出(节选,数字是高度 altitude):
筛选器名称 数字实例 高度
360AntiSteal 7 402120
UCPD 7 385250.5
360Box64 7 382310
360FsFlt 7 382300
360qpesv 7 327404
DsArk 7 327402
Wof 4 40700
FileInfo 7 40500图 3|本机过滤驱动栈:5 个同源驱动全部挂着 7 个卷实例
高度越高,越靠近 IO 栈上层,也就意味着更早、更频繁地介入每一次文件访问。这张表里有 5 个来自同一家安全软件的过滤驱动(360 系列 + DsArk),全部挂着 7 个实例(对应已挂载卷)。
Explorer 打开一个文件夹,要读目录项、取图标、判断缩略图;每个动作都要依次穿过这一串过滤驱动。这不是"某个驱动有 bug",而是叠加成本:单个可能只多 1ms,五个叠起来在冷启动、首次访问时会被放大成肉眼可见的等待。
这也解释了为什么 SMSSInit 阶段就慢——会话管理器初始化时就要访问大量文件,此时安全软件已经驱动加载完毕,正卡在 IO 路径上。
原则是延迟,不是禁用。禁用会让你真的少用功能;延迟只是把它挪到你不看屏幕的时候。
延迟启动不一定要装第三方工具,任务计划程序就能做:触发器选"登录时",勾选"延迟任务 3 分钟"。
这是收益最大、也最需要谨慎的一层。判断方法不是看任务管理器,而是上面那条 fltmc filters:数一下挂了多少个、高度多少、实例数是不是等于卷数。
处置只有两条路:
对照实验是唯一可信的验证方式。不要凭感觉判断"某软件拖慢了我"——同一台机器、同一时段、改前改后各取三次,对比 ID 100 的数值,这是唯一站得住脚的证据。
如果卡的是右键菜单而不是双击文件夹,方向就变了。右键菜单的每一项都来自注册表里的 Shell 扩展,第三方软件挂得越多,菜单构建越慢。
处置:用微软自家的 Autoruns(Sysinternals 套件),切到 Explorer 标签,看 ContextMenuHandlers 与 ShellIconOverlayIdentifiers 两项。禁用前先记下原始值,出问题能改回来。
改完别急着说"流畅了",用同一套取证再跑一遍:
Get-WinEvent,取最新的 ID 100,记下启动持续时间;fltmc filters,确认驱动层数有没有真的减少;三项里至少两项变好,才算改对。只凭"感觉变快了"很容易被重启缓存和当日负载骗到。
整个取证过程不需要装任何软件,全部是系统自带工具,四条命令、十分钟内能跑完。我自己这一轮是让 WorkBuddy 直接跑命令、读日志、汇总成表格的——命令本身没有魔法,谁执行都一样,关键是把"猜"换成"量"。
下次开机再卡,别先动手,先看 ID 100 是多少毫秒。
标签:#WorkBuddy #Windows #性能优化
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。