论坛风格切换
  • 2320阅读
  • 2回复

[电脑服务]windows文件保护 [复制链接]

上一主题 下一主题
 

发帖
7842
只看楼主 倒序阅读 使用道具 楼主  发表于: 2010-03-24
— 本帖被 Admin 从 电脑服务 移动到本区(2013-01-09) —
从新安装操作系统后,开始一切运行正常,包跨驱动安装完毕后都正常。 RAR0LKGX  
驱动来源在IE上下载,而一运行游戏或则其它盘中某些文件后即出现"windows 文 Tks;,C  
:PtpIVAosg  
件保护" AoHA+>&U  
直此后一直出现"windows 文件保护"窗口。 @k~?h=o\b  
无论打开IE或则其它什么文件夹都会出现这个窗口。只出现一个这样的窗口。 0?uX}8w  
我的怀疑是病毒原因,不知小弟估计错误没有,可是我却不知道是什么病毒。 Du3OmXMk  
请各位高手帮助一下我。 8?] :>  
zM6 yUEg  
#QJ  mAA  
文件保护"的解决方法 eydVWVN  
 {ZFa +  
这可能是因为你先前删除了一些文件而导致的,只要在组策略中进行一下设置即 pTq,"}J!+  
<'A>7M~h?*  
可:单击“开始→运行”,输入“gpedit.msc”,然后依次展开“计算机配置→ WujIaJt-  
xO'I*)  
管理模板→系统→Windows文件保护”,然后双击“设置文件保护扫描”并将其设 pM~Xh ]/  
3{_AzL  
置为“禁用”即可。 Myss$gt}  
我按以下步骤关闭文件保护 <B 5^  
1、点击开始-->运行,键入regedt32并回车; 1"46O Cu{  
2、找到[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows P# 2&?.d\  
o D;  
NT/CurrentVersion/Winlogon]; .lu:S;JSnS  
3、在右侧的窗格中右键单击选择New-->DWORD Value,为其命名为SFCDisable;  p>v,b&06  
4、在Hexadecimal项下输入键值为ffffff9d以关闭WFP; !8&,GT  
5、重新启动系统使所做的更改生效 U`q[5U"  
但是进行到第三步时就发现右侧的窗格里没有new这个选项,进行不下去了! ^|}C!t+  
描述: E%ea o$  
该设置可以控制是否要系统开启文件保护功能即 (SFC) 它可以监视Windows的系 zjgK78!<  
J<DV7zV  
统文件每当系统启动时候。我们可以修改注册表自由的控制文件的扫描参数。 1wUZ0r1'  
操作: oTZ?x}Z1  
ulFU(%&  
xrx{8pf  
打开你的“注册表编辑器”。然后找到 FD(zj^*  
|)6(_7e9  
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon]这 Hxr2Q]c?u  
O%v(~&OSl  
个子键。在右侧的窗口中创建一个“双字节值”并命名为“SFCScan”然后修改其 q! W ~>c!  
}yqRz6=YB  
值为 0 = 禁用, 1 = 启动时扫描, 2 = 扫描一次。 ^&<~6y}U^  
退出“注册表编辑器”注销或重新启动计算机,你会看到更改后的效果。 20m6-rkI<}  
Windows XP和2000包括一种叫做WFP(Windows File Protection,Windows文件保 lEi,duS)  
sBuJK'  
护)的技术。把"SFCDisable"键的键值设置为"ffffff9d"可禁用WFP,而设置  d$ Mk  
"@B! 5s0  
为"0"则可以启用它。其它一些可用的键值如下: 475yX-A  
1 - 禁用,但是在系统启动的时候会询问你是否重新启用 "FQh^+  
2 - 只在下一次重启动的时候禁用,也不会询问你是否重新启用 Ku LZg  
4 - 启用,并且,不显示弹出窗口 "M6a_rZ2W  
ffffff9d - 完全禁用 b{)('C$  
还原受保护的Windows系统文件:在运行对话框中输入"Sfc /scannow"然后点击OK g$VcT\X  
Ff>Y<7CQ v  
用sfc /quiet把wfc屏蔽掉就Ok了  .Pq8C  
扫描工具SFC x( w <U1  
b qB[ vPsI  
此工具会自动扫描所有受保护的系统文件,并用正确的版本取代不正确的版本。 etf ft8  
VL5kjF3/  
在操作系统部分损坏时,可以用来恢复系统。 6A M,1  
)DMu`cD  
SFC的命令行及其各参数如下: %u }|4BXoh  
SFC [/scannow] [/scanonce] [/scanboot] [/cancel] [/enable] , >Y. !  
[/purgecache] [/cachesize=x] [/quiet] %Hv$PsSJ  
/SCANNOW:立即扫描所有设置保护的系统文件。 (PGmA>BT  
/SCANONCE:下次开机时,只扫描一次所有设置保护的系统文件。 L*tXy>&b.  
/SCANBOOT:每次启动时,扫描所有设置保护的系统文件。 W9 y8dw.  
/CANCEL:取消所有搁置中的设置保护系统文件的扫描。 `.;7O27A^%  
/QUIET:不提示用户,直接取代所有不正确的文件版本。 $N;!. 5lX3  
/ENABLE:启用Windows文件保护,方便一般操作。 LoHWkNZ5:  
/PURGECACHE:删除文件缓存,并立即扫描所有设有保护的文件系统。 }7hpx!s,  
/CACHESIZE=x:设定文件缓存大小。 a#H=dIj  
gT @YG;  
点击“开始→运行”,在运行对话框中输入“gpedit.msc”命令,打开了组策略编辑器,打开“计算机配置→管理模板→系统→Windows文件保护”,在右侧窗体中显示四条文件保护策略?使用这些策略就可以轻松定义Windows系统的文件保护功能。 [e)81yZG>  
  1、设置Windows文件保护扫描 nR/; uTTz  
  这条策略用来设置是否启用Windows文件保护。鼠标双击打开该策略,系统默认是没有启用文件保护功能,点击“巳启用”单选项,如果你想每次启动系统都进行扫描,在“扫描频率”下拉列表框中选择“启动期间扫描”,如果只想在安装文件时进行扫描,选择“启动期间不要扫描”选项。 Wy#`*h,  
  2、隐藏文件扫描进度窗口 !boKrSw  
  启用这个设置后,在进行Windows文件保护扫描时就不会显示扫描的进度窗口。打开该策略,选择“巳启用”,点击“确定”按钮即可。 r0G#BPgdR  
  3、限制Windows文件保护缓存大小 Z{#^lhHx  
  文件保护功能会备份大量的被保护的文件到dllcache目录中,但随着系统安装的软件越来越多,会发现dllcache目录的体积不断增大,浪费了很多硬盘空间。该策略就是用来限制dllcache目录的大小。在“限制Windows文件保护缓存大小”对话框中,点击“巳启用”选项,然后指定“缓冲区大小”,如我们想限制dllcache目录最大为300MB,就在输入栏中输入“300”即可,最后点击“确定”按钮。 `.a L>hf  
  4、指定Windows文件保护缓存位置 iM2 EEC  
  dllcache目录默认位置是在“%SYSTEMROOT%\system32\dllcache”,但是很多朋友不想浪费系统盘空间,那么就可以使用该策略重新指定缓存文件的位置,打开该策略,选择“巳启用”,然后在“缓存文件路径”输入框中输入新的位置,如“D?\BAK”,最后点击“确定”按钮。 )|LX_kyW  
  完成以上设置后,需重新启动系统才能生效 3sGrX"0D  
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
十年磨一剑,鼎力打造个人事业平台,我的事业我做主,做人生命运的掌舵手.做自己人生的设计师.
培养鹰一样的个人,打造雁一般的团队!

发帖
7842
只看该作者 沙发  发表于: 2010-03-24
Windows XP SP2下彻底关闭Windows文件保护(WFP)的方法  zQ{ Q>"-  
?]fBds=  
找到了彻底关闭的办法,贴上来先(注:使 用前先检查sfc_os.dll的版本,本方法适用于5.1.2600.2180版的sfc_os.dll,不过大多windows xp都是该版本)。   O#O~A |  
   u MzefRN  
1.  用UltraEdit打开System32目录下的sfc_os.dll(打开前先备份到dllcache目录下),Ctrl+G跳到地址 0xECE9,把33C040改成909090,(其实就是用NOP填充原来的代码),另存为sfc_os.dll;放到硬盘某一分区下(如不想修改或不知道如何修改,可电邮qingpei668@163.com索取,请注明 取消windows文件保护 字样) 1\YX|  
vzi=[A  
2.  打开注册表编辑器,把HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows  NT\CurrentVersion\Winlogon下的SFCDisable键值设为ffffff9d; <eN>X:_N  
:^%s oEi  
3.  重启系统到dos下,执行命令   ^\N2 Iu>6  
Copy  x:\sfc_os.DLL  %SystemRoot%\System32\SFC_OS.DLL  /Y ?P`wLS^;  
(说明:该处x:\ 为修改后的sfc_os.dll存放位置)   :#TJ-l:#  
   >o.u,  
4.  重启动Windows  XP.文件保护即可彻底取消。该方法已经过确认。顺便说明,网上简单修改注册表以及通过xplite修改的方法均不奏效,放入光盘的方法可以是可以,太麻烦,总之,上面的方法是我找到的最好的方法。
十年磨一剑,鼎力打造个人事业平台,我的事业我做主,做人生命运的掌舵手.做自己人生的设计师.
培养鹰一样的个人,打造雁一般的团队!

发帖
7842
只看该作者 板凳  发表于: 2010-03-24
当你安装一个应用程序却不料引起Windows崩溃的时候,很有可能是因为应用程序改写了关键的Windows系统文件,导致系统崩溃。在文件被修改后,结果往往不可预知。系统可能正常运行,或者出一些错误,或者完全崩溃。幸运的是,Windows 2000, XP,和Server 2003应用了一个称作Windows文件保护(Windows File Protection, WFP)机制,它可以防止关键的系统文件被改写。在这篇文章中,我将解释何谓WFP和它是如何工作的。我还要告诉你如何修改或忽略WFP的行为。(注释:尽管在Windows 2000, XP,和Server 2003上,WFP的运行没什么区别,但这篇文章中的信息,包括注册表相关条目和SFC语法,是针对XP的。) s ^)W?3t]  
Windows文件保护是如何工作的 .\U+`>4av  
WFP被设计用来保护Windows文件夹的内容。WFP保护特定的文件类型,比如SYS、EXE、DLL、OCX、FON和TTF,而不是阻止对整个文件夹的任何修改。注册表键值决定WFP保护的文件类型。 )%^oR5W  
当一个应用程序试图替换一个受保护的文件,WFP检查替换文件的数字签名,以确定此文件是否是来自微软和是否是正确的版本。如果这两个条件都符合,则允许替换。正常情况下,允许替换系统文件的文件种类包括Windows的服务包,补丁和操作系统升级程序。系统文件还可以由Windows更新程序或Windows设备管理器/类安装程序替换。 ? 5B}ZMW  
如果这两个条件没有同时满足,受保护文件将被新文件替换,但将很快被正确的文件替换回来。当这种情况发生时,Windows会从Windows安装CD或者计算机的DLLCache文件夹中复制正确版本的文件。 Nq*\{rb  
Windows文件保护并不仅仅通过拒绝修改来保护文件,它还可以拒绝删除。来看看WFP的做法,打开\WINDOWS\SYSTEM32文件夹并将CALC.EXE文件重命名为CALC.OLD。当你这样做时,一个消息将提示你如果改变这个文件的扩展名可能会导致这个文件不可用。点击Yes按钮确认这个警告。现在,等几分钟后按F5键以刷新文件系统的视图,完成替换可能要花些时间。当文件最终被替换后,Windows会在事件日志中做相应的记录。 9!9 Gpi  
关于WFP值得关注的一点是它和Windows安装程序结合的很紧密。无论何时,如果Windows安装程序需要安装一个受保护的文件,它就把这个文件交给WFP,而不是自己试图去安装这个文件。然后由WFP判断是否允许安装。 5yA^n6  
系统文件检查 W!tP sPM  
k9^P#l@p  
虽然自动文件替换会节省时间,但也存在需要手动干预的情况。例如,你可能不愿意空等着WFP去判断受保护的文件是否已经被替换。幸运的是,你可以用一个名为系统文件检查(SFC)的工具手动控制WFP。 2A`EFk7_X  
SFC是一个命令行工具,需要在命令提示符窗口下运行。它的语法像这样: 42m`7uQ  
SFC [/SCANNOW] [/SCANONCE] [/SCANBOOT] [/REVERT] [/PURGECACHE] [/CACHESIZE=x] SF.,sCk  
/SCANNOW选项通知SFC立即扫描所有受保护的系统文件。如果在扫描过程中发现一个错误的文件版本,这个错误的版本将被替换为微软正确的版本。当然,这意味着你可能必须有Windows安装CD,最新的服务包或者升级补丁。 d=>5%$:v  
/SCANONCE参数通知WFP在系统下次启动的时候扫描受保护的系统文件。在扫描过程中,任何错误的文件将被正确的版本替换。正如这个参数名的意思,这个扫描只进行一次。之后的系统启动将恢复正常,SFC不再运行。 ~]"}s(J;  
/SCANBOOT参数和/SCANONCE选项类似。区别在于SCANONCE只在Windows下次启动时扫描受保护的文件,而SCANBOOT参数则在Windows每次启动时都扫描系统文件。如果需要,这两个参数将替换错误的系统文件,这可能需要你提供正确文件版本的拷贝。 ORtl~V'  
/REVERT选项用来关闭SFC,例如,假设你使用SCANBOOT选项在每次系统启动的时候扫描所以保护的文件。正如你所能想到的,这确实会增加计算机启动的总时间。最后,你可能厌倦了漫长的启动时间,想关闭SFC。只需要简单的使用SFC /REVERT,就可以在启动的时候关闭SFC。 )3)L  
对/PURGECACHE选项就需要谨慎些。在这之前,我解释说Windows使用一个缓存文件夹来保存各类系统文件正确版本的备份。如果你运行SFC /PURGECACHE命令,那么这个文件缓存将被清空,那些备份文件将被删除。这个命令还会导致Windows开始扫描各类受保护文件,并在扫描的同时重建这个文件缓存。当然,这可能意味着你必须向Windows提供Windows安装CD或系统文件升级的拷贝。 |d%Dw^  
最后一个SFC命令选项是/CACHESIZE=x。对于文件缓存的缺省大小确实存在很多自相矛盾的信息,在写这篇文章的时候,我发现三篇不同的微软知识库文章中指定的文件缓存的缺省大小都不一样。一篇文章中建议文件缓存的大小为50 MB,而另一篇建议的大小却是300 MB。更有甚者,第三篇指出这个大小应该是无限的。其实缺省值的大小并不重要,因为你可以根据你的需要,使用CACHESIZE选项来改变这个文件缓存的大小。 *3 9sh[*}  
在使用CACHESIZE选项时,你必须键入命令SFC /CACHESIZE=x,这个x是指你想分配给文件缓存的兆字节数。在指定了新的文件缓存大小后,你必须重启系统并运行SFC /PURGECACHE命令。 W;KHLHp-  
通过注册表控制WFP和SFC y|MW-|0=!  
_&F6As !{  
在这之前,我解释说注册表控制WFP的一般行为。你可以修改几个不同的注册表键值以控制WFP的行为。你可以在每次运行SFC直接操作这些键的一部分,其他一些有更低级别的功能。比如指定文件缓存或者安装文件的位置。 :eIB K  
修改注册表可能是危险的。如果你做了一个错误的修改,可能会导致Windows的崩溃或者破坏你的应用程序,所以我强烈建议在尝试这一节中描述的任何技术之前,先对注册表做一个完整的备份。 Mm6 (Q  
为了访问SFC的注册表键,在Run命令中键入REFEDIT命令。这将打开注册表编辑器,现在浏览注册表树找到下面这个键: e'\I^'`!M  
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon W{-N,?z  
通常地,注册表中WinLogon键一般用来控制各种不同的启动选项。虽然许多SFC的选项都可控制SFC是否在启动的的时候运行,但微软已经将SFC相关的注册表键放在这个部分。 %{}Jr`  
; $y.+5 q  
SFCDisabled }WCz*v1Wq  
$ng\qJ"HF  
这个注册表键控制SFC是激活的还是无效的。实际上你只需通过改变DWORD的值,就可以得到四个不同的选项。缺省的DWORD值是0。这个设置激活SFC。通常你不需要改变这个值。然而,你可以在0到4之间修改这个值使得激活SFC但不让它弹出。 xY!]eLZ)&  
如果将内核调试器挂起,你最好关闭SFC。如果正在使用一个内核调试器,你可以将注册表键的DWORD值修改为1,这会关闭SFC并且会在以后的每次启动时都提示你是否再次激活SFC。  =_ rn8  
你也可以通过将DWORD值设为2来关闭SFC。这个选项只是在下次启动时关闭SFC。没有再激活SFC的选项,因为SFC将在这之后启动时自动激活。 U Ciq'^,  
SFCScan K] Eq"3  
在这之前,我解释了SFC的SCANONCE, SCANBOOT,和REVERT选项。只要你使用这些选项,实际上SFC是在修改SFCScan注册表键。你可以通过改变它的DWORD赋值来修改这个键。 -q+Fj;El  
默认的值是0。这个值的意思是不需要在启动时扫描受保护文件。这个设置相当于运行SFC /REVERT命令。 )3..7ht3^5  
改变DWORD值为1,意思是在每次启动时都扫描受保护文件。设置SFCScan的值为1相当于运行SFC /SCANBOOT命令。 mD)Nh  
最后,设DWORD值为2就是告诉SFC在下次启动时扫描受保护文件,但并非以后的所有启动。这相当于运行SFC /SCANONCE命令。 tkuN$Jl  
SFCQuota &)bar.vw/  
R8],}6,;E}  
SFCQuota注册表键用来控制SFC文件缓存的大小。或许你会记得,之前在我谈到SFC /CACHESIZE=x 命令时,我提到关于文件缓存的默认大小,存在许多不一致的信息。然而在我的系统上,注册表键SFCQuota的DWORD值默认为0xffffffff。根据微软知识库,这个值对应文件缓存的大小为300 MB。同一篇知识库的文章指出通过修改这个值为FFFFFFFF,你可以缓冲存储所有受保护的系统文件。 ie$=3nZJ}  
SFCDllCacheDir /@wm?ft6Gk  
在这之前,我解释说Windows将DLLCACHE文件夹作为存储系统文件备份的地方。通常的,这个文件夹位于\WINDOWS\SYSTEM32目录下。不过通过修改SFCDllCacheDir注册表键,你可以修改文件缓存的位置。 4&y_+  
文件缓存文件夹一般位于DLLCACHE目录下,但通过修改这个注册表键,你可以修改这个文件夹的位置。唯一需要注意的一点是你必须指定一个已经存在于本地硬盘驱动器上的地址。在Windows 2000里,你可以指定一个网络共享作为DLLCACHE的路径,但在Windows XP中没有这个选项。 m2_&rjGz  
SFCShowProgress q1?2 U<  
另一个与SFC相关的注册表键是SFCShowProgress键。这个注册表键允许你设置它的DWORD值为0,或1。缺省值是0,它将禁止显示SFC的进程情况。设值为1就可以让SFC显示进展情况。 q>Q|:g&:  
源文件地址 JWn9&WK  
在这之前,我解释了WFP和SFC是如何工作的,我指出在某些条件下你可能必须提供Windows安装CD或者有效源文件的拷贝。然而通过修改注册表,向Windows指明一个源文件目录是完全可能的,而无需Windows再向你询问这些文件。 RIJBHOa  
这个注册表键在注册表的另一部分。你必须找到下面这个键: &0>{mq}p,:  
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup "jeJV,%  
一旦你找到了这个位置,通过使用一个驱动器符号或者路径或者一个UNC,你可以指定Windows系统文件的位置。 |xf%1(Rl@  
使用这个命令的前提是你必须将文件放在名为I386的目录中。例如,如果你的Windows系统文件位于一个名为C:\I386的目录中,那么你只需在注册表中指定路径为C:\,因为Windows假定I386这个目录是存在的。同样的,如果你打算使用一个UNC共享,I386文件夹必须存在于共享目录下。例如,如果你打算共享的目录名为FILES,你需要将I386文件夹放在FILES目录下。然后你可以告诉Windows在\\server_name\FILES目录下寻找共享文件。Windows将在\\server_name\FILES\I386目录中寻找系统文件。 %djx0sy  
十年磨一剑,鼎力打造个人事业平台,我的事业我做主,做人生命运的掌舵手.做自己人生的设计师.
培养鹰一样的个人,打造雁一般的团队!