ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Dism++系统维护实战:WinSxS清理、启动项管理与系统封装

Dism++系统维护实战:WinSxS清理、启动项管理与系统封装

1. 先搞清楚 Dism++ 到底是个什么东西

装完系统三个月,C 盘从 60G 可用掉到 8G;开机时间从 9 秒变成 40 秒;任务管理器里一堆叫不上名字的服务在后台转。这套流程,做运维的、帮朋友装机的、自己折腾电脑的,基本都经历过。我这些年用过 CCleaner 时代的老牌清理工具,也自己写过批处理去删更新缓存,最后电脑上长期留着的只有一个不到 10MB 的绿色程序——Dism++,也就是很多人嘴里的"Windows 系统优化神器"。它的完整使用指南,网上一搜一大把,但大部分只告诉你"点这个、点那个",不告诉你哪一步会把手搞废。

先说清楚它是什么。Dism++ 是一个基于 Windows 自带 DISM 接口封装的图形化系统维护工具,绿色免安装,解压就能跑,不需要常驻后台,不写驱动,不劫持系统。它干的事情可以归成四大块:系统垃圾与组件存储清理、启动项与服务管理、系统更新与驱动管理、系统映像(WIM/ESD)的挂载、修改与封装。换句话说,命令行里那些dism /online /cleanup-image写起来又长又容易打错字的活,它给你做成了可视化界面,还额外补了一些系统自带工具没有的便利功能。

这篇东西适合谁看?如果你只是想清个垃圾,看完第 3 章基本够用;如果你要给一批机器做统一封装、给老机器做瘦身、或者维护一个 U 盘 PE 维护盘,那 5、6 章值得细读;如果你完全不懂分区、映像、组件存储这些词,我建议你至少把第 2 章的备份部分逐字看完再动手,因为 Dism++ 里有几个开关,按下去的后果是不可逆的。

我先把结论摆在这:这工具本身足够稳,稳到我从 Win7 时代用到现在;但它稳的前提是你知道自己在点什么。它不是"一键优化",任何号称一键的东西,本质上都是把选择权交给别人的默认配置。下面按我自己的使用顺序,从选型、准备、清理、进阶到排错,一条线捋下来。

2. 为什么最后留下的是它:四类方案横向对比

2.1 它不是什么"优化大师",而是 DISM 的图形外壳

很多人第一次打开 Dism++,看到左边那一列"空间回收、启动项管理、驱动管理、程序和功能、更新管理、系统优化、工具箱",会下意识把它归类到"某某优化大师"那一档。这两者差别很大。传统优化大师类的软件,核心玩法是改注册表、关服务、装自己的驱动或过滤驱动、常驻后台监控,工具本身成了系统的一部分;Dism++ 走的是完全相反的路子——它几乎不改变系统的运行结构,只是把系统本来就有的能力(DISM、CBS 组件存储、注册表、服务控制管理器)包装了一层。

这个区别带来的实际后果是:你卸载 Dism++ 之后,系统不会有残留服务、不会有开机自启、不会有驱动残留,因为它压根没装。程序目录删掉就干净了。这一点对运维特别重要,你去客户机器上干活,掏出一个要安装、要写注册表、要重启的大工具,客户 IT 部门是要皱眉头;掏出一个绿色 exe,干完活拷走,什么痕迹都不留,接受度高得多。

我自己习惯把它放在 U 盘的一个固定目录里,同时放一份 x86 版本。为什么两个版本都要?因为在 64 位系统上跑 64 位版本功能最全;但在某些精简版 PE 或者 32 位系统环境下,只能跑 x86 版,而 x86 版在 64 位系统上做离线映像处理时功能是有阉割的(比如部分映像挂载操作会受限制)。这个坑我踩过一次,在一台老机器的 WinPE 里死活挂载不上映像,换回对应架构的版本立刻就正常了。

2.2 四类常见方案放一起比,差距在哪

我把这些年用过的方案列了个表,方便你对号入座。这里的对比维度是我自己实际关心的:能不能清组件存储、能不能离线处理映像、要不要常驻、误操作后的可恢复性。

