1. 卸载按钮按完之后,真正的清理才开始
上周帮同事处理一台用了三年的办公机,他说早就把鲁大师卸了,可任务管理器里照样挂着一个几十兆的进程,开机自启一栏还留着条目,浏览器主页偶尔也莫名其妙跳转。这种情况我见得太多:绝大多数卸载工具里的"卸载"按钮,只是给主程序走了一遍礼貌性的退场流程,驻留服务、开机启动项、计划任务、内核驱动、注册表里的配置节点,基本原封不动地留在系统里。你今天要做的"彻底卸载",本质上是三件事的组合:把驻留的执行体全部停掉、把磁盘上的残留文件清空、把注册表与计划任务里的登记项注销。这三步任何一步偷懒,剩下两步都白干。
这篇文章面向的人群很明确:手上有一台装过这类跑分与硬件检测工具、现在想干净清掉的 Windows 用户;对注册表和命令行不算陌生,但也没打算花一下午啃系统内部结构的普通用户;以及那些帮别人装系统、做维护、需要一套可复现流程的人。我不会只丢一句"用某某卸载工具一键搞定",那种方案的实际效果取决于工具本身的规则库,遇到更新版本就会漏。下面这套流程是按"先观察、再备份、后动刀、最后验收"的顺序展开的,每一步都能自己复现,也能按自己的机器情况裁剪。
1.1 这类工具为什么天生"卸不干净"
先把原理讲清楚,后面的每一步操作你才知道自己在干嘛。这类国产系统工具的产品形态,通常是一套"主程序 + 常驻服务 + 后台守护 + 多个子模块"的组合体。主程序负责界面,常驻服务负责开机自启和定时检查,守护进程负责在主程序被结束时把它拉回来,子模块则可能包括驱动级的硬件信息采集组件、网络加速组件、清理组件、弹窗推送组件。这套结构的商业目的是提高留存,但对卸载来说,它就变成了一个多层防御的堡垒。
真正的麻烦在于,这些组件之间的依赖关系是松散的。你卸载主程序,服务可能还在,因为它被注册成了"独立服务";你删了服务,守护进程可能还在,因为它是通过计划任务定时拉起的;你清了计划任务,驱动可能还挂着,因为驱动加载是系统启动阶段完成的,跟用户态程序没有强绑定。所以要彻底清干净,必须按"用户态进程 → 服务 → 计划任务 → 驱动 → 文件 → 注册表"的顺序从上往下剥,顺序反了就会反复被"复活"。
另一个容易被忽略的点是自保护机制。不少这类工具在设置里带一个"自我保护"开关,开启状态下,它会拦截对自身文件和注册表项的删除操作。你手动删文件删不掉、报"文件正在使用",很多时候不是真的被占用,而是被它的内核驱动拦下来了。所以卸载前第一件事不是点卸载,而是进软件设置把这个开关关掉,关闭软件自带的开机自启,然后退出托盘。
1.2 判断残留是否还活着的五个观察点
动手之前先做一次现场勘查,把"敌人"的位置标出来,比上来就删效率高得多。下面五个观察点,从最表层到最深层排列,建议逐条过一遍,把看到的记下来。
第一个观察点是任务管理器。打开"详细信息"页,按名称排序,找带lds、ludashi、硬件、温度之类特征的进程名;同时看"启动"标签页,有没有状态为"已启用"的相关条目。第二个观察点是服务列表,Win + R输services.msc,按名称和描述两列都扫一遍,这类工具的服务名常见的是拼音或英文缩写,描述里往往有中文说明。
第三个观察点是计划任务。Win + R输taskschd.msc,展开"任务计划程序库",重点看根目录下的自定义文件夹和Microsoft\Windows之外的项。第四个观察点是设备管理器,菜单里勾选"显示隐藏的设备",展开"系统设备"和"非即插即用驱动程序",看有没有不认识的内核组件。第五个观察点是文件系统的三个位置,这个后面第 4 节会详细讲。
提示:勘查阶段只记录不删除。把进程名、服务名、任务名、文件完整路径抄到一个文本文件里,后面清理时逐条核对,避免误删系统组件。
2. 动手之前:备份、还原点和进程松绑
我见过太多"清理完开不了机"的案例,绝大多数不是因为删错了关键项,而是因为没有回滚手段。注册表这玩意儿的特点是删除几乎瞬时完成、恢复极其困难,尤其当你一个下午删了几十项、然后重启蓝屏的时候,你根本不知道是哪一项出的问题。所以第 2 节这三件事,一件都不能省。
2.1 两分钟做一次可回滚的备份
系统还原点是成本最低的保险。管理员权限打开 PowerShell,先确认系统保护是否开启:Get-ComputerRestorePoint能列出已有还原点就说明开着;如果报错或为空,需要先在"系统属性 → 系统保护"里给系统盘启用保护。然后创建还原点:
Checkpoint-Computer -Description "before-cleanup" -RestorePointType MODIFY_SETTINGS这条命令有个坑:Windows 默认限制还原点的创建频率(一般是 24 小时内只能创建一个),如果你当天已经建过,它会静默失败。想强制创建,需要改注册表里的SystemRestorePointCreationFrequency值,把分钟数调小,建完再改回去。我的习惯是建完立刻用Get-ComputerRestorePoint确认列表里多了一条,不看一眼不放心。
注册表备份分两个层次。整体备份用regedit的"文件 → 导出",选"全部",存成一个几百兆的.reg文件,这招最保险但也最笨重,恢复时会把整个注册表覆盖回去,可能连带丢掉你清理之后新装的软件信息。更精细的做法是按分支导出,只备份你即将改动的几个根键:
reg export "HKLM\SOFTWARE" D:\backup\HKLM_SOFTWARE.reg /y reg export "HKCU\Software" D:\backup\HKCU_Software.reg /y reg export "HKLM\SYSTEM\CurrentControlSet\Services" D:\backup\Services.reg /y/y是覆盖确认,不加会弹窗问你。这三条导出的文件加起来通常几十兆,恢复时双击导入即可,影响范围可控。
2.2 把常驻进程"松绑"再动卸载
直接点卸载最常见的结果是"卸载程序正在运行,请关闭后重试",或者卸载到一半卡住。原因是守护进程在盯着主程序。正确做法是先把自启动链条掐断,再退出所有相关进程。
进软件设置页,找到"开机启动"和"自我保护"两个开关,都关掉。然后右键托盘图标退出。如果托盘已经没了但进程还在,用命令行强杀:
Get-Process | Where-Object { $_.Path -like "*ludashi*" -or $_.Name -like "lds*" } | Select-Object Name, Id, Path先用Select-Object确认列表里都是目标进程,再换成Stop-Process -Force执行。这一步一定要先看再杀,模糊匹配很容易误伤名字相近的系统进程。服务类的进程(比如svchost托管的)杀不掉是正常的,那种需要走sc stop,这个在第 6 节讲。
2.3 断网这个动作别省
听起来有点小题大做,但确实有效。这类工具普遍带自动更新和推广模块,卸载过程中如果检测到网络,有可能触发"推荐你安装新版"或者从服务器拉取组件重新落地。拔网线或者关掉 Wi-Fi 适配器,让卸载过程在离线状态下完成,能少掉很多意外。
顺带说一句,卸载完到重启之前的这段时间,也不要联网。有些残留的计划任务会在检测到网络后立刻执行,把组件重新装回来。等第 8 节验收全部通过之后再恢复网络,心里踏实。
3. 走标准卸载通道,别在软件自己的界面里点
这一步很多人会做错。软件自己界面里的"卸载"入口,往往是"温和卸载",它会保留配置、保留用户数据、保留部分服务,理由是"方便你下次重装"。而 Windows 控制面板走的卸载通道,是读取软件注册的卸载命令行来执行的,相对更彻底。所以哪怕软件界面里有卸载按钮,也优先从系统设置里走。
3.1 从卸载注册表项里读出真正的卸载程序
标准路径是"设置 → 应用 → 已安装的应用",找到目标程序点卸载。如果列表里找不到(有些工具会隐藏自己的条目),就去注册表里挖:
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s /f "鲁大师" reg query "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall" /s /f "ludashi"64 位系统上,32 位程序的卸载信息在WOW6432Node下面,两条都要查。命中的子键里会有一个UninstallString值,那就是真正的卸载命令。把它复制出来,注意如果路径带空格,要在命令行里加引号,否则会被截断。
还有一种情况:卸载信息存在但UninstallString指向的文件已经不存在了(用户之前手动删过目录)。这种"僵尸条目"删不掉也点不动,需要直接把整个卸载子键删掉,然后手动清理文件。判断方法是看UninstallString里的路径在资源管理器里能不能打开。
3.2 进度条卡死时的三步处理
卸载卡住是很常见的,尤其卸载到"正在删除服务"或"正在停止进程"的时候。别急着强制结束,按这个顺序处理。
第一步,另开一个任务管理器,看当前是哪个子进程在跑,如果是主程序在等某个子进程响应,可以只结束那个子进程,让主流程继续。第二步,如果整体无响应超过三分钟,结束卸载进程,重启电脑,进安全模式再跑一遍卸载程序——安全模式下第三方服务和驱动不加载,卸载程序反而能跑通。第三步,如果安全模式也卡,说明卸载程序本身有问题,直接放弃它,转入手动清理,也就是从第 4 节开始的所有步骤,全部手动做一遍。
注意:手动清理前一定要确认第 2 节的还原点已经建好。跳过卸载程序直接手动删,风险比正常卸载高一个量级。
4. 残留文件清点:三个目录加一次特征词反查
文件残留是最好处理的一环,因为看得见摸得着,删错了最多是某个功能不好用,不至于开不了机。但也正因为好删,很多人删得不彻底,留下一堆几十兆的缓存和日志,下次装回来的时候又被读回去,等于白清。
4.1 三处必查的文件目录
第一处是主程序目录,通常在C:\Program Files或C:\Program Files (x86)下面,目录名可能是拼音、英文缩写或者中文。卸载之后如果这个目录还在,里面通常剩的是日志、缓存、驱动文件和一个uninst.exe。第二处是C:\ProgramData,这是全局配置目录,很多工具的机器级配置、下载缓存、驱动安装包都堆在这里,而且它是隐藏目录,普通用户根本看不到,是残留的重灾区。
第三处是用户级目录,分两个位置:%APPDATA%(对应C:\Users\用户名\AppData\Roaming)和%LOCALAPPDATA%(对应C:\Users\用户名\AppData\Local)。前者放配置,后者放缓存和大文件。如果这台机器有多个用户账户,每个账户下面都要查一遍,很多人只清了自己账户的,切换用户之后发现还在。
删除的时候有个顺序讲究:先重启,再删,删完再重启。第一次重启是为了释放文件句柄,避免"文件正在使用";删完再重启是为了让系统重新扫描一遍驱动和服务列表,把已经在内存里但文件已删除的条目清掉。
4.2 用 Everything 做特征词反查
靠记忆找目录一定会漏,正确姿势是用文件搜索工具做全盘反查。Everything 这类基于 NTFS 索引的工具,搜索速度是毫秒级的,特别适合这种场景。搜索词准备三到五个:软件的中文名、英文名、进程名前缀、驱动文件名前缀、公司名缩写。比如搜lds、ludashi、鲁大师三个词,逐个看结果。
看结果的时候有个技巧:按路径排序,把结果按目录聚合。同一个目录下出现三五个命中项,基本可以确定整个目录都是它的,直接删目录比一个个删文件快。散落在系统目录里的单个文件要谨慎,尤其是C:\Windows\System32和C:\Windows\System32\drivers下面的,那些可能是驱动,删之前先确认第 6 节的服务和驱动已经处理过。
还有一种残留形式是用户目录下的隐藏文件夹,比如C:\Users\用户名\.ludashi这种点开头的,或者名字叫Temp子目录下的一堆临时文件。Everything 默认会显示隐藏文件,所以这类也能搜到,但删除时要注意别把整个Temp目录删了,只删里面命中的子目录。
4.3 删除时遇到"需要权限"怎么处理
ProgramData和部分系统目录下的文件,所有权可能属于SYSTEM或者TrustedInstaller,普通管理员账户点删除会提示需要权限。处理办法是右键 → 属性 → 安全 → 高级 → 更改所有者,把所有者改成Administrators组,勾选"替换子容器和对象的所有者",确定之后再回到权限页给自己加"完全控制"。
这套操作在图形界面里点起来很繁琐,命令行更快:
takeown /f "C:\ProgramData\目标目录" /r /d y icacls "C:\ProgramData\目标目录" /grant Administrators:F /ttakeown拿所有权,icacls给权限,两条跑完就能正常删了。这个操作对系统目录要慎用,只对确认是残留的目录用。
5. 注册表清理:六条路径、两种权限坑
注册表是整篇文章里风险最高的部分,也是最容易做无用功的部分。很多人打开regedit直接Ctrl + F搜软件名,看到一个删一个,结果删了几十项,重启之后发现有一半是别的软件引用的键,或者删完某项之后某个系统功能异常。正确做法是按功能分区排查,而不是无差别关键词搜索。
5.1 六条必查的注册表路径
把这六条路径当成检查清单,逐条过,比全表搜索效率高得多,也不容易误伤。
| 序号 | 路径 | 作用 | 处理方式 |
|---|---|---|---|
| 1 | HKLM\SOFTWARE与HKLM\SOFTWARE\WOW6432Node | 软件主配置、授权信息 | 找到对应子键整键删除 |
| 2 | HKCU\Software | 当前用户的个性化配置 | 同上 |
| 3 | HKLM\...\CurrentVersion\Uninstall | 卸载入口登记 | 卸载失败时手动删 |
| 4 | HKLM\SYSTEM\CurrentControlSet\Services | 服务注册 | 确认服务已停再删 |
| 5 | HKLM\...\CurrentVersion\Run与HKCU同名路径 | 开机自启 | 删值不删键 |
| 6 | HKCR(HKEY_CLASSES_ROOT) | 右键菜单、文件关联、URL 协议 | 只删明确属于它的子键 |
第 5 条要特别说明:自启动项的键是系统共用的,里面的值才是各个软件的条目。所以操作时是删"值"(右侧列表里那一行),不是删整个Run键。删错了整个Run键,所有软件的开机自启都会失效,虽然不影响开机,但很多人的输入法、同步工具会因此不启动。
第 4 条也一样,Services下面全是系统服务,只能删你自己确认过的子键,而且删之前要确认服务已经sc stop过。直接删正在运行的服务键,会导致服务管理器和系统状态不一致,最坏情况是开机时报服务启动失败。
5.2 权限不足时的两种解法
注册表项删不掉,提示"无法删除项:访问被拒绝",原因通常有两个:一是键的所有者是SYSTEM,二是键被标记为受保护。两种情况的解法不同。
第一种情况,走图形界面的权限流程:右键键 → 权限 → 高级 → 更改所有者 → 输入Administrators→ 勾选"替换子容器和对象的所有者" → 确定 → 回到权限页给Administrators加"完全控制"。这个流程在深层的键上可能要重复好几次,因为子键会继承不同的权限设置。
第二种情况更省事,直接以SYSTEM身份运行注册表编辑器。用psexec -s -i regedit.exe这条命令,打开的就是 SYSTEM 权限的regedit,原本删不掉的键基本都能删。前提是你有这个工具,而且愿意接受它带来的额外复杂度。对于只想清一次残留的普通用户,我更推荐第一种,虽然慢但可控。
5.3 导出法的取舍:先存一份再删
我给所有要动注册表的人一个建议:每删一个根键之前,单独导出一次。不是导出整个注册表,而是导出你即将删的那一个子键。右键 → 导出 → 存成键名_backup.reg。这样万一后面发现问题,双击就能恢复这一项,不需要整个注册表回滚。
这套做法的成本是每次多花十秒,收益是你敢下手删。实践下来,真正需要恢复的情况大概十次里有一次,但那一次如果没有备份,排查成本就是几个小时起步。
删除完成之后别急着关regedit,用F5刷新一次,再Ctrl + F搜一遍关键词,确认没有新的命中。有些键是"删除中"状态,需要重启才彻底消失,这类会在列表里显示但打不开,属于正常现象。
6. 计划任务、服务与内核驱动:三条最隐蔽的自启线
这三样东西是"卸载完还活着"的核心原因。用户态进程好杀,这三样都活在系统层,普通用户平时根本接触不到。第 6 节是全篇技术含量最高的部分,也是最需要小心的地方。
6.1 计划任务:用命令行一条一条列出来
图形界面的任务计划程序能看,但名称列太窄,一屏显示不了几条,翻起来累。命令行更直接:
schtasks /query /fo LIST /v | findstr /i "ludashi lds 鲁大师"/fo LIST /v输出详细格式,findstr过滤关键词。输出的内容里会包含任务名、状态、下次运行时间、要执行的命令。看"要执行的任务"那一行,如果指向的是已经删掉的路径,那就是残留任务。
删除用任务名:
schtasks /delete /tn "任务名" /f/f是强制删除不确认。任务名如果是中文或者带空格,要用引号包起来。有一种麻烦情况:任务名是一串 GUID 形式的字符(形如{XXXXXXXX-XXXX-...}),这种通常是某个安装程序注册的,删的时候把整串带花括号一起放进引号。
还有一种任务是"隐藏"的,在图形界面里看不到,但命令行能查出来。判断依据是schtasks输出里有、任务计划程序里找不到对应项。这类任务必须先删掉,因为它在系统启动阶段就会执行,往往是"重装"行为的源头。
6.2 服务:sc命令的四个动作
服务相关的操作就四条命令,记住就行:sc query查状态、sc qc查配置、sc stop停止、sc delete删除。
sc query type= service state= all | findstr /i "lds ludashi" sc qc "服务名" sc stop "服务名" sc delete "服务名"注意type= service里等号后面的空格不能省,这是sc命令的语法要求,省了会报错。sc qc输出里的BINARY_PATH_NAME是关键,它指向服务的可执行文件,如果这个路径已经不存在了,说明是残留服务,可以放心删。
sc delete执行成功后会提示[SC] DeleteService SUCCESS,但服务列表里可能还能看到它,状态显示为"标记为删除"。这是因为还有句柄没释放,重启之后就会彻底消失。遇到这种情况不要反复执行sc delete,也不要急着去注册表里删Services下的键,重启一次观察结果再说。
有些服务删不掉,报"拒绝访问"。这通常是因为服务的权限比管理员还高,需要用sc sdset改安全描述符,或者直接以 SYSTEM 身份操作。更简单的办法是重启进安全模式,大部分自保护机制在安全模式下不生效,那时候删最省事。
6.3 内核驱动残留与删除顺序
驱动是最底层的一环,也是最容易留下隐患的一环。这类硬件检测工具为了读温度、读风扇转速、读硬盘 SMART 信息,通常会装一个内核驱动。用户态程序删了,驱动还挂着,系统启动时照样加载,这就是为什么有人"卸载完开机还是慢"。
先列出第三方驱动包:
pnputil /enum-drivers输出会按发布者分组,找Provider Name里不是 Microsoft 的那些,看Original Name和Driver Version。找到目标之后,可以用pnputil /delete-driver oemXX.inf /uninstall /force删掉。注意oemXX.inf这个编号是系统分配的,每次安装都会变,必须以enum-drivers的实际输出为准。
再看内存里加载了哪些驱动:
driverquery /v | findstr /i "lds 目标关键词"如果驱动还在运行,先停掉对应的服务(驱动通常以服务形式注册),再删文件。驱动文件一般在C:\Windows\System32\drivers下面,扩展名是.sys。
删除顺序必须是:停服务 → 删驱动注册 → 删.sys文件 → 重启。顺序错了,比如先删文件再停服务,会得到一个"文件已删除但服务还在运行"的诡异状态,重启时可能报驱动加载失败,甚至进不了系统。
注意:删除任何
.sys文件之前,一定要确认它不是存储控制器、网络适配器、显卡这类关键硬件的驱动。不确定的情况下,先在设备管理器里找到对应设备,右键属性 → 驱动程序 → 驱动程序详细信息,看文件名对不对得上。
7. 浏览器项、快捷方式与外壳集成
前三节处理的是系统层,这一节处理的是"用户体验层"。这类工具很常见的一个行为是改浏览器主页、加右键菜单、在桌面和任务栏塞快捷方式。这些残留不影响系统稳定性,但很烦人,而且用户往往以为"电脑中毒了"。
7.1 从快捷方式入手反查主页篡改
浏览器主页被改,最常见的实现方式不是改注册表,而是改快捷方式的启动参数。在.lnk文件的目标路径后面追加一个网址,双击快捷方式的时候浏览器带着这个网址启动,用户看到的就是"主页被改了"。
排查方法:右键桌面和任务栏上的浏览器图标 → 属性 → 看"目标"这一栏。正常的应该是"C:\Program Files\...\chrome.exe"这样干干净净的一行,如果后面跟着一个空格加网址,就是被改了。删掉网址部分,只保留程序路径和原有的参数,确定保存。
还有一处容易漏:开始菜单里的快捷方式、快速启动栏里的、以及C:\Users\Public\Desktop下的公共桌面快捷方式。这几个位置各查一遍,很多人只改了自己桌面的,公共桌面的还留着。
注册表层的主页设置也要看,主要是 IE 的遗留项(很多工具改的是这个,因为改动简单):
reg query "HKCU\Software\Microsoft\Internet Explorer\Main" /v "Start Page"如果值不对,用reg add改回来。现代浏览器自己的主页设置存在各自的配置里,改注册表没用,要在浏览器设置页里改,改完之后它会覆盖掉外部的篡改。
7.2 右键菜单和文件关联的清理
右键菜单项在注册表里分布在好几个位置,按对象类型分:文件、文件夹、目录背景、驱动器、桌面背景。对应路径分别是:
- 文件:
HKCR\*\shellex\ContextMenuHandlers - 文件夹:
HKCR\Directory\shellex\ContextMenuHandlers - 目录背景:
HKCR\Directory\Background\shellex\ContextMenuHandlers - 驱动器:
HKCR\Drive\shellex\ContextMenuHandlers
在ContextMenuHandlers下面,每个子键对应一个菜单项,子键名通常就是软件名或者功能名。确认是你不需要的,整键删除。删之前建议在右键菜单里实际看一眼,确认对应的是哪一项,别删掉压缩软件的"解压到当前文件夹"这种常用项。
文件关联的排查稍微复杂一点,主要看HKCR下面有没有被注册成某个扩展名的默认打开方式。比如.dat、.bin这类本来不该有默认程序的扩展名,如果指向了某个奇怪的路径,基本可以确定是残留。
8. 验收清单:重启之后要看到三个"零"
清理做完不等于结束,必须有一次完整的验收。验收的核心指标是三个"零":零进程、零服务、零启动项。达不到就别急着装新软件,也别恢复网络。
8.1 一份可以打勾的验收表
重启之后,按这张表逐项过一遍,每一项都要有明确的结论,不能凭感觉。
| 检查项 | 检查方法 | 通过标准 |
|---|---|---|
| 进程 | 任务管理器详细信息页按名称排序 | 搜不到任何相关进程 |
| 服务 | sc query state= all | findstr | 无匹配,或匹配项已标记删除 |
| 计划任务 | schtasks /query /fo LIST /v | findstr | 无匹配任务 |
| 启动项 | 任务管理器启动标签页 | 无相关条目,或状态为已禁用且路径失效 |
| 文件 | Everything 搜索特征词 | 只剩系统还原点里的旧文件 |
| 注册表 | regedit分别搜HKLM和HKCU | 无有效命中 |
| 浏览器 | 三个快捷方式的目标栏 | 均为纯程序路径 |
| 驱动 | driverquery /v | findstr | 无匹配驱动 |
注册表搜索的时候有个技巧:regedit的Ctrl + F默认只搜键名和值名,不搜值内容。如果怀疑某个值里藏着路径,需要先勾选"查看 → 显示"里的相关选项,或者在F3搜索对话框里手动勾选"数据"。搜索范围也要注意,默认是整个注册表,搜一次可能要几十秒,搜到之后按F3继续往下找。
8.2 我踩过的几个坑和几条收尾技巧
第一个坑是卸载完立刻清理。卸载程序退出后,文件句柄不一定立刻释放,这时候删文件会失败,你会以为是权限问题,然后去折腾权限,白花时间。正确做法是卸载完重启一次,重启后再清文件。
第二个坑是用第三方清理工具代劳。这类工具的原理是扫规则库,规则库更新不及时就会漏;更麻烦的是它们有时候会"顺手"清理掉一些系统缓存,导致某些软件需要重新配置。我现在只在确认残留范围很小的时候用它,大扫除一律手动。
第三个坑是忽略了多用户。一台电脑三个账户,你在自己的账户下清得干干净净,切到另一个账户发现桌面上的快捷方式还在、开机自启还在。ProgramData是全局的,AppData是每用户的,两边都要处理。
第四个坑是还原点容量不足。系统默认给还原点分配的磁盘空间是总容量的百分之几,老机器上可能只够存一两个还原点,新建的时候会把旧的顶掉。清理前先看一眼"系统保护"里分配的空间,不够就调大一点,或者至少确认刚建的那个还原点在列表里。
最后分享两个收尾的小技巧。一是清理完成后,用sfc /scannow跑一遍系统文件检查,把可能被误伤的系统文件修回来,这条命令跑十几分钟,成本不高但能兜底。二是在完成验收之后,把这次清理涉及的所有路径、键值、任务名整理成一个文本文件存起来,下次遇到同类问题直接照着做,不用重新勘查一遍。我自己的机器上就存着好几份这样的清单,按软件分类,用了几年,比任何清理工具的规则库都靠谱。
还有一个容易被忽视的收尾动作:检查一下系统盘剩余空间的变化。彻底清完,这类工具通常能放出几百兆到一两个 G 的空间,如果清理前后空间几乎没变,说明要么大部分文件没删掉,要么它本来就没占多少空间——两种情况的后续处理方向完全相反。看数字比凭感觉可靠。