概述
本文主要介绍Windows系统的ECS实例中,使用第三方杀毒防护软件可能出现的问题以及使用建议。
详细信息
在使用Windows操作系统的ECS实例过程中,可能会遇到很多和操作系统有关的问题,例如软件安装失败、无法激活操作系统、无法访问本地磁盘、网络访问受到影响、系统蓝屏、系统无响应等,排查发现这与安装的各类杀毒防护软件有关,例如360、Symantec、服务器安全狗等软件。一般而言,杀毒软件在正常情况下会保护系统不受病毒、木马的攻击影响,但是在某些特殊情况下,可能会因为兼容性问题,导致Windows操作系统出现上述异常问题。对此,本文主要介绍如下几点内容,希望对您有所帮助。
杀毒软件原理
杀毒软件的工作原理是通过Windows内核驱动(Filter Driver)处理IRP请求,用于进行磁盘、网络、应用程序的监控工作。杀毒软件的影响如下。
- 影响软件安装、激活、访问本地磁盘文件。
- 影响网络访问。
杀毒软件可能导致操作系统出现某些异常问题,如果在杀毒软件的管理控制台中禁用防护功能,未必能消除其影响。因为杀毒软件的内核驱动可能仍然在运行,也就是说会继续影响操作系统。只有完全卸载杀毒软件或者禁用对应的内核驱动才能排除杀毒软件的影响。关于如何检查杀毒软件的内核驱动是否仍然在运行,可参考如下内容,通过Windows系统自带的工具,即设备管理器或者msinfo32.exe,检查正在运行的内核驱动。
注:此处分别以Windows Server 2008 R2系统和Windows Server 2012系统为例进行介绍。
Windows Server 2008 R2
- 远程连接实例,请参考在本地客户端上连接Windows实例。
- 选择 开始 > 附件 > 运行,输入 devmgmt.msc,然后单击 确定。
- 在设备管理器中,依次单击 查看 > 显示隐藏的设备 > 非即插即用驱动程序,查看载入的驱动程序中是否存在第三方杀毒软件的驱动。其中NAVENG和NAVEX15是Symantec的内核驱动。
Windows Server 2012
- 远程连接实例,请参考在本地客户端上连接Windows实例。
- 选择 开始 > 运行,输入 Msinfo32.exe,然后单击 确定。
- 依次单击 系统摘要 > 软件环境 > 系统驱动程序,查看载入的驱动程序中是否存在第三方杀毒软件的驱动。其中NAVENG和NAVEX15是Symantec的内核驱动。
排查方法
对于怀疑杀毒软件导致问题出现的案例,如果安装了杀毒软件,请采用如下方案确认是否存在问题。
- 卸载杀毒软件,确认杀毒软件内核驱动已经卸载,观察问题是否再次发生。
- 使用msconfig进入安全模式,一般安全模式下不会载入第三方杀毒软件内核驱动,检查在安全模式下是否有相同问题。
- 使用Clean Boot,避免载入第三方杀毒软件驱动,请参考如下链接。
https://support.microsoft.com/zh-cn/kb/929135
如果确认问题是三方杀毒软件引起,您可以联系软件厂商,下载最新版本的杀毒软件来排除兼容性问题。
案例介绍
如下给出2个杀毒软件导致问题的示例案例。
案例一:安装.NET失败
问题描述
.NET Framework 4.0安装不了,安装过程中自动回滚,提示安装失败。
问题排查
- 检查系统程序的应用日志,发现如下报错。
产品: Microsoft .NET Framework 4 Client Profile — 错误 1406。无法将值 RequiredPrivileges 写入注册表项 \SYSTEM\CurrentControlSet\Services\clr_optimization_v4.0.30319_32。 系统错误 。请确认您有足够的权限访问该注册表项,或者与您的技术支持人员联系。
- 根据以上报错信息,通过以下2种方法确认问题。
- 由于提示权限访问失败,因此尝试使用process monitor检查是否有“access denied”错误,没有发现提示访问失败。一般而言,如果访问文件,注册表出现权限失败,会在process monitor中查看到类似“access denied”的提示。
- 打开注册表,尝试手工定位到
HKLM\SYSTEM\CurrentControlSet\Services\
目录,手工创建test测试项失败,检查另外一台Windows 2008 R2系统的实例,对比测试可以成功创建。
解决方案
根据上述测试和日志分析,怀疑在访问注册表时,在内核层面被拒绝,可能受杀毒软件影响。经检查,发现服务器上存在安全狗程序,卸载该程序后,问题解决。
案例二:Windows系统激活失败
问题描述
Windows系统激活失败。
问题排查
- 在终端中执行如下命令,运行激活Windows系统的命令,提示“无法找到产品”错误。
slmgr -ato
- 通过微软官方网站的建议,需要删除sppsvc临时数据,执行如下命令,尝试重新激活。
slmgr -rilc
系统显示类似如下,提示“错误:0xc0000022”。 - 尝试使用process monitor抓取日志,同样没有找到“Access Denied”的错误,怀疑是第三方杀毒软件导致的问题。
解决方案
建议卸载360等杀毒软件后,确认问题得到解决。
适用于
- 云服务器 ECS