方案清理深度离线映像处理常驻后台学习成本我的评价
系统自带磁盘清理浅,只覆盖常规临时文件不支持无极低应急够用,清不动 WinSxS
系统设置里的"存储感知"浅到中不支持系统级极低适合完全不想动手的人
纯命令行 DISM深,等价于 Dism++ 的核心能力支持无高,参数记不住服务器和脚本化场景首选
各类第三方清理软件中,靠自建规则库基本不支持多数常驻低规则更新滞后,容易误删
Dism++深,直连组件存储支持,图形化无中日常主力,配合命令行兜底

看这张表最关键的一行是"清理深度"。Windows 占用空间的大头从来不是临时文件,而是 WinSxS 组件存储和更新残留。一台用了两年的机器,C:\Windows\WinSxS长到 15G 到 25G 是常态,里面堆着历代更新的旧版本组件、被取代的驱动包、语言包副本。你拿磁盘清理去扫,它顶多告诉你"Windows 更新清理 3.2G",点确定之后删掉一部分,剩下的动不了——因为系统需要保证更新可回滚。

Dism++ 的"空间回收"里有一项叫Windows 更新清理,它调用的是DISM /StartComponentCleanup,能真正把被取代的组件标记为可删;如果勾上对应的"重置基础"类选项(界面上体现为更激进的清理),还会执行/ResetBase,把组件存储的基线重置,代价是已装更新无法再卸载。这就是我前面说的不可逆操作之一,后文会专门讲怎么判断该不该勾。

2.3 谁该用、谁最好别碰

说句实在话,这工具不是人人都需要。如果你符合下面任意一条,它的价值就很大:

  • 手上有 3 台以上机器要维护,尤其是给别人装的机器,需要快速瘦身和统一配置;
  • 机器硬盘小(128G 固态、老笔记本),系统盘长期告急;
  • 需要做系统封装:把一个干净系统做成映像,批量部署;
  • 需要维护 WinPE 维护盘,想在 PE 里直接改 offline 系统——比如给进不去的系统删驱动、删更新、改启动项。

反过来说,如果你只是想"让电脑变快",而且不愿意花 20 分钟理解每个开关的含义,我建议你只做两件事:清理临时文件、关掉几个开机自启。系统优化里那些关服务、关功能的选项,收益远没有宣传的那么大,而副作用往往在几周后才显现——比如你关了某个后台服务,半年后发现某个外设死活装不上驱动。

3. 开箱之前:版本选择、环境准备和三条保命线

3.1 版本、运行环境和权限

Dism++ 是绿色程序,下载下来是个压缩包,解压后目录里通常有Dism++x86.exe和Dism++x64.exe两个主程序,外加一个Config目录存配置。运行环境的硬性要求不高:Win7 SP1 及以上基本都能跑,WinPE 环境下也能跑,前提是 PE 里带有相应的运行库。

几个实操细节:

  • 必须用管理员权限运行。右键"以管理员身份运行",不然空间回收、服务管理、映像挂载都会报权限错误,或者读不到完整信息。我见过有人反馈"扫描出来的垃圾只有几百兆",一问就是没提权,程序读不到系统级目录。
  • 别放在中文路径或带空格的深层目录里,尤其是你要用它挂载映像的时候。映像挂载会用到临时目录,路径里带特殊字符偶尔会出问题。我一般放在D:\Tools\Dism\这种位置。
  • 配置目录会跟着程序走。你在 A 机器上调好的优化项,如果把整个目录拷到 B 机器,部分设置会跟过去。这其实是优点——我给自己所有机器用同一套配置,重装完直接拷目录,优化项一键套用。但如果你是在给别人修机器,记得别把自己的配置带过去乱改人家的设置。
  • PE 环境下功能受限。PE 里没有完整的在线系统,很多"在线"操作会变成灰色,能用的主要是离线映像相关功能。这是设计如此,不是 bug。

注意:从非官方渠道拿到的修改版、汉化版、捆绑版,一律别用。这类系统级工具一旦被塞私货,权限比你自己还大。认准项目官方发布渠道,核对文件哈希。

3.2 三条保命线,一条都不能省

