
如果您发现 Windows 系统 C 盘空间持续缩减,且磁盘分析工具显示“驱动程序存储”或“DriverStore”占用数 GB 甚至数十 GB 空间,则极可能是系统在 C:\Windows\System32\DriverStore\FileRepository 中长期累积的旧版、重复、未启用驱动包所致。这些备份文件由 Windows 自动保留,但不会自动清理。以下是三种互不依赖、可独立执行的彻底清理方法:
一、使用 DriverStore Explorer 图形化工具精准识别并强制删除冗余驱动
DriverStore Explorer 是专为管理 Windows 驱动存储库设计的开源工具,能直观区分“Old”“Duplicate”“In Use”状态驱动,并支持绕过系统锁定机制强制删除已弃用但被标记为“正在使用”的驱动包,避免手动误删引发设备异常。
1、访问 GitHub 镜像地址:https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer,下载最新 Release 版本的 DriverStoreExplorer.exe;
2、右键该文件,选择“以管理员身份运行”;
3、等待扫描完成,在主界面点击右上角“Select Old Drivers”按钮,自动勾选所有可安全删除的旧版本驱动;
4、检查列表中是否包含当前已启用设备(如显卡、网卡)的驱动条目,忽略标注为“in use”且设备名称为黑色字体的条目;
5、确认无误后点击“Delete Driver”,在弹出窗口中勾选“Force Deletion”,点击确认执行;
6、重启系统后,进入 C:\Windows\System32\DriverStore\FileRepository 目录,验证文件夹总大小是否显著减少。
二、通过 PowerShell 调用 DISM 与 pnputil 命令行组合批量清理
该方式完全依赖 Windows 内置组件,无需第三方工具,所有操作经系统签名验证机制校验,适用于受控环境、服务器或无法运行 GUI 的系统,具备高审计性与可复现性。
1、按 Win+X 键,选择“Windows PowerShell(管理员)”;
2、执行命令列出全部已安装驱动包:dism /online /get-drivers /format:table;
3、从输出中识别需清理的旧驱动 INF 文件名(例如 oem12.inf),执行单条删除:dism /online /remove-driver /driver:”oem12.inf” /force;
4、若需批量清除所有非当前启用驱动,先运行:pnputil /enum-drivers | findstr “oem” | findstr /v “Published” 获取待删列表;
5、对每行输出中的 INF 文件名,逐条执行:pnputil /delete-driver oemXX.inf /uninstall;
6、清理完成后,运行 cleanmgr 启动磁盘清理工具,勾选“驱动程序包”进行二次空间释放。
三、禁用 Windows 更新自动保留驱动备份并清空历史缓存目录
Windows 更新默认将旧驱动副本同时保存至 C:\Windows\WinSxS\Backup 和 C:\Windows\System32\DriverStore\Backup,用于驱动回滚。这些目录长期不干预会持续膨胀,且不受 DriverStore Explorer 或 DISM 命令影响,必须单独处理。
1、按 Win+R 输入 gpedit.msc,导航至:计算机配置 → 管理模板 → 系统 → 设备安装;
2、双击“指定设备驱动程序的搜索顺序”,设置为“已禁用”或“已启用”并取消勾选“始终在 Windows 更新中搜索驱动程序”;
3、继续导航至:计算机配置 → 管理模板 → 系统 → Device Installation → Device Installation Restrictions;
4、启用“防止安装与下列 ID 匹配的设备驱动程序”,添加常用硬件的硬件 ID(可选,增强控制);
5、手动清空两个备份目录:del /s /q “C:\Windows\WinSxS\Backup\*.*” 与 del /s /q “C:\Windows\System32\DriverStore\Backup\*.*”(需管理员权限);
6、执行 DISM /Online /Cleanup-Image /StartComponentCleanup /ResetBase 清理 WinSxS 主体,进一步释放关联空间。

评论(0)