武汉有名的丝足会所:电脑蓝屏stop:0x0000007F(0x0000000D,0x00000000,0x00000000,0x00000000)

来源:百度文库 编辑:中科新闻网 时间:2024/05/02 19:25:11
有时又出现0x000000CE(0XF8F8EAA0,0X00000000,0XF8F8EAA0,0X00000000)
nv4_mini.sys
这个电脑原先插的还原卡,现在拔掉了.

Windows NT/2000/XP 出现蓝屏并显示“STOP 0x0000007f”错误

情形
在 Windows NT/2000/XP 下,安装了 Symantec 防病毒程序或其他安装内核驱动程序的应用程序。安装后,计算机意外重启,或出现蓝屏并显示与下面类似的 STOP 消息:

STOP 0x0000007f (0x00000008, 0x00000000, 0x00000000, 0x00000000)
UNEXPECTED_KERNEL_MODE_TRAP

如果 Windows 2000 Server 上安装了远程管理模式的终端服务,以及下列应用程序的任意组合:Symantec AntiVirus 企业版 8.0、St. Bernard Open File Manager、Quota Manager、Legato RepliStor 或其他注册到内核堆栈的“筛选器驱动程序”,则通常会出现这种情形。

解释
发生此问题是由于内核驱动程序可用的内核空间量有限。Windows 2000 上的此限制为 12 KB。如果操作系统用尽了内核空间,则计算机会显示蓝屏及错误消息。

运行 NTFS 的 Windows 2000 在处理I/O 请求之前会检查可用的内核堆栈。如果 NTFS 确定堆栈空间不足,则会导致异常错误。如果没有处理异常的足够堆栈空间,则会发生堆栈溢出并且系统出现双重故障,从而导致出现具有 STOP 消息的蓝屏。

当 Symantec AntiVirus 或 Norton AntiVirus 文件系统实时防护对文件进行病毒检查时,会从相应的文件系统请求文件访问。这些文件 IO 请求会增加内核堆栈的消耗量。

为防止文件系统实时防护在低堆栈的情况下继续使用内核堆栈,增加了一个名为 KStackMinFree 的内部配置值,该值可以通过 Windows 注册表来配置。Norton AntiVirus 企业版 7.61 build 21(2001 年 10 月发布)及其后续版本都支持这个值。

KStackMinFree 注册表值指定必须保持最小可用内核堆栈量,以便文件系统实时防护能够从文件系统请求文件 IO。如果注册表中存在 KStackMinFree 值,则文件系统实时防护在进行任何文件 IO 之前都会计算可用堆栈空间量。如果可用的内核堆栈少于注册表中的值,则文件系统实时防护将不进行任何 IO 并且不扫描文件。

--------------------------------------------------------------------------------
注意:文件系统实时防护只跳过信任的内核组件 (Ring 0) 访问的文件。如果文件是由用户模式组件(非 Ring 0)访问,则文件系统实时防护会对文件进行病毒检查。
--------------------------------------------------------------------------------

此更改分两步进行:
通过添加 KStackMinFree 值修改注册表。
停止并重新启动防病毒服务以使更改生效。

通过添加 KStackMinFree 值修改注册表:

--------------------------------------------------------------------------------
警告:强烈建议您在进行任何更改前先备份注册表。错误地更改注册表可能会导致数据永久丢失或文件损坏。请只修改指定的键。继续前,请参阅文档:如何备份 Windows 注册表和如何使用 Windows 注册表编辑器。
--------------------------------------------------------------------------------

运行 Regedit.exe 打开 Windows 注册表。
浏览到下列注册表键:
HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\Norton AntiVirus NT\Auto-Protect\InternalSettings

突出显示并用鼠标右键单击 InternalSettings,选择“新建”并选择“双字节值”。
将 KStackMinFree 作为新的双字节值键入。
用鼠标右键单击 KstackMinFree 值,然后单击“修改”。将“基数”设置为“十六进制”,并在“数值数据”字段键入 2200。
Windows 2000/XP 用户可以通过下载并导入附加的 KStackMinFree.reg 文件来自动创建等于 2200 的 KStackMinFree 值。

虽然每个环境的这个值都不相同并且需要尝试多次才能找到正确的值,但 Symantec 仍然推荐采用 8.0 KB 到 8.5 KB(十六进制为 2000-2200)之间的一个值。下表定义了其他可能的值。
要求的最小可用内核内存 十六进制值
5.0 KB 0x1400
5.5 KB 0x1600
6.0 KB 0x1800
6.5 KB 0x1a00
7.0 KB 0x1c00
7.5 KB 0x1e00
8.0 KB 0x2000
8.5 KB(推荐) 0x2200
9.0 KB 0x2400

--------------------------------------------------------------------------------
注意:
如果这个值设置得过低,则会发生堆栈溢出,并且系统将停止响应。
如果这个值设置得过高,则会不必要地跳过文件扫描。
如果该注册表值不存在、设置为 0 或大于 0x2400,则文件系统实时防护将正常工作。

--------------------------------------------------------------------------------

重新启动防病毒服务
打开“服务”窗口:
o 在 Windows NT 4 上,双击“控制面板”中的“服务”。
o 在 Windows 2000/XP 上,双击“控制面板”中的“管理工具”,然后双击“服务”。
找到防病毒服务。该服务名称会因安装的 Symantec 产品的不同而不同,但不外乎以下几种:
o Norton AntiVirus Client
o Norton AntiVirus Server
o Symantec AntiVirus Client
o Symantec AntiVirus Server
停止然后重新启动相应的防病毒服务。

服务重启后,对 KStackMinFree 值的更改生效。