我给人修机器有个雷打不动的习惯:动手之前先做三件事。这三件事花不了 15 分钟,但救过我至少四五次。

第一条:创建系统还原点。在 Dism++ 里可以直接操作(工具箱里有系统还原相关功能),但我更推荐用系统自带的方式,命令行一行搞定,速度快且不依赖第三方:

wmic shadowcopy call create Volume='C:\'

或者用图形界面:此电脑右键属性 → 系统保护 → 创建。还原点的作用是给你一个"后悔药",空间回收、服务禁用这类操作出问题,10 分钟能滚回去。

第二条:导出当前驱动。这一条很多人忽略,直到重装系统发现网卡驱动找不到、触摸板没反应。Dism++ 的"驱动管理"里可以直接导出当前系统所有第三方驱动到指定文件夹,导出后是一个个.inf+.sys的结构,配合系统自带的pnputil就能重新装回去。我自己的做法是每次大版本更新前导出一份,按日期命名存着。

第三条:重要数据异地备份。这条听起来像废话,但我见过太多人把资料放桌面,然后去动系统盘。系统还原点救不了用户数据,任何清理工具都可能误伤。移动硬盘、网盘、另一块物理盘,随便哪个,只要是"另一份"就行。

3.3 把操作按可逆性分成三档

用这类工具,脑子里必须有一根弦:哪些操作能撤回,哪些不能。我把它分成三档,你照着这个标准决定要不要按下去。

风险档位典型操作出问题后的补救
低(可逆)清理临时文件、回收站、缩略图缓存、日志系统会自动重建,无影响
中(部分可逆)禁用启动项、禁用服务、卸载更新、删旧驱动需要手动恢复,服务可重新启用,更新可重装
高(基本不可逆)重置组件存储基线、删除 Windows.old、关闭休眠删休眠文件、应用映像到分区只能靠还原点或重装

注意表格里"删除 Windows.old"这一项。很多人以为它只是删掉一个文件夹,实际上它是旧版本系统的完整备份,删了之后"回退到上一版本"这个功能就彻底没了。刚升级完系统、还没确认新系统稳定的时候,千万别删。我的习惯是升级后观察两周,确认驱动、常用软件、打印机都正常,再清掉。

同理,关闭休眠功能会删掉hiberfil.sys,这个文件大小约等于内存容量。16G 内存的机器能省 16G 空间,看着很香,但快速启动功能依赖休眠文件,关了之后开机速度会变慢,笔记本合盖休眠也可能受影响。台式机无所谓,笔记本我一般不关。

4. 空间回收:新手最容易翻车的地方

4.1 先扫描,看懂了再动手

打开 Dism++,第一件事不是点"空间回收",而是看清楚当前接的是哪个系统。程序顶部会显示当前会话,如果是本机在线系统,标题里会明确标出盘符和系统版本。如果你在 PE 里,需要先"文件 → 打开会话"选择目标系统盘,这一步很容易忘,忘了就会以为工具没读到数据。

进入"空间回收",界面会给出一长串可清理项,每项后面显示预估大小。第一次用,一定先点"扫描",让它把实际占用算出来,别急着全选。扫描过程有快有慢,WinSxS 相关项目在机械硬盘上可能要跑几分钟,正常现象,别强行关。

扫描完了,你会看到类似这样的清单(数值是我某台机器上的实际值,供参考):

清理项典型占用是否建议清说明
Windows 更新清理3-8 GB建议删被取代的更新组件
组件存储清理(WinSxS)2-6 GB谨慎涉及基线,见下节
临时文件0.5-3 GB建议安全,会自动重建
回收站不定建议先确认没有误删
系统日志与错误报告0.2-1 GB建议排错时才有用
缩略图与图标缓存0.1-0.5 GB建议会重建,首次打开文件夹略慢
交付优化文件1-5 GB建议更新分发缓存
旧驱动残留0.3-2 GB谨慎删了可能要重装驱动
Windows.old5-30 GB谨慎删了不能回退版本
休眠文件≈内存容量谨慎关快速启动,笔记本慎用

