Windows 2000文件保护调整
2001年2月26日20:51:47 ChinaByte Jaro

 

背景资料
微软新视窗
  Windows 2000已经面世一年有余,它的超强稳定性受到了众多用户的好评,这其中的功劳就少不了今天我们要重点介绍的Windows文件保护功能(以下简称:WFP)。无论是普通用户,还是那些专业用户,该功能都非常有意义,它在系统稳定性方面起着相当重要的作用。下面我们就来看看,到底什么是WFP,它到底是怎样工作的。

 

---------原理篇-------

WFP是什么

WFP的英文全称是Windows File Protection,即Windows文件保护。它的主要功能是防止系统文件被不匹配的版本替换或是覆盖。众所周知,在安装新应用程序时,由于不经意间采用了过时的dll(动态链接库)文件最容易使系统文件遭到破坏(当然可能出现问题的系统文件并不仅局限于dll文件)。

过去(包括微软件的大多数操作系统)如果用户同意,系统文件是可以被覆盖或者替换。如果替换后的文件过时或者版本不匹配都会对系统的稳定产生不良影响,比如:可能导致某些程序无法运行。现在WFP让这种情况成为了过去,那么WFP是如何工作的呢?

WFP是如何工作的

首先我们试着把由WFP保护的系统文件覆盖一下。据我们所知,那些在初次安装过程中安装的文件被系统默认为重要文件,当然这里面包括一个很广的范围(微软把Windows 2000安装光盘上的所有dll、exe、fon、ocx、sys、和tff结尾的文件都加以保护)。为了能了解WFP究竟保护着哪些文件,我们可以打开dllcache文件夹,你会找到下面这些格式的文件:ax、cpl、cpx、dll、exe、fon、inf、ocx、rsp、sys、tff和tlb文件。所有这些文件(很大一部分都是Windows 2000安装过程中自动定义的)都被备份在%SYSTEMROOT%/system32/dllcache 文件夹下,直到有一天WFP认为有必要把这些文件恢复到系统中去它们就派上用场了。不过,由此也就造成了dllcache这个文件夹非常庞大,在后面我们会告诉你如何设置dllcache所占的最大空间。

当WFP监控到这些文件被覆盖或替换后就要开始自己的工作了。首先它会扫描可能有问题的文件,如果这些文件与备份文件夹内微软“原装”文件不符,WFP会把用SYSTEMROOT%/system32/dllcache目录下备份的文件还原,如果该文件没有做备份,系统会提示你插入Windows 2000的安装光盘以复原该文件。

WFP到底有什么用处

WFP的用处是显而易见的,它将避免你的Windows 2000核心系统文件被意外更改。这对于网络用户意义尤为重大,因为这回网管们再不用忙着打理那些由于网络用户安装程序或是意外删除文件造成的麻烦了。

对于经验不够的菜鸟来说WFP更具价值,因为它将保证你不会无意间把自己的系统搞得一团糟。

但对于高级用户而言,WFP的意义不是很大。因为它占据的系统资源本来可以交给其它更需要的应用程序,而其占用较多的硬盘空间也实在是有些浪费。高级用户可能更希望把WFP关掉,下面我们也会告诉如何实现这个愿望。

升级系统文件

你可能已经产生了这样的疑问,如果WFP保护系统文件不被替换,那么我们如何能在WFP运行的同时升级系统文件呢?好的,看看下面这几种方法吧:

  1. 安装Windows 2000 Service Pack;
  2. 通过Windows Update下载安装;
  3. 为系统安装Microsoft Hotfix,Hotfixes是通过使用Hotfix.exe安装的,它对于替换受保护的系统文件非常必要。大多数Windows 2000的Hotfix集成在微软发布的维护包(Service Packs)中或是其他相当的程序中,比如:Office 2000 SR-1A。不过Hotfix总是在维护包发布之前被推出,所以我们可以认为它是临时的系统修正程序;

 

在添加删除程序的列表中可以看到所安装
的Hotfix,你可以看到其中有两个hotfix,它
们将会出现Windows 2000 SP2中

4、使用Winnt32.exe运行系统安装和升级。

---------实践篇(一)---------

准备工作

在我们开始调用、调整WFP之前,应当首先以管理员身份登录。无论你要对WFP做什么,你都必须以管理员身份来完成。

另外,我们建议你最好事先准备紧急修复盘(ERD)。完成ERD的制作有如下两步:

1、单击开始-->程序-->附件-->系统工具-->备份;
2、选择Emergency Repair Disk选项并备份你的注册表。

完成了上述所有工作,我们就可以开始调用WFP功能了。

调用、定义WFP

Windows 2000默认情况是打开WFP功能,如果你确有需要也可以手动调用。只要点击开始-->程序-->附件,选择DOS提示符。然后键入SFC并回车确定(在DOS提示符下,WFP被称做Windows File Checker),该命令还有很多参数开关,我们下面会一一列出。使用这些开关的SFC命令与我们后面介绍的编辑注册表的方法所达到的效果是相同的。

一、参数调整方法

SFC/SCANNOW:使用这一参数可以立即调用WFP对所有实施保护的文件进行扫描。

SFC /SCANONCE:使用这一参数WFP将在下次启动系统时对所有实施保护的文件进行扫描。
SFC /SCANBOOT:使用该参数WFP将在每次系统启动时对所有实施保护的文件进行扫描。
SFC /CANCEL:该参数将使WFP立即终止正在进行的扫描。
SFC /QUIET:该参数将使WFP不进行提示自动恢复所有监测到的版本不匹配的系统文件。
SFC /PURGECACHE:该参数将清空你的dllcache文件夹并对立即所有需要实施保护的系统文件重新进行扫描。

二、注册表调整法

1、点击开始-->运行,键入regedit或者regedt32并回车;
2、找到[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon].
3、在右侧的窗格中右键单击选择New-->DWORD Value,并为命名为SFCScan。接下来你有三种选择:
键值设为0(10进制数)将打开WFP的正常使用状态;
键值设为1(10进制数)将使WFP在每次系统启动时对所有实施保护的文件进行扫描;
键值设为2(10进制数)将使WFP在下次系统启动时对所有实施保护的文件进行扫描。
4、重新启动系统使所做的更改生效。