|
一切都很完美;你已升级到了Windows 7.系统打上了全部的补丁,一切 驱动程序都更新了,安全很到位,说不定你甚至还有新硬件……可是同样的蓝屏死机(BSOD)还是在新的高清屏幕上奚落你。
好音讯 是,你在大多数状况 下可以快速 解决这个问题,只需 使用Windows调试工具。这个工具简单又免费。
早在Window XP盛行的年代(2005年),我们写了一份教程,介绍如何解决Windows崩溃(《如何在数分钟内解决Windows 崩溃》)。这篇是最新版,帮助你成为家里或办公室解决系统崩溃的高手。
针对不一样的Windows版本,解决崩溃的方法是否也不一样?
微软公司的主要开发担任 人Andre Vachon表示,解决系统崩溃的同一种方法适用于许多的Windows版本。"微软Windows的最新版本使用同样的操作系统内核,同样的主界面,驱动程序在服务器和客户机上工作,调试器使用同样的调试文件。此外,我们都使用同样的代码库和源代码树来编译32 版本和64位版本。"
考虑到这一点,为了简单起见,我会以Windows 7为例。但是 ,这些要点不只 适用于其他当前的版本,大部分还适用于像Windows 2000这么长远 的老版本。
Windows 7为什么会崩溃?
Windows在不断成熟,随之变得更稳定。而且,在这款操作系统从16位变成32位,再变成现在64位的过程中,功能特性也变得更丰富,占用的资源也要多得多--它实际上更难崩溃。
虽然 如此,它确实 会崩溃。但是 ,这类系统问题 的原因自XP时期 以来就没有发作 化变化。
Windows采用了一种保护机制,让多个应用程序可以同时运行,又不会相互 干扰。这种机制名为用户模式(User Mode)或内核模式(Kernel Mode),最初名叫环保护(Ring Protection)计划 。
内核模式
内核模式(环0)软件可以不受限制地全面访问硬件。这种模式下运行的软件通常最值得信任 ,由于 它可以执行任何指令,访问系统中的任何地址。内核模式下的崩溃是彻底的系统问题 ,需要. 重新启动。你在这里可以找到操作系统的内核代码和大多数驱动程序。
用户模式
用户模式(环3)软件无法直接访问硬件,也无法随意访问任何地址。它必须通过调用应用编程接口(API),来传送指令(可能更精确 的说法是恳求 )。这项特性可以 保护系统的整体运行,不管应用程序是进行错误的调用,还是访问不合适的地址。用户模式下的崩溃通常是可以恢复的,需要. 重新启动应用程序,但不需要. 重新启动整个系统。你在这里可以找到在电脑上运行的大多数代码,包括Word、单人纸牌戏和一些驱动程序等。
由于往常 大多数软件在用户模式下运行,应用程序毁坏 系统级软件,以及毁坏 其他应用程序的时机 完全变少了。可是,并不保护内核模式软件不受其他内核模式软件的影响。比方 说,假如 某个视频驱动程序错误地访问了分配给另一个程序的某部分内存(或者没有标为驱动程序可以访问的内存),Windows就会终止整个系统。这种机制叫作错误检查(Bug Check),众所周知的蓝屏死机就会显示。
透过数字看崩溃原因
虽说数字不一样,但相差不大。假如 汇总几个来源报告的数据(包括自己 自己. 20年来在预防和解决崩溃方面的经历 数据),一个趋向 浮出水面:大约70%的Windows 崩溃是由内核模式下运行的第三方驱动程序惹起 的;15%是由未知要素 惹起 的;10%是由有缺陷的硬件(其中一半多归咎于不良内存)惹起 的,只有约5%是由有缺陷的微软代码惹起 的。
并不广为人知的重要一点是,大多数崩溃是重复性崩溃。之所以这样,是由于 大多数管理员都无法立刻 解决系统崩溃。因此 遗憾的是,那些崩溃常常 一再发作 。这些事情 在得到解决之前,多半会在几星期内、许多状况 下会在几个月内重复发作 。当崩溃初次 出现时,假如 使用本文介绍的方法来解决,就能避免 崩溃以后屡次 出现。 |
|
|
|
|
|
|