这张表不是让你照着勾,而是让你知道哪些数值大得异常。比如某台机器上"交付优化文件"占了 12G,那基本可以断定系统长期没清过,且开了 P2P 更新分发,这种情况优先清这个,收益最大风险最低。

4.2 分档清理策略:我实际在用的三步走

我自己的清理流程分三次,而不是一口气全勾:

第一轮,只清零风险的。临时文件、回收站、日志、错误报告、缓存、交付优化文件。这几项清完,机器一般能回血 3-8G,且不影响任何功能。清完重启一次,确认系统正常。

第二轮,处理更新残留。勾选"Windows 更新清理",执行。这一步会调用组件清理,耗时较长,中途可能提示需要重启。执行完必须重启,因为有些组件处于"待删除"状态,重启后才真正释放。重启后如果系统正常,再进下一步。

第三轮,才考虑 WinSxS 深度清理。这一步就是前面说的不可逆操作。判断标准很简单:这台机器还需要卸载已装更新吗?如果是给客户交付的机器、是长期不折腾的办公机,可以清,收益通常是 2-5G;如果是自己的开发机、需要保留回滚能力、或者系统刚更新完还在观察期,跳过这一步。

提示:清理过程中如果程序无响应,别直接强杀进程。组件清理中途被打断,有一定概率造成组件存储处于半完成状态,后续更新会报错。真遇到了,用dism /online /cleanup-image /restorehealth修。

4.3 WinSxS 到底能不能清:把原理讲透

WinSxS 被无数"优化教程"妖魔化了,很多文章教人直接删这个文件夹,这是纯纯的自杀行为。这个目录的全称是 Windows Side-by-Side,存放的是系统组件的多个版本,系统靠硬链接(hardlink)把这里的文件"映射"到 System32 等目录。你在资源管理器里看到的 20G,很大一部分是重复计算的硬链接,真实占用没那么夸张。

正确的清理方式是"让系统自己删",也就是组件清理。系统会把被新版本取代的旧组件标记为 superseded,然后清理掉。这个过程有两条路:

一条是保守清理,只删明确被取代且过了保留期的组件,保留回滚能力。Dism++ 界面上的常规"Windows 更新清理"走的就是这条。

另一条是重置基线,对应命令行的/ResetBase。它会清空"更新备份"的概念,之后系统认为当前状态就是基线,所有已安装更新都无法卸载。收益是能再多释放 1-3G,代价是失去回滚。

命令行对照,方便你在没有图形界面时操作:

:: 先分析组件存储现状 dism /online /cleanup-image /analyzecomponentstore :: 保守清理(推荐日常使用) dism /online /cleanup-image /startcomponentcleanup :: 重置基线(不可逆,确认后再执行) dism /online /cleanup-image /startcomponentcleanup /resetbase :: 组件存储损坏时修复 dism /online /cleanup-image /restorehealth sfc /scannow

analyzecomponentstore的输出里有个"可回收组件"数字,这个数字才是你真正能释放的空间。我见过有人看 WinSxS 文件夹 18G,兴冲冲去清,结果只回收了 2.3G,然后骂工具没用——其实另外 15G 是硬链接和当前正在用的组件,本来就不该删。

5. 启动项、服务与更新管理:比清理更影响体验的部分

5.1 启动项管理:任务管理器看不到的那一半

开机慢,大部分人第一反应是打开任务管理器 → 启动,把一堆程序禁用掉。但任务管理器只管"登录时自启的程序",管不到计划任务和服务,而这两块恰恰是拖慢开机和后台占用的重灾区。

Dism++ 的"启动项管理"把三类东西放在了一起:开机启动项、计划任务、系统服务。界面里每一项都能看到来源、状态和描述,可以按名称搜索。我的处理顺序是:

先看启动项,把明显不需要的禁用——各种更新检查器、游戏平台客户端、云盘同步、外设配套软件。这一层禁用是安全的,随时能恢复。

再看计划任务。这里是最容易藏东西的地方。系统自带的任务大多有明确描述,比如"检查更新"、"磁盘碎片整理";第三方软件偷偷加的任务往往名字含糊,或者干脆叫"Update Task"。处理方法不是全禁,而是看触发条件:如果触发条件是"用户登录时",且描述看不懂,可以先禁用观察几天。

