可安全清理windows冗余驱动残余,需筛选满足三个条件的oem驱动:文件名含oem*.inf、inbox=false、classname为空或unknown,再用remove-windowsdriver精准卸载,并通过dism和磁盘清理彻底释放空间。
可以直接用 powershell 安全清理 windows 中的冗余驱动残余,核心是识别并移除那些已不被当前硬件使用、未发布、非系统内置(inbox=false)且无设备绑定的 oem 驱动包。整个过程不依赖第三方工具,所有操作均由系统签名验证,适合日常维护或批量管理场景。
确认哪些驱动可以安全清理
关键不是“所有 oem.inf”,而是筛选出真正无用的残留项。必须满足三个条件:文件名含 oem*.inf、Inbox 属性为 False、ClassName 为空或 Unknown。执行以下命令查看完整列表:
Get-WindowsDriver -Online -All | Where-Object {$_.OriginalFileName -like "*oem*.inf"} | Format-List OriginalFileName, Inbox, ClassName, ProviderName
只保留其中 Inbox=False 且 ClassName 为空(或显示 Unknown)的条目;其余如显卡、网卡等活跃驱动请跳过。
逐个删除指定 OEM 驱动包
对确认无用的驱动,使用 Remove-WindowsDriver 命令精准卸载(比 pnputil 更可靠,支持 Force 强制移除):
- 例如删除 oem12.inf:Remove-WindowsDriver -Online -Driver "oem12.inf" -Force
- 执行后不会立即清空磁盘,但会从 DriverStore 注册表和索引中解除引用
- 若提示“访问被拒绝”,请先关闭设备管理器、硬件设置窗口,并确保没有打印队列或更新进程在后台运行
一键批量清理全部可删 OEM 驱动
把上面筛选逻辑合并成一行脚本,管理员身份运行即可自动处理:
Get-WindowsDriver -Online -All | Where-Object {$_.OriginalFileName -like "*oem*.inf" -and $_.Inbox -eq $false -and ($null -eq $_.ClassName -or $_.ClassName -eq "Unknown")} | ForEach-Object { Remove-WindowsDriver -Online -Driver $_.OriginalFileName -Force }
运行期间终端会逐条输出删除结果;成功后建议重启系统,让系统释放被占用的句柄并完成物理删除。
配合 DISM 清理底层缓存与未引用文件
PowerShell 删除的是驱动注册项,要真正释放空间,还需触发系统级清理:
- 执行:dism /online /Cleanup-Image /StartComponentCleanup /WindowsDriverCleanup
- 该命令会扫描 C:\Windows\System32\DriverStore\FileRepository,删除 INF、CAT、SYS 等未被任何设备引用的完整包
- 完成后务必运行磁盘清理(cleanmgr → 清理系统文件 → 勾选“设备驱动程序包”),补上最后一步物理清除











