从windows 2000开始,微软在Windows中引入了“Windows文件保护”功能(Windows File Protection)。WFP在后台自动运行,可以防止重要的系统文件被替换,大大提高了系统的稳定性。但是现在很多人都说这个功能经常报错,你知道这是什么原因吗?病毒作怪,系统故障的原因都是造成出现这些问题的原因,下面我们就给大家讲讲他的一些应用技术及原因技术。
WFP是怎样发挥作用的呢?原来,当重要的系统文件(包括sys、dll、ocx、ttf、fon、exe等类型)被替换或移动时,WFP会对新文件的数字签名进行验证,以确定新文件的版本是否为正确的Microsoft版本,如果文件版本不正确,Windows文件保护会自动调用DLLCache文件夹或Windows中存储的备份文件替换该文件,如果Windows文件保护无法定位相应的文件,系统就会提示用户输入该位置或插入安装光盘,如图1。
每次启动都扫描
在默认设置下,Windows文件保护并非时时刻刻都对那些受保护的文件进行扫描,如果你使用的是公用计算机,那么还是安全为好,在“开始→运行”对话框中键入“gpedit.msc”,打开“本地计算机策略→计算机配置→管理模板→系统”窗口,找到“Windows文件保护”组,在右侧窗格中双击“设置Windows文件保护扫描”项,如图2所示,将其设置为“已启用”,并设置扫描频率为“启动期间扫描”,这样只要Windows启动就会扫描保护文件,这样系统会稳定得多,但其缺点是启动时间会适当拖长。
或者,也可以打开“注册表编辑器”,找到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]右侧窗格中的SFCDisable值,其默认设置是0,即重新启动后不扫描受保护的文件,我们可以将其设置为1,可以达到同样的目的。
给文件扫描设置计划任务
常规上,我们要么手工执行SFC,要么将之设置为每次启动系统时执行,事实上这两种方式都未免太呆板了些,为什么不为文件扫描量身订做一个计划呢?
首先,我们需要将 “设置Windows文件保护扫描”项中设置为“已禁用”,然后在“控制面板”中打开任务计划窗口,双击“添加任务计划”,定位至\Windows\system32\sfc.exe,同时选择“每周”,然后可以选择起始时间和具体的日期,接下来设置用户名和密码。
右击刚刚创建的计划任务,打开属性窗口,在“运行”框中添加一个空格和/scannow参数,表示立即扫描所有受保护的系统文件,以后一到指定的时间,就会自动执行文件扫描操作了。
如果限制DLLCache文件夹
缺省设置下,Widnows会将验证过的文件版本存储在DLLCache文件夹中,这个文件夹的默认大小是400MB,而Windows Server 2003则无此限制,也就是说允许使用最大空间,如果你的硬盘空间比较紧张,那么不妨考虑适当限制一下。
仍旧打开“本地计算机策略→计算机配置→管理模板→系统”窗口,找到“Windows文件保护”组,在右侧窗格中双击“限制Windows文件保护缓存大小”项,在弹出的窗口中进行设置,注意最小值应当大于50MB,如果需要指明缓存大小不受限制,请选择“4294967295”作为磁盘空间最大量。
或者,也可以打开“注册表编辑器”,找到[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]右侧窗格中的SFCQuota值进行设置,其默认大小是0xFFFFFFFF(即4294967295,400MB)。
让安装盘进驻硬盘
如果经常遇到如图1所示的提示插入Windows安装光盘的事情,总是相当麻烦的 。不过,我们只要先在非系统分区上(如D:\)建立一个文件夹,如WININS,再把Windows 2000/XP的安装光盘上的所有文件拷贝到这个文件夹下。接着,安装TweakUI,然后打开“控制面板”,双击“用户接口自定义”图标,单击“我的电脑”标签,在“特殊文件夹”选项组中“文件夹名称”旁边下拉列表框,从中选择“安装路径”项目,并单击“改变位置”按钮,从打开的“浏览文件夹”窗口中选中我们拷贝安装光盘的路径即可,如D:\WININS。
小提示
★现在硬盘非常大,建议你把Office安装程序从光盘上拷贝到硬盘上再安装,这样添加或删除Office组件时将不再需要插入安装光盘。
[1] [2] [3] [4]
更多的请看:http://www.QQread.com/windows/2003/index.Html
如果你的系统目前一切正常,没有什么问题,而由于某些原因需要腾出更多的可用空间,那么可以在“开始→运行”对话框中键入“SFC /purgecache”命令清空Dllcache文件夹,注意/前有一个英文半角的空格字符,这样将清空保存在DLLCache中的文件缓存。
不过这样一来,一旦出现问题,我们将会看到弹出的窗口,需要插入Windows安装光盘,并从上面恢复相应的系统文件。
文件保护也可以实现共享
默认情况下,Windows会从\WINDOWS\SYSTEM32\DLLCACHE中读取保护文件,事实上,我们可以打开“注册表编辑器”,定位到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon]下,找到SFCDllCacheDir键值,将它指到一个更大的分区(如d:\dllcache),或者一个网络共享文件夹中(如\\server\share\dllcache),然后将\WINDOWS\SYSTEM32\DLLCACHE下的所有文件(夹)移动到上述文件夹中,这样Windows将会从这些文件夹中恢复保护文件。
小提示
★此技巧仅适用于Windows 2000,并不适合于Windows XP。
★如果你公司有多台机器,可以将dllcache文件夹放到共享文件夹中,这样可以省下硬盘空间。如果有不同版本的Windows,则需要指定不同的文件夹,如\\server\share\en\dllcache、\\server\share\chs\dllcache等。
安装光盘如何实现共享
如果你在公司的局域网中工作,那可以打开“注册表编辑器”,定位到
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup]下找到SourcePath项,双击之,将它修改为网络共享文件夹,如\\server\share\chs\winxp,然后将Windows XP安装光盘上的所有文件拷贝到\\server\share\chs\winxp下,以后需要Windows安装文件时,就会自动从该文件夹下拷贝文件而不会提示插入安装光盘。这样,同事们可以省下足够的本地硬盘空间,而“共享”一个安装文件夹。
Windows操作系统的稳定性和安全性越来越受人重视,从Windows2000开始,系统就提供一种文件保护机制功能(Windows File Protection)。该功能可以有效地保护Window s中某些重要的系统文件夹,如DLL、OCX、SYS、CPL等后缀的文件。而且系统会自动备份这些文件到“%SYSTEMROOT%\system32\dllcache”目录中,一旦受保护的文件被破坏或替换,Windows文件保护功能自动从dllcache目录中的备份、恢复这些文件。但我们如何使用文件保护功能呢?下面就介绍两种方法。
方法一:组策略
点击“开始→运行”,在运行对话框中输入“gpedit.msc”命令,打开了组策略编辑器,打开“计算机配置→管理模板→系统→Windows文件保护”,在右侧窗体中显示四条文件保护策略使用这些策略就可以轻松定义Windows系统的文件保护功能。
1、设置Windows文件保护扫描
这条策略用来设置是否启用Windows文件保护。鼠标双击打开该策略,系统默认是没有启用文件保护功能,点击“巳启用”单选项,如果你想每次启动系统都进行扫描,在“扫描频率”下拉列表框中选择“启动期间扫描”,如果只想在安装文件时进行扫描,选择“启动期间不要扫描”选项。
2、隐藏文件扫描进度窗口
启用这个设置后,在进行Windows文件保护扫描时就不会显示扫描的进度窗口。打开该策略,选择“巳启用”,点击“确定”按钮即可。
3、限制Windows文件保护缓存大小
文件保护功能会备份大量的被保护的文件到dllcache目录中,但随着系统安装的软件越来越多,会发现dllcache目录的体积不断增大,浪费了很多硬盘空间。该策略就是用来限制dllcache目录的大小。在“限制Windows文件保护缓存大小”对话框中,点击“巳启用”选项,然后指定“缓冲区大小”,如我们想限制dllcache目录最大为300MB,就在输入栏中输入“300”即可,最后点击“确定”按钮。
4、指定Windows文件保护缓存位置
dllcache目录默认位置是在“%SYSTEMROOT%\system32\dllcache”,但是很多朋友不想浪费系统盘空间,那么就可以使用该策略重新指定缓存文件的位置,打开该策略,选择“巳启用”,然后在“缓存文件路径”输入框中输入新的位置,如“D\BAK”,最后点击“确定”按钮。
完成以上设置后,需重新启动系统才能生效。
用SFC命令保护文件
Windows操作系统的稳定性和安全性越来越受人重视,从Windows2000开始,系统就提供一种文件保护机制功能(Windows File Protection)。上期我们讲了如何用组策略来实现文件保护功能,这次的方法就是如何用SFC命令来实现它。 如何禁用WFP
[1] [2] [3] [4]
作为一个后台运行的服务,WFP会消耗一定的资源,如果你的电脑配置不是很高,那么就完全可以禁用,以便提高电脑性能。不过禁用后Windows的稳定性可能得不到保障,这个由你自己来决定。
如果你要禁用WFP,需要修改注册表,同时,在注册表中也可以完成其他的一些设置。
运行regedit打开注册表编辑器,展开注册表到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon,这里有几个键是需要我们设置的:
SFCDisable,值为0时打开了WFP,这也是默认的状态。双击后可以改成1,这将禁用WFP,并且需要重启动一下才能生效;值为2,仅仅会在下一次启动时禁用;值为4,将启用,并且不会显示提醒用户的窗口。
SFCQuota,可以决定允许WFP使用的最大硬盘空间,直接输入大小就可以,单位为MB,默认为300MB。而设置为FFFFFFFF就可以备份本地硬盘上所有的系统文件。
控制Windows文件保护扫描
描述:
该设置可以控制是否要系统开启文件保护功能即 (SFC) 它可以监视Windows的系统文件每当系统启动时候。我们可以修改注册表自由的控制文件的扫描参数。
操作:
打开你的“注册表编辑器”。然后找到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]这个子键。在右侧的窗口中创建一个“双字节值”并命名为“SFCScan”然后修改其值为 0 = 禁用, 1 = 启动时扫描, 2 = 扫描一次。
退出“注册表编辑器”注销或重新启动计算机,你会看到更改后的效果。
Windows XP和2000包括一种叫做WFP(Windows File Protection,Windows文件保护)的技术。把"SFCDisable"键的键值设置为"ffffff9d"可禁用WFP,而设置为"0"则可以启用它。其它一些可用的键值如下:
1 - 禁用,但是在系统启动的时候会询问你是否重新启用
2 - 只在下一次重启动的时候禁用,也不会询问你是否重新启用
4 - 启用,并且,不显示弹出窗口
ffffff9d - 完全禁用
还原受保护的Windows系统文件:在运行对话框中输入"Sfc /scannow"然后点击OK
实际操作后应该是:改注册表为SFCScan ---0 SFCDisable-------4
Windows文件保护弹出警告框的原因和对策
1 系统中毒。这个时候你应该把你的杀毒软件病毒库升级到最新,然后对系统进行一些彻底的病毒清查。
2 软件问题,某些比较老旧的或设计不良的软件会替换系统文件,也会出现这种提示框;
如果查无毒的情况下,请检查你安装软件的兼容性,然后插入光盘,使用Sfc恢复文件,用法是,点击开始/运行,键入命令:SFC/Scannow,确定。有时候会出现不认盘的情况,这时候可以手工恢复系统文件。插入光盘,等系统认出光盘后,点击开始/运行,键入SFC /scannow确定。如果你的系统安装过补丁,而你的原盘不带补丁,这种方法是无效的。比如你安装了2000SP4,你就必须放入集成了SP4的光盘. 先把光盘放入光驱,一定要提前放入光驱!然后点击开始/运行,输入SFC /scannow 确定。另外要注意:使用windows2000 3合1的光盘是无法用这种方法修复系统文件的。
3 如果当初安装系统时用的是盗版盘(windows XP),而后来你激活了(算号器激活,俄罗斯电话补丁,或是自动激活程序等),也会出现wfc警告框;
开始 运行 sfc/purgecache
开始 运行 gpedit.msc(组策略) 计算机配置=>管理模板=>系统=>windows文件保护 右边的设置为disable
开始 运行 regedit 或者 regedt32 找到[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon 在右侧的窗格中右键单击选择New-->DWord Value,为其命名为SFCDisable 在Hexadecimal项下输入键值为ffffff9d以关闭WFP 重新启动系统使所做的更改生效。
为了确保WFP确实已经被关闭,你可以在重启电脑后查看日志文件。点击开始-->设置-->控制面板。打开Administrative Tools-->Event Viewer。你会看到图中所示的记录。在每次Windows 2000启动后都会记录下WFP被关闭的情况。
注意:虽然WFP被关掉了,但dllcache文件夹下仍然备份了文件。如此这般你应该在WFP被关掉后把这些文件都删除。你只要打开%SystemRoot%/System32/dllcache这个文件夹,然后把目录下的文件删除就是了。
4 较具体的情况:
xp系统,一会就弹出文件保护,说安装语言不符合 开始 运行 sfc /scanonce 重启; windows2000server,装了office2000后,老是弹出个对话框,说系统文件被修改,让插入安装盘,要不插盘的话,隔一会就往出弹 对策为第3条所述。或者更换office xp;
[1] [2] [3] [4]
更多的请看:http://www.qqread.com/windows/2003/index.html
Windows文件保护如何工作?
通过两种机制,Windows文件保护特性可以检测并纠正应用程序安装过程中某些文件被未被授权文件替换的情况。第一种机制是,在某个重要系统文件被修改时,Windows文件保护会得到通知。然后Windows文件保护找到目标文件以及这个文件是否是被保护的。如果目标文件确实是被保护的,那么Windows文件保护将在一个编目文件里检查文件的签名。如果签名是假的,那么这个文件将被Dllcache文件夹里的对应文件替换,或被新应用程序的安装程序用新的文件替换。
另一个机制是系统文件检查器 (Sfc.exe) 工具。在图形用户界面安装的最后阶段,系统文件检查器工具会扫描所有被保护的文件,为安装程序修改文件做好准备。它还检查所有用来跟踪正确文件版本的编目文件。如果发生丢失或损坏的情况,Windows文件保护将对受影响的编目文件重新命名,并从DLLcache文件夹下恢复这个文件的缓存版本。如果不能获得这个文件的缓存版本,Windows文件保护将会要求插入适当的磁盘或光盘来获得编目文件的一个新的拷贝。
你还可以用系统文件检查器做什么
扫描所有被保护的文件,以验证它们的版本。
检查和重新填充%Systemroot%\System32\Dllcache文件夹。
修复被损坏或无法再使用的Dllcache文件夹内容。
设置文件缓存大小(分配给Dllcache文件夹的空间)。
有关Dllcache的细节
为所有类型的文件都保存一个缓存版本的需要可能会和磁盘空间方面的考虑发生冲突。但是,如果你决定为所有类型的文件都保存一个缓存版本的话,那么请在注册表里把SFCQuota的值设置为0xFFFFFFFF,这样就可以缓存所有被保护的系统文件(大约2700个文件)。然而更好的情况是,如果你安装了Windows 2000并且有足够的磁盘空间,那么Windows 2000将会自动缓存所有被保护的系统文件。
Windows文件保护对Dllcache文件的操作:
如果Windows文件保护检测到一个侵入文件,而受影响的文件不是Dllcache文件,并且被操作系统使用的相关文件的版本为正确版本,则Windows文件保护将这个版本拷贝到Dllcache文件夹。
如果正在被操作系统使用的受影响文件的版本不是正确版本,或者文件没有缓存到Dllcache文件夹,那么Windows文件保护特性会试图找到这个文件的安装路径。如果介质没有找到,则Windows文件保护会显示一个对话框,让你插入适当的介质,以替换文件或者Dllcache文件版本。
(出处:http://www.sheup.com)