最后看服务。这里必须极其克制。很多人看教程把"Windows Search"、"Superfetch/SysMain"、"Connected User Experiences and Telemetry"全关了,结果搜索变慢、机械硬盘读取变差、系统更新出问题。我的原则是:只关那种明确知道自己不需要的,比如打印机后台服务(没打印机的话)、蓝牙支持服务(不用蓝牙的话)、某个特定外设的服务。其余一律不动。

注意:服务禁用之前,先看清它的"启动类型"。如果是"自动(延迟启动)",说明系统本来就做了优化,影响不大;如果是"自动"且依赖关系里挂着一串其他服务,禁它可能连带影响别的功能。Dism++ 的服务列表里能看到依赖信息,动手前扫一眼。

5.2 更新管理:离线打补丁和卸载补丁的正确姿势

Dism++ 的"更新管理"是我用得第二多的功能,主要场景有两个。

场景一:给离线系统或映像打补丁。在 PE 里或者挂载了映像之后,进入更新管理,点"添加",选中下载好的.msu或.cab补丁包,程序会把它集成进去。这个能力对做系统封装的人非常有用——一次性把补丁集成进映像,装出来的系统直接是最新状态,省掉装完再等半小时更新。

场景二:卸载出问题的更新。某次更新之后蓝屏、打印机罢工、某个软件起不来,最直接的排障手段就是卸掉最近装的更新。在更新管理里找到对应 KB 编号,卸载,重启。这里有个前提:你没做过 ResetBase。做过的话,这些更新已经固化成基线,卸不掉了。这就是为什么我一直强调第 4 章那个判断。

操作上有几个细节值得记:

  • 卸载更新后,系统可能立即又自动装回去。处理方式是临时暂停更新,或者在组策略/注册表层面推迟更新,处理完问题再放开。
  • 集成补丁时要注意补丁之间的顺序和依赖,尤其是累积更新依赖前置的服务堆栈更新(SSU)。顺序错了会报 0x800f081e 之类的错误。稳妥的做法是按发布月份从早到晚集成。
  • 集成完补丁的映像体积会明显变大,这是正常的,组件在里面。后续可以用组件清理收一收,但注意清理后该映像装出来的系统同样失去回滚更新能力。

5.3 程序和功能:离线启用或关闭系统组件

这一项名字普通,但在 PE 或挂载映像场景下很好用。它对应的是系统"启用或关闭 Windows 功能"那个列表,比如 .NET Framework 3.5、Hyper-V、媒体功能、打印服务。区别在于,Dism++ 允许你对离线映像操作——PE 里挂上一个装不起来的系统盘,直接在离线状态把某个组件关掉或打开,不用先进系统。

我实际用它的场景:某些精简系统默认关了 .NET 3.5,导致老软件装不上,进系统后又因为缺组件、缺源装不回去。这时候挂载映像,直接在离线下把 .NET 3.5 打开,保存,重启进系统就好了。

注意:离线启用组件需要有对应的组件源文件(通常在映像的 WinSxS 里,或者需要外挂 install.wim 作为源)。如果提示找不到源,检查映像是否被过度精简过。

6. 驱动管理与系统封装:进阶玩法才是它的价值所在

6.1 驱动导出与离线注入:装系统不再怕没网卡

"驱动管理"是 Dism++ 里被严重低估的功能。它干两件事:导出当前系统驱动、给离线系统注入驱动。

导出很简单:进驱动管理,全选第三方驱动(系统自带的不需要导),点导出,选一个空文件夹。导出来的是标准的驱动包结构,之后可以用pnputil批量装回去:

:: 批量导入一个目录下的所有驱动 pnputil /add-driver D:\Drivers\*.inf /subdirs /install

这个命令我在无数台机器上用过,尤其是重装完系统、网卡没驱动、连不上网的时候——提前导出的驱动包里就有网卡驱动,U 盘一插,一条命令搞定。

