Windows系统中DriverStore积累的冗余驱动可安全清理:先用pnputil命令筛选未发布oem.inf驱动,再通过pnputil或PowerShell脚本卸载,最后手动隐藏并永久删除FileRepository文件夹内容,清空Temp目录,并用磁盘清理工具勾选“设备驱动程序包”彻底释放空间。

Windows 系统在安装或更新硬件驱动时,会自动将旧版驱动备份存入 C:\Windows\System32\DriverStore\FileRepository 目录,久而久之积累大量已失效的驱动包,单个文件夹常达数百 MB,且不会随设备卸载自动清理,导致 C 盘空间被长期占用。
确认 DriverStore 中可安全清理的冗余驱动
以管理员身份运行 PowerShell(右键「开始」→「Windows Terminal(管理员)」→ 输入 powershell 回车)。
执行命令列出所有非当前启用、非系统关键的驱动包:pnputil /enum-drivers | findstr "oem\.inf" | findstr /v "Published"。
输出中每行开头为 oemXX.inf 的条目即为待清理对象;若无任何输出,说明当前无明显冗余驱动,无需继续操作。
批量删除指定 oem.inf 对应的完整驱动包
方法一:使用 pnputil 逐个卸载(推荐用于少量驱动)
执行 pnputil /delete-driver oemXX.inf /uninstall(将 XX 替换为实际编号,如 oem12.inf)。
方法二:用 PowerShell 脚本一键清理全部未发布驱动
复制以下代码到记事本,另存为 clean-drivers.ps1(编码选 UTF-8),右键以管理员身份运行:
Get-WindowsDriver -Online -All | Where-Object {$_.OriginalFileName -match "oem\d+\.inf" -and $_.ClassName -eq $null} | ForEach-Object {pnputil /delete-driver $_.OriginalFileName /uninstall}。
【必须关闭所有硬件设置窗口和设备管理器】,否则部分驱动可能因被占用而删除失败,报错提示“访问被拒绝”。
手动清空 DriverStore 缓存残留目录
第一步:打开资源管理器,地址栏粘贴 C:\Windows\System32\DriverStore\FileRepository 回车。
第二步:按 Ctrl+A 全选 → 右键「属性」→ 勾选「隐藏」→ 点击「确定」→ 再次全选 → 按 Shift+Delete 永久删除。
第三步:在地址栏输入 %windir%\System32\DriverStore\Temp 回车,清空该临时文件夹内全部内容。
第四步:打开磁盘清理工具(Win+R → cleanmgr → 选中 C 盘 → 「清理系统文件」→ 勾选「Windows 更新清理」和「设备驱动程序包」→ 确定执行。
这一步能扫出 pnputil 未覆盖的孤立 INF 文件和旧版 .cat 签名缓存,不执行则仍有 2~5GB 空间无法释放。



















