寸土必争——光复驱动缓存侵占的空间

文章详细介绍了如何通过PsExec和PnPUtil等工具,解决Windows系统中DriverStore目录占用大量SSD空间的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    事情起因很简单。我现在在用的平板Lenovo Helix是去年海淘的,因为折扣好,配置也不高。SSD才128GB。

    Windows 10 推送安装后,SSD剩余空间一天比一天小,哪怕我经常清理磁盘,仍然总在20GB左右徘徊。忽然有一天,空间只剩15GB了,是谁突然偷走了我的磁盘空间?

    以我的经验,空间十有八九是被Windows占掉了。于是在Windows目录一顿找,果然发现一个目录比以前大了很多,这个目录就是:

   C:\Windows\System32\DriverStore

   一个放驱动的目录,凭啥用了我10GB的空间……坚决要想办法解决这个问题。

   仔细看看每个目录的大小,发现一堆hdx打头的驱动文件夹都很大。打开看看,里面居然都是realtek的音频驱动。从100MB+到200+MB不等,光是这些驱动文件夹就占了接近8GB的空间。看来,每个inf文件都把大量的驱动文件保存了一份。

   删掉是必须的,可是……删不掉……

   DriverStore是由Windows系统管理的驱动程序库,官方是不建议自行手动删除的。打开文件夹的属性,在安全页上可以看到,这些文件的所有者是System,所以用户即使是Administrator权限,依然无法删除这些文件夹。

    可是,我是艺(No)高(Zuo)人(No)胆(Died)大(Why)死(You)磕(Try)啊。抢所有者(ownership),改权限,然后再删。问题来了,几十个文件夹,这个周末我就干这个了?

    当然不,我要提升权限到System。

    在Windows XP时代,提升System权限可以通过Task方式进行,因为Task运行在System权限下,很容易用它获得一个System身份运行的进程。后来的Windows修改了这个漏洞。唯一可行的方式是PsExec。

    PsExec是SystemInternals工具集中的一个工具。用它可以以特定身份运行进程。于是,我运行:

    N01

    打开一个System权限运行的命令行窗口,开始删除。

    N02

    很快我就厌倦了,这比在UI界面下改所有者和权限再删除也没快多少啊。再说,直接删除文件夹,心里还是有点虚……

    我得找找办法。微软官方果然有对策:

    Remove a Driver Package from the Driver Store

    https://technet.microsoft.com/en-us/library/cc730875.aspx

   

    其实有个程序我并不陌生,以前用它在System Center Configuration Manager的OSD的时候安装驱动,这个程序就是 PnPUtil

    这个程序除了在命令行下利用inf文件安装驱动程序之外,也可以导出现有所有非微软操作系统自带驱动,即OEM驱动的清单:

    pnputil.exe –e > x:\oemdrv.txt

    打开这个文本文件,找到我侵略我磁盘空间的realtek驱动:

    Y02

    找到发布名称后面的oem#.inf,记住这个文件名,例如oem101.inf。

    回到命令行,使用pnputil安全删除这个驱动文件夹。

    Y01

    这就击退了侵占磁盘的驱动文件夹了。

    故事还没完,待续……





     本文转自HaoHu 51CTO博客,原文链接:http://blog.51cto.com/haohu/1703905,如需转载请自行联系原作者




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值