注入的场景更进阶:你有一台特殊硬件的机器,需要定制系统映像,可以把驱动直接打进 install.wim。流程是挂载映像 → 驱动管理 → 添加驱动 → 选中.inf文件 → 保存映像。这样装出来的系统开箱即带驱动。

这里有个坑我踩过:注入的驱动位数必须和映像架构一致。给 x64 映像注入 x86 驱动,过程不报错,装完系统蓝屏。另外,显卡驱动不建议注入,包太大、版本更新太快,而且注入后首次装机会触发重新配置,反而拖慢。

6.2 挂载映像做离线精简:完整流程拆给你

这是 Dism++ 真正的杀手级功能,也是大部分人没耐心学的一块。整个过程分五步,我在做定制系统时反复走过。

第一步,做准备。需要一个系统镜像(ISO),从里面提取sources\install.wim(有些新版 ISO 是install.esd)。在 D 盘建两个空文件夹,比如D:\Mount(挂载点)和D:\Work(工作目录)。挂载点必须是空目录。

第二步,查索引。一个 wim 里通常有多个版本(专业版、家庭版、教育版)。Dism++ 的挂载界面会列出索引和各版本名称,选你要改的那个。命令行查看方式:

dism /get-wiminfo /wimfile:D:\Work\install.wim

第三步,挂载。文件 → 挂载映像,选 wim,选索引,选挂载目录。建议勾上"只读"先挂一次看看内容,确认无误后卸载,再以可写方式挂载。挂载过程几分钟,机械盘更慢。

第四步,改。挂载成功后,Dism++ 的左侧列表就指向这个离线系统了。这时候你能做的操作:

  • 空间回收:清掉映像里的更新残留、临时文件,能压缩 1-3G;
  • 更新管理:集成补丁;
  • 驱动管理:注入驱动;
  • 程序和功能:启用或关闭组件;
  • 系统优化:预置一些注册表设置(注意,部分优化项对离线映像不生效,取决于项的实现方式)。

第五步,保存并卸载。这一步最关键,很多人在这里丢工作成果。菜单里"保存映像并卸载",会提示三种方式:

  • 保存并卸载:把改动写回原 wim,耗时较长但结果干净;
  • 另存为:写到一个新的 wim 文件,原文件不动,安全;
  • 丢弃改动并卸载:白干。

我的习惯是用"另存为",虽然多占一份空间,但保留了原始映像,改坏了能重来。保存过程中千万别断电、别强关程序,wim 写入中途被打断,文件大概率报废。

提示:如果挂载时报"拒绝访问"或挂载点被占用,检查是不是杀毒软件在扫描挂载目录,或者上一次挂载没卸载干净。残留挂载可以用dism /cleanup-wim清掉,这个命令能救急。

6.3 ESD 转 WIM 与映像导出:小体积和大兼容的取舍

新版系统镜像越来越多用 ESD 格式,压缩率高、体积小,但兼容性差一些,很多第三方部署工具不认。Dism++ 的"文件 → 格式转换"能把 ESD 转成 WIM,也能反向转。转换过程就是解压重打包,耗时取决于机器性能,一个 4G 的 ESD 转完大概 15-30 分钟。

转换的意义在于:ESD 体积小适合分发,WIM 兼容好适合部署。我给别人做启动盘时,习惯把 ESD 转成 WIM 再打包进 ISO,兼容性稳。反过来,如果你要把定制好的系统发给同事,转成 ESD 能省一半以上体积。

还有一个用法是"导出映像":从一个多版本 wim 里只导出你需要的那个索引,能大幅减小文件体积。命令行长这样:

:: 只导出索引 3 的版本到新文件 dism /export-image /sourceimagefile:D:\Work\install.wim /sourceindex:3 /destinationimagefile:D:\Work\pro.wim /compress:max

/compress:max是恢复压缩,压得最狠但最慢。日常用fast就够。

7. 系统优化项逐条点评:哪些值得开,哪些别碰

7.1 值得开的几项

"系统优化"这一页是 Dism++ 里争议最大的地方,因为它上百个开关,全部来自注册表和组策略调整,没有统一的"对的答案"。我按自己多年的取舍分三档说。

