楼主 2008-01-20 07:56
【01-20】求助区每日一问
本帖被 水蜜桃 执行锁定操作(2008-01-21)
要求:
1、每人限回答一次,认为自己回答错误可以在原贴修改.
2、回答请使用加密99999回复. 不加密的不评分! 点击查看加密方法
3、请在此出题贴发布之后的24小时内回答问题,逾期无效!
4、管理组可以友情参与,但是由于可以看到加密的内容,所以不加分哦.
5、当天问题结束后版主会锁帖评分,并且在原问题的下面公布参考答案.
6、如果评分评错了或者没有评分,请及时PM版主重新加分。
7、此题回答正确加10FYB(和难易程度有关),错误不扣分! 今日问题: WINDOWS\system32\dllcache 文件夹是什么文件夹?如何删除它?
参考答案
进入“WINDOWS\system32\dllcache”目录(默认为隐藏目录),里面存储着约360MB的文件,它们是Windows XP系统文件的备份。当Windows XP的系统文件被替换、删除或修改时,系统可以自动从中提取出相应的系统文件进行还原,从而保证了系统的稳定性。如果你有Windows XP安装光盘或者已经将安装文件拷贝到硬盘上,那么你大可将此文件夹删除。注意:该文件夹不能直接删除,要在命令提示符下输入“sfc.exe /purgecache”(注意斜线前的空格)命令进行清除。
[ 此贴被水蜜桃在2008-01-21 07:27重新编辑 ]
#1 2008-01-20 13:59
[hide=999999]最近在各种论坛上看到蛮多的朋友提到dllcache,大多是因为装了winxp后,系统盘空间不够,想精简。于是很多人提到删dllcache,但总还加上一句,要小心;这让很多朋友无所适从,不敢轻易下手。吾淘尽平生所学,给各位一个明明白白的说明。
要说dllcache,还要讲一下“windows文件保护”,“系统文件检测”程序
windows文件保护:
打开我的电脑,进入windows\system32\看看,里面有很多诸如动态链接库(.dll )和可执行文件(.exe )等系统文件(也有许多是属于你装的软件的),这些文件关乎系统的稳定运作,却在暴露在光天化日之下,如果被删除和被替换,就可能会造成系统运行不稳定。事实上,装软件的时候,特别是一些版本老的软件的时候,覆盖一些共享系统文件的事是常有的。
针对这一点,windows就有一个“文件保护”的后台服务。默认情况下,该服务一直处于启用状态,监视着所有受保护的系统文件,如果发现替换或移动受保护的系统文件企图,它能直接阻止。当然windows并不阻止所有这样的企图,它允许有Windows 数字签名文件替换现有文件,这样你的系统才可以更新和升级。
“系统文件检测”程序
“系统文件检测”程序是一个在命令提示符下使用的实用程序,命令是“sfc”,只有是管理员才能使用该程序,那些“大虾”们教的删除dllcache的命令“sfc/purgecache”就是用了这个程序,这个程序的作用就是检测系统文件,如果检测到受保护的文件已经被不正确的文件覆盖,它就从系统文件备份(就是dllcache)中提取正确的系统文件,替换不正确的文件。
这个程序也检测dllcache本身,如果发现dllcache已经损坏或者不能使用,可以用修复它,所谓修复,就是要你插入安装盘,它自动从中提取所需的文件。命令是“sfc /scannow”,具体各位可以查看帮助。
dllcache:
dllcache的位置在“\windows\system32\dllcache”,有350M以上,是个系统隐藏文件,这么大的体积是想减肥的xp用户盯上它的原因。
大家搜索一下windows文件夹下的某类系统文件(先取消系统文件的隐藏属性喔!),会发现有很多文件是重复的,许多文件会在system32(除dllcache)和dllcache里各有一个。所以dllcache可以看作是个备份。它的体积不是固定的,当你装一些微软系的软件,或做升级,打补丁时,安装程序会在dllcache中放一些重要文件的副本——这样他的体积就增加了。
dllcache作为备份是在使用“系统文件检测”时发挥作用的,介绍“系统文件检测”时已经做了说明。
其实dllcache里面“备份”的系统文件要比你使用的多,也就是说它准备的东西有些你还没用到,在你用到的时候,它结合“windows文件保护”就能发挥作用。比如你装了一些软件(主要是微软系),这个软件会在windows里的有关文件夹里放入已经被设定为被“windows文件保护”监视的重要文件,但要比dllcache里的旧,这时“windows文件保护”就会从dllcache里读取最新的版本替换旧的文件。
所以dllcache不只是一个简单的“备份”,它实际上“准备”了你可能会用到的所有重要系统文件,是一个备用的系统文件库。
从“删不删?”到“万全之策”
很多人问我这个问题的时候,我都说“不”,dllcache是不应该删的。
dllcache是系统隐藏文件,微软这么小心奕奕地把它藏起来总是有它的道理的。引起“删不删”的疑问是因为它体积大而用的少,不象shell,无处不用。
但删除它是危险的:
1,容易让旧版本的文件贮存系统文件夹,造成系统不稳定。
2,使“系统文件检测”程序失效,一旦使用就会提示你从安装盘把dllcache“取”回来,如果取回来,那你不就白删了?
3,升级,打补丁的时候,原来设定要放到dllcache里的备份没处放,可能会造成升级中止,或重建一个名为dllcache的文件夹来放备份。(我没删,所以我不敢确定是什么后果)。
4,当你装一些软件,或加一些硬件时,他们可能设定要从dllcache重提取一些文件出来使用,没有dllcache会造成硬件无法使用或软件无法安装。
可见,删dllcache短期内也许没关系,但长期看,你会碰到问题却不知道问题出在哪里——而这很可能是因为没有dllcache造成的。所以我强烈建议不要删。
那么那些系统盘实在太小的朋友该怎么办呢?经过研究,我找到了方法,就是把dllcache“转移”到别的盘,就象转移虚拟内存。下面容我讲来这个“完全之策”地步骤:
1,开始->运行,键入“gpedit.msc”->启动“组策略”。
2,在“组策略”找到:本地计算机策略->计算机管理->管理模块->系统 ->windows 文件保护
3,单击“windows 文件保护”,你在右面看到一个叫“指定 Windows 文件保护缓存位置”的项。这个项是设置dllcache的位置的,下面 你就知道怎么做了,我就不多说了,自己动手搞定它吧。(说明:为 Windows 文件保护缓存指定另一个位置。
要启用这个设置,并在“缓存文件路径”框中输入新位置的完全合格的本地路径。
如果停用或不配置这个设置,Windows 文件保护缓存则位于 %Systemroot%\System32\Dllcache 目录中。
注意: 不要将缓存放在网络共享目录上。)[/hide]