昨天早上给刚买的本本安装了Windows Server 2003 里面的终端服务组件,安装过程非常的顺利,安装以后系统看起来也一切正常。
昨天晚上,打开 MPC 尝试播放一个视频文件,MFC输出模式设置为 VMR9,然后打开一个视频文件,不到1秒钟,蓝屏了。我没有在意,因为使用 Windows Media Player 也能够播放这个视频,而且从蓝屏信息和DUMP分析结果表明这个崩溃是由于NVIDIA显卡驱动所致,既然知道原因就以后再处理,先看电影,嘿嘿。
今天,在网络上搜索了很多显卡驱动,但是由于本本的特殊性,这些驱动均不能自动的安装,因为硬件ID不匹配。不得已,为了解决昨天的蓝屏问题,我修改了这些驱动的INF文件,使得安装程序能够认识我的显卡并将公版驱动安装到我的系统里面。自定义驱动安装以后,尝试使用 dxdiag.exe 工具来检测显卡驱动安装是否正确,DirectDraw 模式没有问题,一切正常,但是当我尝试测试 Direct3D模式时,蓝屏了~~
尝试多个驱动,均会导致系统蓝屏~~
怀疑修改以后的显卡驱动有问题,于是换回本本自带的、通过WHQL认证的显卡驱动 NVIDIA 6.14.0010.8390,安装以后再次使用 dxdiag.exe 工具来检测显卡驱动安装是否正确,DirectDraw 模式也没有问题,但是当我尝试测试 Direct3D模式时,蓝屏了~~
运行任何3D程序,蓝屏了~~
安装Future PCMark 05,安装程序崩溃~~
经过来来回回的折腾,我发现我好像陷入了一个死胡同,怎么办呢?重新安装系统?
回忆整个经过,对比系统正常时和不正常时运行的软件情况,发现今天下午尝试安装 Future PCMark 05的时候,安装程序报错,而在我安装终端服务之前,我曾经多次使用PCMark 05来进行系统测试,安装过程正常;同样,安装终端服务前3D游戏工作正常,安装以后D3D不能工作,一运行就导致系统蓝屏。于是我开始怀疑蓝屏和终端服务有关。
从添加删除Windows组件里面将终端服务卸载以后,问题得以解决。
原因&结论:
从蓝屏信息和DUMP文件里面可以看到,导致蓝屏问题的是NVIDIA显卡驱动,使用WinDBG对DUMP文件进行分析以后,可以看到以下信息:
PAGE_FAULT_IN_NONPAGED_AREA (50)
Invalid system memory was referenced. This cannot be protected by try-except,
it must be protected by a Probe. Typically the address is just plain bad or it is pointing at freed memory.
Arguments:
Arg1: bc419108, memory referenced.
Arg2: 00000000, value 0 = read operation, 1 = write operation.
Arg3: f6246538, If non-zero, the instruction address which referenced the bad memory address.
Arg4: 00000002, (reserved)