第一档,我基本每台机器都开的:

  • 关闭"最近使用的文件"记录:隐私相关,不影响功能。资源管理器里不再显示你最近开过什么。
  • 在右键菜单添加"管理员取得所有权":这个太实用了。遇到没有权限的文件夹,右键一下就能接管,省掉手动改 ACL 的一大堆操作。
  • 关闭快捷方式字样前缀:纯视觉,去掉"快捷方式"四个字,桌面干净。
  • 关闭自动播放:插 U 盘不再弹窗,减少误触风险。
  • 显示文件扩展名:防病毒的基本功,看到.exe伪装成.jpg能第一时间发现。

第二档,看场景开的:

  • 关闭休眠:台式机、SSD、不常用快速启动的机器可以开,省出等于内存大小的空间;笔记本、依赖快速启动的机器别动。
  • 关闭系统还原:只有在你已经有其他备份方案(比如定期映像备份)时才建议关,不然出问题没退路。
  • 关闭 Superfetch/SysMain:机械硬盘上它有用,纯 SSD 机器上关掉能减少后台读写。判断标准就是你的系统盘是什么介质。
  • 禁用 OneDrive 自启:不用它的人关了很清爽,用的人别关。

7.2 谨慎开的几项

这一档的共同特征是:短期看着很爽,长期可能有效副作用。

  • 关闭 Windows Defender 实时保护。这一条我从来不开。原因有两个:第一,从某几个系统版本开始,Defender 有防篡改机制,第三方工具改注册表会被自动回滚,改了等于白改;第二,就算改成功了,系统处于无防护状态,风险全在自己身上。真要装第三方杀软,正常安装会自己接管,不需要手动关。
  • 关闭系统更新。同样不建议。更新带来的安全修复是刚需,而且现在系统的更新机制做了多层校验,简单关服务往往关不干净,要么反弹,要么更新到一半失败卡住。真需要推迟,用系统自带的"暂停更新"功能更稳妥。
  • 关闭 UAC(用户账户控制)。有些教程说关掉之后不再弹权限窗口,很爽。代价是所有程序默认以完全权限运行,一个恶意脚本能直接改系统。这条我从来不碰。
  • 深度精简服务。一次性关十几个服务,短期开机快两秒,长期各种奇怪问题。我见过关了某个服务之后,蓝牙耳机连不上、指纹识别失效的案例。

7.3 明确别碰的

  • 任何涉及引导配置、分区表、系统盘符的改动;
  • 关闭系统文件保护相关选项;
  • 修改网络协议栈、DNS、代理设置的批量项——这类改动一旦和你所在网络环境不匹配,排查起来极其痛苦;
  • 批量修改系统默认编码、区域设置的项,容易让某些老软件乱码。

我个人的判断标准:这个开关如果让我在出问题后 10 分钟内能自己改回来,就可以试;改不回来或者要靠猜的,一律不碰。

8. 常见问题与排查实录:那些年踩过的坑

8.1 清理之后出现的几类典型故障

故障一:清理完更新残留,系统更新报错 0x80073712(组件存储损坏)。这个错误码的意思是组件存储里有文件缺失或损坏。原因通常是清理过程中断,或者清理了不该清的东西。修复顺序是先dism /online /cleanup-image /restorehealth,再sfc /scannow。如果 restorehealth 也修不了(提示找不到源),需要挂载同版本 ISO 作为修复源:

dism /online /cleanup-image /restorehealth /source:E:\sources\install.wim:1 /limitaccess

故障二:清完临时文件,某个软件开始报错或丢配置。有些软件的"临时目录"其实是它的工作目录,清之前没注意。这类问题只能靠恢复——如果之前有还原点,回滚;没有的话,重装该软件。所以我在第一轮清理时,会先看一眼临时目录里有没有明显属于某个软件的文件夹,比如某些设计软件、编译工具的缓存目录,有的话跳过。

故障三:禁用启动项后,某个功能失效。最常见的是禁用了输入法、显卡控制面板、音频管理器的自启,结果热键失灵、音效异常。解决方法是回到启动项管理,把对应项重新启用,重启。这也说明一件事:禁用前先看清楚这个启动项属于谁,Dism++ 的列表里有路径和描述,别只看名字就下手。

