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

简介:

    事情起因很简单。我现在在用的平板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,如需转载请自行联系原作者




相关文章
|
11月前
|
存储 缓存 人工智能
《云计算加速开源创新》——云原生驱动数据抽象与缓存加速开源技术发展
《云计算加速开源创新》——云原生驱动数据抽象与缓存加速开源技术发展
|
存储 人工智能 缓存
2022云栖精选—云原生驱动数据抽象 与缓存加速开源技术发展
顾 荣 南京大学 计算机科学与技术系 计算机软件新技术国家重点实验室(南京大学
432 0
2022云栖精选—云原生驱动数据抽象 与缓存加速开源技术发展
|
缓存 Java 数据库
[转]注释驱动的 Spring cache 缓存介绍
原文:http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-cache/ 概述 Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种 annotation,即能够达到缓存方法的返回对象的效果。
1495 0
|
1月前
|
缓存 NoSQL 安全
【Redis】缓存穿透
【Redis】缓存穿透
30 0
|
1月前
|
缓存 监控 NoSQL
解析Redis缓存雪崩及应对策略
解析Redis缓存雪崩及应对策略
|
1月前
|
存储 缓存 NoSQL
Redis高效缓存:加速应用性能的利器
Redis高效缓存:加速应用性能的利器
|
1月前
|
存储 缓存 Java
【Spring原理高级进阶】有Redis为啥不用?深入剖析 Spring Cache:缓存的工作原理、缓存注解的使用方法与最佳实践
【Spring原理高级进阶】有Redis为啥不用?深入剖析 Spring Cache:缓存的工作原理、缓存注解的使用方法与最佳实践
|
2天前
|
存储 缓存 运维
软件体系结构 - 缓存技术(5)Redis Cluster
【4月更文挑战第20天】软件体系结构 - 缓存技术(5)Redis Cluster
136 10
|
9天前
|
缓存 NoSQL Java
使用Redis进行Java缓存策略设计
【4月更文挑战第16天】在高并发Java应用中,Redis作为缓存中间件提升性能。本文探讨如何使用Redis设计缓存策略。Redis是开源内存数据结构存储系统,支持多种数据结构。Java中常用Redis客户端有Jedis和Lettuce。缓存设计遵循一致性、失效、雪崩、穿透和预热原则。常见缓存模式包括Cache-Aside、Read-Through、Write-Through和Write-Behind。示例展示了使用Jedis实现Cache-Aside模式。优化策略包括分布式锁、缓存预热、随机过期时间、限流和降级,以应对缓存挑战。
|
17天前
|
存储 缓存 NoSQL
使用redis进行缓存加速
使用redis进行缓存加速
27 0

热门文章

最新文章