故障四:挂载映像后,报"文件被占用"卸不掉。大概率是资源管理器或杀软在访问挂载目录。关掉所有窗口,退出杀软实时防护,再卸载。还是不行就用dism /cleanup-wim强制清理残留挂载记录,然后重启。

8.2 常见问题速查表

现象可能原因处理方式
扫描出的可清理项很少未提权运行右键以管理员身份运行
空间回收卡住不动组件清理耗时较长耐心等待,别强杀进程
清理后更新报 0x80073712组件存储损坏restorehealth + sfc,必要时指定修复源
挂载映像失败挂载点非空 / 架构不符 / 上次残留换空目录、核对架构、cleanup-wim
保存映像失败磁盘空间不足 / 中断留足 2 倍空间,另存为新文件
注入驱动后开机蓝屏驱动位数或版本不匹配卸载映像重新注入,只注网卡/存储驱动
优化项改了没效果系统新版本覆盖了该项放弃该项,改用系统原生设置
服务禁用后某功能失效依赖关系被破坏重新启用,查依赖链
卸载更新后自动重装更新策略未调整临时暂停更新,处理完再放开
PE 里读不到系统盘缺存储控制器驱动换带驱动的 PE,或用 Dism++ 离线注入

8.3 我踩过的三个坑,你未必会碰到但值得记

第一个坑:在别人的机器上用了自己的配置。早年我把整个程序目录拷到客户机器上,里面有我自己的优化配置,结果一套用下去,把人家的工作站改成了不允许睡眠、关了系统还原。客户第二天来说机器睡眠坏了。从那以后我养成习惯:给别人干活,用全新解压的干净目录。

第二个坑:以为清得越多越好。有段时间我追求"清完只剩 5G",把能清的全清了,包括旧驱动、所有缓存、系统日志。结果机器确实瘦了,但一周后某个外设驱动装不上,日志也没了查不到原因。现在我的原则是:日志和旧驱动保留,空间够用就行,SSD 上留 15% 空闲空间比什么都强。

第三个坑:忽略项目更新节奏。这类社区维护的绿色工具,更新是不定期的。新版系统出来后,工具可能几个月才适配,期间某些功能在最新系统上表现异常。我现在会先在小范围机器上验证,确认稳定再推广。遇到新版系统,先用系统自带工具兜底,别指望第三方工具第一时间跟上。

9. 我的长期使用习惯:把它当手术刀,不是保健品

用了这么多年,我对这套工具的态度一直在变。刚上手那两年,我几乎每台机器都要全套优化一遍,觉得关掉几十个服务特别有成就感。后来慢慢发现,真正让机器变快的是三件事:换固态、加内存、别装全家桶,工具能做的只是把系统里那些本来就该清的残留清掉。

所以我现在的使用频率很低,一年也就几次,主要集中在这几个场景:给老机器做一次彻底瘦身;重装系统前导出驱动;给一批机器做统一映像;帮同事排查更新引起的故障。

日常维护我会做的是这样一套最简流程:每个月看一次系统盘剩余空间,低于 15% 就清一次临时文件和更新残留;每季度导出一次驱动;装完系统第一件事是关闭几个不必要的自启,而不是跑一遍优化。剩下的时间,不折腾。

有句话我经常跟来问的朋友说:这类工具的价值不在于"能改多少",而在于"改完之后你知道怎么退回去"。同样一个开关,懂原理的人开着是优化,不懂的人开着是埋雷。所以我给的建议永远是:先备份,再动手,一次只改一类东西,改完观察几天。慢一点,反而快。

如果你手上正好有一台卡得不行的老机器,我的建议是先做一轮零风险清理(第 4 章第一轮),导出驱动,然后看看有没有必要继续。多数情况下,清完那几项,机器就能再撑一年。至于后面那些进阶玩法,等你有明确的封装需求、或者被某个离线故障逼到墙角的时候,再回来翻第 6 章,那时候你会觉得每一步都刚刚好。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进