范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。
电脑具体操作 电脑操作基本知识篇一
从成立那时起,电脑协会就以服务校友为宗旨,以相互学习和共同进步为主要方向,为热爱计算机的同学提供了学习的平台,为校友解决了许多计算机方面的难题和疑问,从那时起电脑协会这个名字就深深的记在了每个人的心中。
我们协会共有6个部门大家分工明确:
技术部:技术部的人员是我们协会的核心。他们的主要工作是进行义务维修;制定会员的培训;负责协会成员技术培训和指导工作;负责网络方面的开发与网站的维护工作。
秘书部:辅助会长工作,负责安排本协会的例会,考勤,会议纪录;整理协会档案和管理等。
宣传部:介绍协会的性质、宗旨、各项政策等;宣传各种活动,扩大协会的影响力。例如:画海报、设计和派宣传单等。
策划部:管理协会的整体运作,研究管理协会的各种方法,对协会中出现的各种问题提出有针对性的建议,制定协会的工作计划,策划各种活动。
公关部:协助策划部组织各种活动,协调各部门之间的关系及外校同类组织的联系事务。财务部:管理协会中的资金运作,以及每次活动的资出,协助管理财务。
各部门分工明确,互相合作,同心协力,为了大家打造一个美好丰富有趣的校园生活。协会的发展方向:充分发挥科技社会的优势,带动 会员的计算机学习热情,使电脑协会成为技术含量高,相信电协定会成为学院第一社团。为这个大家庭在各位成员的带领下除了传授每位会员最基本的操作技能之外还有多种常用软件知识,学习的氛围一直都是充满着温暖,充满着活力,在玩中学习到知识,发扬我们电脑协会乐于助人的美德。就是因为如此,我们电脑协会才能如此成功的一直发展到今天,电脑协会每一个人都同心协力的把协会搞好,不求更好,只求最好。希望协会更上一层楼。现在,新会干们正引领协会大步向前迈进。我们秉承计算机协会的宗旨和方向,去帮助需要帮助的人,为学院和国家培养人才付出一丝微薄之力。
电脑具体操作 电脑操作基本知识篇二
一,巧解任何电脑的开机密码
小小一招巧解任何电脑的开机密码,无需任何工具,无需放电,任何电脑当开机需要密码时,只需将机箱打开,把里面的声卡或其它任何一个零件拔下来,然后通电启动,主板自检后再强行关机,把拔下的零件再插上去,开机,密码自动清除,百试百灵。
二,让你的键盘会说话
长期面对无声的电脑,我们难免疲倦。如果正在输入的内容被系统一字(字母)不差地念出来,你还能在无声的疲倦中输入错误的内容吗?以windows 2000/xp中一个鲜为人知的“讲述人”为例教你diy一个完全免费的语音键盘。
在“运行”中输入“narrator”,点“确定”。点“确定”跳过后便请出本文的主角──“讲述人”。如果你的音箱已经打开,听到了什么?不想听的话就按一下ctrl键。再按任意键试试,你输入的字母键被系统用标准的美国英语读了出来,这时一个完全免费的语音键盘就诞生在你的手中了。
三,快速关闭没有响应的程序
在“开始→运行”框中输入“regedit”,打开“注册表编辑器”,在hkey-current-user下新建串值waittokillapptimeout,将其键值设为1000(ms)或更小。
允许强行关机
tcontrol paneldesktop,创建一个字符串“autoendtask”,将其键值设为“1”即可。对于真正的死机,一般只能两次按下 “ctrl+alt+del” 组合键或按主机箱上的“reset”键(因为消耗资源较少,故前者优先)来重新启动了。
系统死机时自动重新启动
进入hkey_local_machinesystemcurrentcontrolsetc-o-n-trolcrashcontrol主键,在右边的窗口中修改“autoreboot”,将其的键值改为“1”。
四,esc键不太为人知的几个妙用
对于一般用户而言,位于键盘左上方的esc键并不常用,但你知道吗?其实借助esc键还能实现不少快捷操作哦!
1.上网时,如果点错了某个网址,直接按esc键即可停止打开当前网页。
2.上网时总免不了要填写一些用户名什么的,如果填错了,按esc键即可清除所有的框内内容;而打字时,如果打错了也可以按esc键来清除错误的选字框。
3.除了“ctrl+alt+del”组合键可以调出windows任务管理器外,按下“ctrl+shift+esc”组合键一样能启动任务管理器。
4.当某个程序不处于活动状态而我们又想将其恢复为活动状态时,按“alt+esc”键即可激活该应用程序,而不必用鼠标点击程序标题栏。
5.对于存在“取消”选项的弹出窗口而言,如果你要选择取消的话,直接按esc键即可实现“取消”操作
五、加快开关机速度
在windows xp中关机时,系统会发送消息到运行程序和远程服务器,告诉它们系统要关闭,并等待接到回应后系统才开始关机。加快开机速度,可以先设置自动结束任务,首先找到hkey_current_usercontrol paneldesktop,把autoendtasks的键值设置为1;然后在该分支下有个“hungapptimeout”,把它的值改为“4000(或更少),默认为50000;最后再找到
hkey_local_machinesystemcurrentcontrolsetcontrol,同样把 waittokillservicetimeout设置为“4000”;通过这样设置关机速度明显快了不少。
六、提高宽带速度
专业版的windows xp默认保留了20%的带宽,其实这对于我们个人用户来说是没有什么作用的。尤其让它闲着还不如充分地利用起来。
在“开始→运行”中输入,打开组策略编辑器。找到“计算机配置→管理模板→网络→qos数据包调度程序”,选择右边的“限制可保留带宽”,选择“属性”打开限制可保留带宽属性对话框,选择“启用”,并将原来的“20”改为“0”,这样就释放了保留的带宽。
七、优化网上邻居
windows xp网上邻居在使用时系统会搜索自己的共享目录和可作为网络共享的打印机以及计划任务中和网络相关的计划任务,然后才显示出来,这样速度显然会慢的很多。这些功能对我们没多大用的话,可以将其删除。在注册表编辑器中找到 hkey_local_machinesofewaremicrosoftwindowscurrent versionexploreremotecomputernamespace,删除其下的(打印机)和{d6277990-4c6a-11cf8d87-00aa0060f5bf}(计划任务),重新启动电脑,再次访问网上邻居,你会发现快了很多。
八、加快启动速度
要加快windows xp的启动速度。可以通过修改注册表来达到目的,在注册表编辑器,找到
hkey_local_machine---system-----current----controlset---control----session manager----memory management-----prefetchparameters,在右边找到enableprefetcher主键,把它的默认值3改为1,这样滚动条滚动的时间就会减少;
九、自动关闭停止响应程序
有些时候,xp会提示你某某程序停止响应,很烦,通过修改注册表我们可以让其自行关闭,在hkey_current_user-----control panel----desktop中将字符健值是autoendtasks的数值数据更改为1,重新注销或启动即可。
十、加快菜单显示速度
为了加快菜单的显示速度,我们可以按照以下方法进行设置:我们可以在hkey_current_usercontrol paneldesktop下找到“menushowdelay”主键,把它的值改为“0”就可以达到加快菜单显示速度的效果。
十一、清除内存中不被使用的dll文件
在注册表的hkkey_local_machinesoftwaremicrosoftwindowscurrentversion,在explorer增加一个项alwaysunloaddll,默认值设为1。注:如由默认值设定为0则代表停用此功能。
十二、加快预读能力改善开机速度
windows xp预读设定可提高系统速度,加快开机速度。按照下面的方法进行修改可进一步善用cpu的效率:
hkey_local_machinesystemcurrentcontrolsetcontrolsessionmanagermemorymanagement],?refetchparameters右边窗口,将enableprefetcher的数值数据如下更改,如使用piii 800mhz cpu以上的建议将数值数据更改为4或5,否则建议保留数值数据为默认值即3。
十三、减少启动时加载项目
许多应用程序在安装时都会自作主张添加至系统启动组,每次启动系统都会自动运行,这不仅延长了启动时间,而且启动完成后系统资源已经被消耗掉!
启动“系统配置实用程序”,在“启动”项中列出了系统启动时加载的项目及来源,仔细查看你是否需要它自动加载,否则清除项目前的复选框,加载的项目愈少,启动的速度自然愈快。此项需要重新启动方能生效。
十四、windows卸载顽固程序精彩技巧
随着网络的普及,网上的软件也越来越多,给大家带来了极大的方便,但有一些软件以ie插件的形式强制安装,无法卸载,顽固地驻留于用户电脑之中;有些软件在安装后,并没有提供卸载程序,即使在控制面板中将其删除,仍然会有残余的线程文件向外发送信息,用户通常只能采用手工的办法去删除,这样操作起来不但麻烦,而且还容易误删系统文件。以下是一些卸载顽固程序比较另类的方法,希望对大家有所帮助。
1、巧用qq来卸载顽固程序
文件拷贝到要卸载文件的安装目录,再执行该程序即可!这种办法对于卸载那些反安装程序丢失或者损坏的文件有特效。
2、winamp的卸载程序可以安全卸载大部分应用程序
首先在“我的电脑”程序,复制并粘贴到顽固程序所在的文件夹中,双击运行该程序就可以把顽固程序卸载得干干净净了。
3、运用winrar卸载顽固程序
通过其地址栏定位到顽固程序所在文件夹,再点工具栏上的“添加”按纽,此时会弹出“档案文件名字和参数”对话框,在“存档选项”中勾选“存档后删除原文件”点击“确定”,等压缩完成后,winrar会自动删除顽固软件文件夹,然后手工将刚生成的压缩包删除,一切搞定。
4、微软反间谍软件完美卸载3721程序
,界面是英文的,文字相当于高中英语水平,慢慢看能懂,安装后按提示升级最新数据库,执行scan,后发现100多个3721,cns*的东西,选择remove,慢慢的微软反间谍软件清除3721,cns*的东西,再提示重新启动机器;第一次3721还没清除完,在/program files/下还有3721目录,先卸载网络实名,右键清除开始——程序菜单中的3721条,再运行微软反间谍软件,扫描后发现多个3721,cns*的东西,但数量比第一次少多了选择,选择remove,清除3721,cns*的东西,再重新启动机器,这样就彻底清除3721。
3、运用winrar卸载顽固程序
通过其地址栏定位到顽固程序所在文件夹,再点工具栏上的“添加”按纽,此时会弹出“档案文件名字和参数”对话框,在“存档选项”中勾选“存档后删除原文件”点击“确定”,等压缩完成后,winrar会自动删除顽固软件文件夹,然后手工将刚生成的压缩包删除,一切搞定。
4、微软反间谍软件完美卸载3721程序
,界面是英文的,文字相当于高中英语水平,慢慢看能懂,安装后按提示升级最新数据库,执行scan,后发现100多个3721,cns*的东西,选择remove,慢慢的微软反间谍软件清除3721,cns*的东西,再提示重新启动机器;第一次3721还没清除完,在/program files/下还有3721目录,先卸载网络实名,右键清除开始——程序菜单中的3721条,再运行微软反间谍软件,扫描后发现多个3721,cns*的东西,但数量比第一次少多了选择,选择remove,清除3721,cns*的东西,再重新启动机器,这样就彻底清除3721。
5、运用windows 、来彻底卸载顽固程序
首先要打开windows xp安装盘,点“support tools”,进入硬盘的support tools安装目录(x:program filessupport tools),并双击,于是就会弹出一个“windows installer clean up”窗口,显示当前已安装的所有程序列表。你从中选择顽固程序,然后单击“rmove”按钮即可卸载。如果以上方法无效,建议你用来卸载,方法是:打开注册表编辑器,定位到hkey_local_machinesoftwaremicrosoftwindowscurrentversionuninstall,在左边项中找到顽固程序的标识(例如{268723b7-a994-4286-9f85-b974d5cafc7b}),然后依次选择“开始→程序→windows support tools→command prompt”命令,在命令提示符后,输入以下命令:msizap t {顽固程序的标识},按回车后即可卸载顽固程序。
6、超级兔子优化王专业卸载功能卸载常见顽固软件及ie插件
首先选择优化王下的“卸载软件”功能,然后切换到“专业卸载”选项卡,此处提供了18种软件的卸载功能。超级兔子优化王软件会自动对系统进行检测,若装有该程序的话此处便会显示“已安装”,接着选中要卸载的软件,单击“下一步”就可以把这些程序清理干净,将它们彻底赶出系统。
十四、让墙纸设置与众不同
windows95以后的操作系统提供有三种墙纸放置方式:“居中”、“平铺”、“拉伸”,用户
可以根据个人的喜欢和图片的大小选择墙纸的放置方式。其实windows还提供了一种可以利用x、y坐标来精确放置墙纸的方式,这种方式可以把墙纸设定在一个指定的位置,配合桌面图标。
打开注册表
1、hkey_current_usercoutrol paneldesktop子键
2、在右侧窗口中新建两个字符串值:“wallpaperoriginx”(图片所在位置的x坐标)
和“wallpaperoriginy”(图片所在位置的y坐标)
3分别双击它们就可以输入坐标,需要注意的是x、y坐标的范围是有限的,这要由用户为屏幕设置的分辨率决定。如果用户的分辨率是1024*768,则x坐标的最大值不能超过
1024;而y坐标的最大值不能超过768。当然更不能是负数了。其他分辨率的用户可以据此类推。
4、重新启动计算机,就会看到以第四种方式设置的墙纸了
十六、常用快捷键
winkey+d :
这是高手最常用的第一快捷组合键。这个快捷键组合可以将桌面上的所有窗口瞬间最小化,无论是聊天的窗口还是游戏的窗口„„只要再次按下这个组合键,刚才的所有窗口都回来了,而且激活的也正是你最小化之前在使用的窗口!
winkey+f :
不用再去移动鼠标点“开始→搜索→文件和文件夹”了,在任何状态下,只要一按winkey+f就会弹出搜索窗口。
winkey+r :
在我们的文章中,你经常会看到这样的操作提示:“点击‘开始→运行’,打开‘运行’对话框„„”。其实,还有一个更简单的办法,就是按winkey + r!
alt + tab :
如果打开的窗口太多,这个组合键就非常有用了,它可以在一个窗口中显示当前打开的所有窗口的名称和图标●,选中自己希望要打开的窗口,松开这个组合键就可以了。而alt+tab+shift键则可以反向显示当前打开的窗口。
winkey+e :
当你需要打开资源管理器找文件的时候,这个快捷键会让你感觉非常“爽”!再也不用腾出一只手去摸鼠标了!
winkey指的是键盘上刻有windows徽标的键●。winkey主要出现在104键和107键的键盘中。104键盘又称win95键盘,这种键盘在原来101键盘的左右两边、ctrl和alt键之间增加了两个windwos键和一个属性关联键。107键盘又称为win98键盘,比104键多了睡眠、唤醒、开机等电源管理键,这3个键大部分位于键盘的右上方。
f1
显示当前程序或者windows的帮助内容。
f2
当你选中一个文件的话,这意味着“重命名”
f3
当你在桌面上的时候是打开“查找:所有文件” 对话框
f10或alt
激活当前程序的菜单栏
windows键或ctrl+esc
打开开始菜单
ctrl+alt+delete
在win9x中打开关闭程序对话框
delete
删除被选择的选择项目,如果是文件,将被放入回收站 shift+delete
删除被选择的选择项目,如果是文件,将被直接删除而不是
放入回收站
ctrl+n
新建一个新的文件
ctrl+o
打开“打开文件”对话框
ctrl+p
打开“打印”对话框
ctrl+s
保存当前操作的文件
ctrl+x
剪切被选择的项目到剪贴板
ctrl+insert 或 ctrl+c 复制被选择的项目到剪贴板
shift+insert 或 ctrl+v 粘贴剪贴板中的内容到当前位置
alt+backspace 或 ctrl+z 撤销上一步的操作
alt+shift+backspace
重做上一步被撤销的操作
windows键+d: 最小化或恢复windows窗口
windows键+u: 打开“辅助工具管理器”
windows键+ctrl+m
重新将恢复上一项操作前窗口的大小和位置
windows键+e
打开资源管理器
windows键+f
打开“查找:所有文件”对话框
windows键+r
打开“运行”对话框
windows键+break
打开“系统属性”对话框
windows键+ctrl+f
打开“查找:计算机”对话框
shift+f10或鼠标右击
打开当前活动项目的快捷菜单 shift
在放入cd的时候按下不放,可以跳过自动播放cd。在打开wo
rd的时候按下不放,可以跳过自启动的宏
alt+f4
关闭当前应用程序
alt+spacebar
alt+tab
alt+esc
alt+enter
间切换
print screen
alt+print screen
ctrl+f4
ctrl+f6
以跳到前
一个窗口)
在ie中:
alt+right arrow
alt+left arrow
ctrl+tab
f5
打开程序最左上角的菜单 切换当前程序 切换当前程序 将windows下运行的msdos窗口在窗口和全屏幕状态将当前屏幕以图象方式拷贝到剪贴板 将当前活动程序窗口以图象方式拷贝到剪贴板 关闭当前应用程序中的当前文本(如word中)切换到当前应用程序中的下一个文本(加shift 可显示前一页(前进键)显示后一页(后退键)在页面上的各框架中切换(加shift反向)刷新
ctrl+f5
强行刷新
桌面假ie图标的清理方法
桌面出现假ie图标,主页被修改了,但是你查看internet选项,那里显示的主页还是你自己设置的。这是怎么回事呢?一般是流氓软件通过在注册表里添加项,修改的。清理方法:
方法一:使用清理桌面
(注意,win7下没有方法一的功能了,这是倒退啊,唉。只能使用方法二,或者其它更牛的方法。)
右击桌面--属性--桌面--自定义桌面--右下角“现在清理桌面”--下一步--勾选你要清理的图标,再下一步。
(如果没有此项,在运行 中输入 ,用户配置-管理模板-桌面,找到“删除桌面清理向导”,禁用此项。
如果还是不行,去朋友的电脑 c:windowssystem32,,放到你的c:windowssystem32。看看能不能使用清理向导。
如果还没有,恭喜你,你用的是盗版或者是精简版之类的,哥用的是官方镜像激活的,就算正版咯)
方法二:
单击选择“开始”→“运行”→输入“regedit”,查找hkey_local_machinesoftwaremicrosoftwindowscurrentversionexplorerdesktopnamespace”,然后逐个点选其下各项,看哪“项”的“数据”显示为“internet exploer”,找到后记下该项名称并直接删除该项(文件夹),刷新桌面后该“病毒ie图标”清除
或者,你这样做吧,单击选择“开始”→“运行”→ 输入“regedit”,编辑-查找,然后输入流氓页面地址的关键字,例如我的主页曾被修改成了,于是我查找shanhong,但是查找无此项。我打开ie,仔细观察,发现是的,于是我就查找67881,好家伙,查到了,删除它。
如果不行,那就去杀毒吧,借助其它的删除软件不知道可以不。要用ie的话,就去c:program filesinternet explorer,发送到桌面快捷方式,用这个就可以,一般这个主页是没有改的。或者直接打开我的电脑,在地址栏输入你想要的网址也可以。
内存不能为read的几种解决方法
1、到网站上搜索一下,有专门解决内存不能为read的软件。
2、运行 输入cmd 回车在命令提示符下输入
for %1 in(%windir%system32*.dll)do /s %1
【技巧】如果怕输入错误的话,可以复制这条指令,然后在命令提示框点击左上角的c:,使用下面的“编辑-粘贴”功能就不容易输错了。在飞速滚屏完全静止之后,别着急启动其他程序,先耐心等一会儿,因为此时dll们还在找位置。直到你的指示灯不闪了再做别的。
3、可以用诺顿医生nortonwindoctor修复看看,实在不行再重装。任务栏上没有语言栏了?
如果是xp,可以单击开始-设置-控制面板-区域和语言选项-语言-详细信息-高级,不要勾选“关闭高级文字服务”。
也可以找到c:,双击就可以了。电脑蓝屏
蓝屏含义
电脑蓝屏,又叫蓝屏死机(blue screen of death,缩写为:bsod),指的是微软windows操作系统在无法从一个系统错误中恢复过来时所显示的屏幕图像。
1、故障检查信息
***stop 0x0000001e(0xc0000005,0xfde38af9,0x0000001,0x7e8b0eb4)
kmode_exception_not_handled ***其中错误的第一部分是停机码(stop code)也就是stop 0x0000001e, 用于识别已发生错误的类型, 错误第二部分是被括号括起来的四个数字集, 表示随机的开发人员定义的参数(这个参数对于普通用户根本无法理解, 只有驱动程序编写者或者微软操作系统的开发人员才懂).第三部分是错误名.信息第一行通常用来识别生产错误的驱动程序或者设备.这种信息多数很简洁, 但停机码可以作为搜索项在微软知识库和其他技术资料中使用
2.推荐操作
蓝屏第二部分是推荐用户进行的操作信息.有时, 推荐的操作仅仅是一般性的建议(比如: 到销售商网站查找bios的更新等);有时, 也就是显示一条与当前问题相关的提示.一般来说, 惟一的建议就是重启.3.调试端口告诉用户内存转储映像是否写到磁盘上了, 使用内存转储映像可以确定发生问题的性质, 还会告诉用户调试信息是否被传到另一台电脑上, 以及使用了什么端口完成这次通讯.不过, 这里的信息对于普通用户来说, 没有什么意义.有时保卫科可以顺利的查到是哪个生产小组的问题, 会在第一部分明确报告是哪个文件犯的错, 但常常它也只能查个大概范围, 而无法明确指明问题所在.由于工厂全面被迫停止, 只有重新整顿开工, 有时, 那个生产小组会意识到错误 , 不再重犯.但有时仍然会试图哄抢零件, 于是厂领导不得不重复停工决定(不能启动并显示蓝屏信息, 或在进行相同操作时再次出现蓝屏).蓝屏的处理方法
windows 2k/xp蓝屏信息非常多, 无法在一篇文章中全面讲解, 但他们产生的原因往往集中在不兼容的硬件和驱动程序、有问题的软件、病毒等, 因此首先为大家提供了一些常规的解决方案, 在遇到蓝屏错误时, 应先对照这些方案进行排除.1.重启
有时只是某个程序或驱动程序一时犯错, 重启后他们会改过自新.(注意:此时参见8.查询停机码)
2.新硬件
首先, 应该检查新硬件是否插牢, 这个被许多人忽视的问题往往会引发许多莫名其妙的故障.如果确认没有问题, 将其拔下, 然后换个插槽试试, 并安装最新的驱动程序.同时还应对照微软网站的硬件兼容类别检查一下硬件是否与操作系统兼容.如果你的硬件没有在表中, 那么就得到硬件厂商网站进行查询, 或者拨打他们的咨询电话.3.新驱动和新服务
如果刚安装完某个硬件的新驱动, 或安装了某个软件, 而它又在系统服务中添加了相应项目(比如:杀毒软件、cpu降温软件、防火墙软件等), 在重启或使用中出现了蓝屏故障, 请到安全模式来卸载或禁用它们.4.检查病毒
比如冲击波和振荡波等病毒有时会导致windows蓝屏死机, 因此查杀病毒必不可少.同时一些木马间谍软件也会引发蓝屏, 所以最好再用相关工具进行扫描检查.5.检查bios和硬件兼容性
对于新装的电脑经常出现蓝屏问题, 应该检查并升级bios到最新版本, 同时关闭其中的内存相关项, 比如:缓存和映射.另外
还应该对照微软的硬件兼容列表检查自己的硬件.还有就是, 如果主板bios无法支持大容量硬盘也会导致蓝屏, 需要对其进行升级.6、运行“sfc /scannow”来检查系统文件是否被替换,然后用系统安装盘来恢复.小提示:
bios的缓存和映射项
video bios shadowing(视频bios映射)
shadowing address ranges(映射地址列)
system bios cacheable(系统bios缓冲)
video bios cacheable(视频bios缓冲)
video ram cacheable(视频内存缓冲)
7.检查系统日志
在开始-->菜单中输入:, 回车出现“事件查看器”, 注意检查其中的“系统日志”和“应用程序日志”中表明“错误”的项.8.查询停机码
把蓝屏中密密麻麻的e文记下来, 接着到其他电脑中上网, 进入微软帮助与支持网站http://?, 在左上角的“搜索(知识库)”中输入停机码, 如果搜索结果没有适合信息, 可以选择“英文知识库”在搜索一遍.一般情况下, 会在这里找到有用的解决案例.另外, 在baidu、google等搜索引擎中使用蓝屏的停机码或者后面的说明文字为关键词搜索, 往往也会有收获.9.最后一次正确配置
一般情况下, 蓝屏都是在硬件驱动或新加硬件并安装驱动后, 这时windows 2k/xp提供的“最后一次正确配置”就是解决蓝屏的快捷方式.重启系统, 在出现启动菜单时按下f8键就会出现高级启动选项菜单, 接着选择“最后一次正确配置”.10.安装最新的系统补丁和service pack
有些蓝屏是windows本身存在缺陷造成的, 应此可通过安装最新的系统补丁和service pack来解决.蓝屏代码含义和解决方案
使用windows出现蓝色屏幕是经常的事,而且每每因为不清楚错误的来源而频繁重新安装系统,劳神费时。下列收集了一些windows死机密码,供大家参考。
1、0x0000000a:irql_not_less_or_equal
◆错误分析:主要是由问题的驱动程序、有缺陷或不兼容的硬件与软件造成的.从技术角度讲.表明在内核模式中有级别进程请求(irql)访问其没有权限访问的内存地址.◇解决方案:请用前面介绍的解决方案中的2、3、5、8、9方案尝试排除.2、0x00000012:trap_cause_unknown
◆错误分析:如果遇到这个错误信息, 那么很不幸, 应为kebudcheck分析的结果是错误原因
未知.◇解决方案:既然微软都帮不上忙, 就得靠自己了, 请仔细回想这个错误是什么时候出现的;第一次发生时你对系统做了哪些操作;发生时正在进行什么操作.从这些信息中找出可能的原因, 从而选择相应解决方案尝试排除.3、0x0000001a:memory_management
◆错误分析:这个内存管理错误往往是由硬件引起的, 比如: 新安装的硬件、内存本身有问题等.◇解决方案:如果是在安装windows时出现, 有可能是由于你的电脑达不到安装windows的最小内存和磁盘要求.4、0x0000001e:kmode_exception_not_handled
◆错误分析:windows内核检查到一个非法或者未知的进程指令,这个停机码一般是由问题的内存或是与前面0x0000000a相似的原因造成的.◇解决方案:
(1)硬件兼容有问题:请对照前面提到的最新硬件兼容性列表, 查看所有硬件是否包含在该列表中.(2)有问题的设备驱动、系统服务或内存冲突和中断冲突: 如果在蓝屏信息中出现了驱动程序的名字, 请试着在安装模式或者故障恢复控制台中禁用或删除驱动程序, 并禁用所有刚安装的驱动和软件.如果错误出现在系统启动过程中, 请进入安全模式, 将蓝屏信息中所标明的文件重命名或者删除.(3): 很有可能是第三方远程控制软件造成的, 需要从故障恢复控制台中将对该软件的服务关闭.(4)在安装windows后第一次重启时出现:最大嫌疑可能时系统分区的磁盘空间不足或bios兼容有问题.(5)如果是在关闭某个软件时出现的:很有可能时软件本生存在设计缺陷, 请升级或卸载它.5、0x00000023:fat_file_system
0x00000024:ntfs_file_system
◆错误分析:0x00000023通常发生在读写fat16或者fat32文件系统的系统分区时, 文件出现错误(这个驱动文件的作用是容许系统读写使用.(ntfs文件系统的磁盘).这两个蓝屏错误很有可能是磁盘本身存在物理损坏, 或是中断要求封包(irp)损坏而导致的.其他原因还包括:硬盘磁盘碎片过多;文件读写操作过于频繁, 并且数据量非常大或者是由于一些磁盘镜像软件或杀毒软件引起的.◇解决方案:
第一步:首先打开命令行提示符, 运行“chkdsk /r”(注:不是chkdisk, 感觉象这个, 但是它们所指的内容是不一样的)命令检查并修复硬盘错误, 如果报告存在坏道(bad track), 请使用硬盘厂商提供的检查工具进行检查和修复.第二步:接着禁用所有即使扫描文件的软件, 比如:杀毒软件、防火墙或备份工具.第三步:右击c:文件并选择“属性”, 查看其版本是否与当前系统所使用的windows版本相符合.(注:如果是xp, 应该是c:)
第四步:安装最新的主板驱动程序, 特别ide驱动.如果你的光驱、可移动存储器也提供有驱动程序, 最好将它们升级至最新版.6、0x00000027:rdr_file_system
◆错误分析:这个错误产生的原因很难判断, 不过windows内存管理出了问题很可能会导致这个停机码的出现.◇解决方案:如果是内存管理的缘故, 通常增加内存会解决问题.7、0x0000002eata_bus_error
◆错误分析:系统内存存储器奇偶校验产生错误, 通常是因为有缺陷的内存(包括物理内存、二级缓存或者显卡显存)时设备驱动程序访问不存在的内存地址等原因引起的.另外, 硬盘被病毒或者其他问题所损伤, 以出现这个停机码.◇解决方案:
(1)检查病毒
(2)使用“chkdsk /r”命令检查所有磁盘分区.(3)用memtest86等内存测试软件检查内存.(4)检查硬件是否正确安装, 比如:是否牢固、金手指是否有污渍.8、0x00000035:no_more_irp_stack_locations
◆错误分析:从字面上理解, 应该时驱动程序或某些软件出现堆栈问题.其实这个故障的真正原因应该时驱动程序本生存在问题, 或是内存有质量问题.◇解决方案:请使用前面介绍的常规解决方案中与驱动程序和内存相关的方案进行排除.9、0x0000003f:no_more_system_ptes
◆错误分析:一个与系统内存管理相关的错误, 比如:由于执行了大量的输入/输出操作, 造成内存管理出现问题: 有缺陷的驱动程序不正确地使用内存资源;某个应用程序(比如:备份软件)被分配了大量的内核内存等.◇解决方案:卸载所有最新安装的软件(特别是哪些增强磁盘性能的应用程序和杀毒软件)和驱动程序.10、0x00000044:multiple_irp_compliete_requests
◆错误分析:通常是由硬件驱动程序引起的.◇解决方案:卸载最近安装的驱动程序.这个故障很少出现, 目前已经知道的是, 在使用 /这家公司的某些软件时会出现, 文件.(作者难道不怕吃官司嘛, 把公司网址公布)11、0x00000050: page_fault_in_nonpaged+area
◆错误分析:有问题的内存(包括物理内存、二级缓存、显存)、不兼容的软件(主要是远程控制和杀毒软件)、损坏的ntfs卷以及有问题的硬件(比如: pci插卡本身已损坏)等都会引发这个错误.◇解决方案:请使用前面介绍的常规解决方案中与内存、软件、硬件、硬盘等相关的方案进行排除.12、0x00000051:registry_error
◆错误分析:这个停机码说明注册表或系统配置管理器出现错误, 由于硬盘本身有物理损坏或文件系统存在问题, 从而造成在读取注册文件时出现输入/输出错误.◇解决方案:使用“chkdsk /r”检查并修复磁盘错误.13、0x00000058:ftdisk_internal_error
◆错误分析:说明在容错集的主驱动发生错误.?
◇解决方案:首先尝试重启电脑看是否能解决问题, 如果不行, 则尝试“最后一次正确配置”进行解决.14、0x0000005e:critical_service_failed
◆错误分析:某个非常重要的系统服务启动识别造成的.◇解决方案:如果是在安装了某个新硬件后出新的, 可以先移除该硬件, 并通过网上列表检查它是否与windows 2k/xp兼容, 接着启动电脑, 如果蓝屏还是出现, 请使用“最后一次正确配置”来启动windows, 如果这样还是失败, 建议进行修复安装或是重装.15、0x0000006f:session3_initialization-failed
◆错误分析:这个错误通常出现在windows启动时, 一般是由有问题的驱动程序或损坏的系统文件引起的.◇解决方案:建议使用windows安装光盘对系统进行修复安装.16、0x00000076rocess_has_locked_pages
◆错误分析:通常是因为某个驱动程序在完成了一次输入/输出操作后, 没有正确释放所占有的内存
◇解决方案:
第一步:点击开始-->运行:regedt32, 找到[hklmsystemcurrentcontrol setcontrolsession managermemory management], 在右侧新建双字节值“tracklockedpages”, 值为1.这样windows便会在错误再次出现时跟踪到是哪个驱动程序的问题.第二步:如果再次出现蓝屏, 那么错误信息会变成:stop:0x0000000cb(0xy,0xy,0xy,0xy)driver_left_locked_pages_in_process其中第四个“0xy”会显示为问题驱动程序的名字, 接着对其进行更新或删除.第三步:进入注册表, 删除添加的“tracklockedpages”.17、0x00000077:kernel_stack_inpage_error
◆错误分析:说明需要使用的内核数据没有在虚拟内存或物理内存中找到.这个错误常常是磁盘有问题, 相应数据损坏或受到病毒侵蚀.◇解决方案:使用杀毒软件扫描系统;使用“chkdsk /r”命令检查并修复磁盘错误, 如不行则使用磁盘厂商提供的工具检查修复.18、0x0000007a:kernel_data_inpage_error
◆错误分析:这个错误往往是虚拟内存中的内核数据无法读入内存造成的.原因可能是虚拟内存页面文件中存在坏簇病毒、磁盘控制器出错、内存有问题.◇解决方案:首先用升级为最新病毒库杀毒软件查杀病毒, 如果信息中还有0xc000009c或0xc000016a代码, 那么表示是坏簇造成的, 并且系统的磁盘检测工具无法自动修复, 这时要进入“故障恢复控制台”, 用“chkdsk /r”命令进行手动修复.19、0x0000007b:inacessible_boot_device
◆错误分析:windows在启动过程中无法访问系统分区或启动卷.一般发生在更换主板后第一次启动时, 主要是因为新主板和旧主板的ide控制器使用了不同芯片组造成的.有时也可能是病毒或硬盘损伤所引起的.◇解决方案:一般只要用安装光盘启动电脑, 然后执行修复安装即可解决问题.对于病毒则可使用dos版的杀毒软件进行查杀(有kv2005dos版下载).如果是硬盘本身存在问题, 请将其安装到其他电脑中, 然后使用“chkdsk /r”来检查并修复磁盘错误.20、0x0000007e:system_thread_exception_not_handled
◆错误分析:系统进程产生错误, 但windows错误处理器无法捕获.其产生原因很多, 包括:硬件兼容性、有问题的驱动程序或系统服务、或者是某些软件.◇解决方案:请使用“事件查看器”来获取更多的信息, 从中发现错误根源.(发现好像不是解决哦, 看来这里大家要自力更生了!)21、0x0000007f:unexpected_kernel_moed_trap
◆错误分析:一般是由于有问题的硬件(比如:内存)或某些软件引起的.有时超频也会产生这个错误.◇解决方案:用检测软件(比如:memtest86)检查内存, 如果进行了超频, 请取消超频.将pci硬件插卡从主板插槽拔下来, 或更换插槽.另外, 有些主板(比如:nforce2主板)在进行超频后, 南桥芯片过热也会导致蓝屏, 此时为该芯片单独增加散热片往往可以有效解决问题.22、0x00000080:nmi_hardware_failure
◆错误分析:通常是有硬件引起的.(似乎蓝屏与硬件错误有不解之缘)
◇解决方案:如果最近安装了新硬件, 请将其移除, 然后试试更换插槽和安装最新的驱动程序, 如果升级了驱动程序, 请恢复后原来的版本;检查内存金手指是否有污染和损坏;扫描病毒;运行“chkdsk /r”检查并修复磁盘错误;检查所有硬件插卡已经插牢.如果以上尝试都无效果, 就得找专业的电脑维修公司请求帮助了.23、0x0000008e:kernel_mode_exception_not_handled
◆错误分析:内核级应用程序产生了错误, 但windows错误处理器没有捕获.通常是硬件兼容性错误.◇解决方案:升级驱动程序或升级bios.24、0x0000009c:machine_check_exception
◆错误分析:通常是硬件引起的.一般是因为超频或是硬件存在问题(内存、cpu、总线、电
源).◇解决方案:如果进行了超频, 请降下cpu原来频率, 检查硬件.25、0x0000009friver_power_state_failure
◆错误分析:往往与电源有关系, 常常发生在与电源相关的操作, 比如:关机、待机或休睡.◇解决方案:重装系统, 如果不能解决, 请更换电源.26、0x000000a5:acpi_bios_error
◆错误分析:通常是因为主板bios不能全面支持acpi规范.◇解决方案:如果没有相应bios升级, 那么可在安装windows 2k/xp时, 当出现“press f6 if you need to install a third-party scsi or raid driver”提示时, 按下f7键, 这样windows便会自动禁止安装acpi hal, 而安装 standard pc hal.27、0x000000b4:video_driver_init_failure
◆错误分析:这个停止信息表示windows因为不能启动显卡驱动, 从而无法进入图形界面.通常是显卡的问题, 或者是存在与显卡的硬件冲突(比如:与并行或串行端口冲突).◇解决方案:进入安全模式查看问题是否解决, 如果可以, 请升级最新的显卡驱动程序, 如果还不行, 则很可能是显卡与并行端口存在冲突, 需要在安全模式按下win+break组合键打开“系统属性”, 在硬件-->设备管理器中找到并双击连接打印的lpt1端口的选项, 在“资源”选项卡中取消“使用自动配置”的勾选, 然后将“输入/输出范围”的“03bc”改为“0378”.28、0x000000be:attempted_write_to_readonly_memory
◆错误分析:某个驱动程序试图向只读内存写入数据造成的.通常是在安装了新的驱动程序, 系统服务或升级了设备的固件程序后.◇解决方案:如果在错误信息中包含有驱动程序或者服务文件名称, 请根据这个信息将新安装的驱动程序或软件卸载或禁用.29、0x000000c2:bad_pool_caller
◆错误分析:一个内核层的进程或驱动程序错误地试图进入内存操作.通常是驱动程序或存在bug的软件造成的.◇解决方案:请参考前面介绍的常规解决方案相关项目进行排除.30、0x000000ceriver_unloaded_without_cancelling_pending_operations
◆错误分析:通常是由有问题的驱动程序或系统服务造成的.◇解决方案:请参考前面介绍的常规解决方案相关项目进行排除.31、0x000000d1river_irql_not_less_or_equal
◆错误分析:通常是由有问题的驱动程序引起的(比如罗技鼠标的logitech mouseware 9.10和9.24版驱动程序会引发这个故障).同时,有缺陷的内存、损坏的虚拟内存文件、某些软件(比如多媒体软件、杀毒软件、备份软件、dvd播放软件)等也会导致这个错误.◇解决方案:检查最新安装或升级的驱动程序(如果蓝屏中出现“”等类似文件名, 可以非常肯定是驱动程序问题)和软件;测试内存是否存在问题;进入“故障恢复控制台”, 所在分区, 执行“del ”命令, 将页面文件删除;然后在页面文件所在分区执行“chkdsk /r”命令;进入windows后重新设置虚拟内存.如果在上网时遇到这个蓝屏, 而你恰恰又在进行大量的数据下载和上传(比如:网络游戏、bt下载), 那么应该是网卡驱动的问题, 需要升级其驱动程序.32、0x000000ea:thread_stuck_in_device_driver
◆错误分析:通常是由显卡或显卡驱动程序引发的.◇解决方案:先升级最新的显卡驱动, 如果不行, 则需要更换显卡测试故障是否依然发生.33、0x000000ed:unmountable_boot_volume
◆错误分析:一般是由于磁盘存在错误导致的, 有时也建议检查硬盘连线是否接触不良, 或是没有使用合乎该硬盘传输规格的连接线, 例如ata-100仍使用ata-33的连接线, 对低速硬盘无所谓, 但告诉硬盘(支持ata-66以上)的要求较严格, 规格不对的连线有时也会引起这类没办法开机的故障.如果在修复后, 还是经常出现这个错误, 很可能是硬盘损坏的前兆.◇解决方案:一般情况下, 重启会解决问题, 不管怎么样都建议执行“chkdsk /r”命令来检查修复硬盘 34、0x000000f2:hardware)interrupt_storm
◆错误分析:内核层检查到系统出现中断风暴, 比如:某个设备在完成操作后没有释放所占用的中断.通常这是由缺陷的驱动程序造成的.◇解决方案:升级或卸载最新安装的硬件驱动程序.35、0x00000135:unable_to_locate_dll
◆错误分析:通常表示某个文件丢失或已经损坏, 或者是注册表出现错误.◇解决方案:如果是文件丢失或损坏, 在蓝屏信息中通常会显示相应的文件名, 你可以通过网络或是其他电脑找到相应的文件, 并将其复制到系统文件夹下的system32子文件夹中.如果没有显示文件名, 那就很有可能是注册表损坏, 请利用系统还原或是以前的注册表备份进行恢复.36、0x0000021a:status_system_process_terminated
◆错误分析:用户模式子系统, 例如winlogon或客服服务运行时子系统(csrss)已损坏, 所以无法再保证安全性, 导致系统无法启动.有时, 当系统管理员错误地修改了用户帐号权限, 导致其无法访问系统文件和文件夹.◇解决方案:使用“最后一次正确的配置”, 如果无效, 可使用安装光盘进行修复安装.37、stop 0xc0000221 or status_image_checksum_mismatch
◆错误分析:通常是由于驱动程序或系统dll文件损坏造成的.一般情况下, 在蓝屏中会出现
文件名称
.sys文件;
3.将其重命名,如:;
4.重启。[5]
----------------
人有的时候都会闹情绪,更何况是机器呢。windows有时候也会跟我们闹闹情绪,小则是“应用程序遇到问题需要关闭”,搞不好还可能给您脸色看看。但是,这脸色可不是红的白的,而是一张“蓝脸”,您见过吗?首先,我们介绍以下三个重要的问题:
一、到底什么是“蓝脸”?
这里指的就是大家经常称之为“蓝屏”、“系统崩溃”之类的东西,外国人又叫它bsod(blue screen of death)。从专业的角度讲,这一术语被定义为“是指当microsoft windows崩溃或停止执行(由于灾难性的错误或者内部条件阻止系统继续运行下去)时所显示的蓝色屏幕”。而我们平常所说的“系统崩溃(system crash)”或者“内核错误(kernel error)”抑或“停止错误(stop error)”的专业术语为“程序错误检查(bug check)”。
二、为什么一定要给您“蓝脸”?
一旦遇上系统蓝屏崩溃,大多数的人都会以为windows不行了所以就瘫痪了,有点罪魁祸首是windows或者windows不够强悍、不够稳定的意思。可是,windows在默默地喊冤您知道吗?要知道,每当有内核模式设备驱动程序或者子系统引发了一个非法异常,windows就会面临这个艰难的抉择,虽然windows最终还是选择了崩溃,但是这并不代表它就不能够忽略该异常,让设备驱动程序或者子系统继续往下执行。windows之所以要选择“亡我”,是因为它不知道该错误是否能被隔离出来从而不伤害系统的其它程序与数据,或者该组件将来是否能够恢复正常,而且,windows深知,这个异常更有可能来源于更深层的问题,比如由于内存的常规破坏(general corruption),或者由于硬件设备不能正常工作。允许系统继续运行可能导致更多的异常,而且,存储在磁盘或其他外设中的数据可能也会遭受破坏。windows意识到,这样做的风险太大了,为了您的程序、数据安全与完整,为了将您的损失在第一时间减小至最低,windows于是忍痛做出了自我牺牲„„
三、怎样给出“蓝脸”?
当系统检测到引发崩溃的致命错误时,windows自己执行崩溃函数“kebugcheckex”。该函数接受一个停止代码(stop code,也称为错误检查码“bug check
code”),以及四个根据停止代码来解释的参数(下文中会有图例)。在调用kebugcheckex之后,首先该系统所有处理器上的所有中断将被屏蔽,然后系统将显示器切换到低分辨率的vga图形模式(因为这是所有windows平台显卡均支持的通用模式),绘制一个蓝色背景,然后显示此停止代码,并且后面紧跟一些对用户诊断错误有帮助的关键信息。最后,kebugcheckex调用所有已注册的设备驱动程序错误检查回调函数(这种回调函数通过调用keregisterbugcheckcallback函数来注册),从而让这些驱动程序停止运行它们所支配的设备(有系统数据结构已经被破坏得太严重以至于蓝屏都显示不出来的可能性)。
以下情况会引发系统蓝屏崩溃:
1、运行在内核模式下的设备驱动程序或者操作系统函数引发了一个未被处理的异常,比如内存访问违例(由于企图写一个只读页面或者企图读一个当前未被映射的内存地址(即无效地址)而引起)。
2、调用一个内核支持例程导致了重新调度,比如当中断请求级别(irql)为dpc/dispatch级别或更高级别时等待一个标记为需要等待的调度对象。
3、在dpc/dispatch级别或更高的irql级别时由于数据存在于页面文件或内存映射文件中而发生了页面错误(page fault)。(这将要求内存管理器必须等待一个i/o操作发生。但正如上面一项所说,在dpc/dispatch级别或更高irql级别上不能够进行等待,因为那将要求一次重新调度)。
4、当检测到一个内部状态表明数据已遭受破坏或者在保证数据不被破坏的情况下系统无法继续执行时,设备驱动程序或操作系统函数明确地要求系统崩溃(通过调用系统函数kebugcheckex)。
5、发生硬件错误,比如处理器的计算机检查异常功能(machine check)报告有异常或者发生不可屏蔽中断(nmi)。
在了解以上三点知识之后,相信您对windows的大无畏牺牲精神会有所赞赏,也会原谅它的“蓝脸”了。其实,在绝大多数情况下均是第三方设备驱动程序导致了windows的崩溃。对于windows xp用户提交给微软在线崩溃分析(microsoft oca, microsoft online crash analysis)站点的内存转储文件,微软对引起崩溃的原因进行了统计分类,如下图所示:(数据于2004年4月份生成)。
既然windows向我们露出了无奈的“蓝脸”,我们就应该打破沙锅问到底,尽早将引发系统崩溃的罪魁祸首缉拿归案,让我们的系统早日康复。下面,我们来看看windows想通过这张“蓝脸”告诉我们些什么。
如上图所示,这是一张显示了所有参数的蓝屏图像。当然,我们所遇到的蓝屏图像与之可能存在差异,比如少了一些信息等,但是大致是相同的,我们就以它为例进行全面地阐述。
首先,我们看看图中用数字1标注的区域,这里列出了传递给kebugcheckex函数的停止代码和四个参数。此图中的停止代码为0x000000d1,四个参数为后面括号内的用逗号分隔的四段16进制数字;接下来,我们来看看图中用数字2标注的区域,这里显示的是该停止代码0x000000d1对应的英文解释;最后,我们看看图中用数字3标注的区域,这个区域当且仅当停止代码的四个参数中的一个参数包含了操作系统或设备驱动程序代码的地址时才会显示,显示的内容为、该地址所处模块的基地址以及日期戳。如此例中,该设备驱动程序的文件名为“”。
这些信息对我们排错有何作用呢?如果上图中的区域3出现了,那是最好的结果了,因为您直接就看到了罪魁祸首——“”文件。但是,区域3往往是不出现的,那么我们就要在microsoft的在线帮助和支持(http://)中查找该停止代码等信息或者使用我们的利器——windbg进行手动分析了。笔者推荐后者,因为同一个停止代码可能由各种各样的驱动程序错误造成,得到了停止代码并不等于得到了问题文件名称,另外,微软的在线帮助和支持中不是所有的错误都能够搜索到,而windbg正好克服了这两个弱点,直接能够抓出罪魁祸首文件,让您痛快将其斩首。
windbg是免费软件,其微软官方下载地址是http:///whdc/devtools/debugging/,具体项目为install debugging tools for windows 32/64-bit version。
使用windbg分析崩溃时的内存转储文件的前提是您要让系统在崩溃时自动生成一个内存转储文件,做法如下:
1、单击开始,然后单击运行。
2、键入 control
复制代码,然后单击确定。您将会打开系统属性,请切换到高级选项卡。结果如下图所示:
3、在高级选项卡上,在启动和故障恢复部分中单击设置。这将打开启动和故障恢复对话框,如下图所示:
4、在写入调试信息列表中,选择“小内存转储(64 kb)”或“核心内存转储”,这样系统在崩溃时将会自动生成对应的内存转储文件。如果您不想让蓝屏只闪烁一下,而是想看清楚它直到您手动重新启动计算机,请清除系统失败部分中自动重新启动(r)项目前的复选框。然后单击确定。
5、在启动和故障恢复对话框中,单击确定。
6、单击确定关闭系统属性对话框。
7、在系统设置更改对话框中,如果要立即重新启动计算机,则单击是;如果要稍后重新启动计算机,则单击否。
注:
vista用户请类似操作。 对于原版操作系统,以上设置是默认的(除了禁止自动重新启动)。 对于第4点中的写入调试信息列表内容,现给出以下参照释义:
(以上三种转储文件的大小依次增大,关于三者的比较不在本文讨论范围之内,笔者仅推荐设置为“小内存转储”或者“核心内存转储”,一般性错误“小内存转储”就足够了,如不能完好分析请选择“核心内存转储”。为了数据的丰富性,您也可以直接选择“核心内存转储”,但笔者强烈不推荐完全内存转储。)
值得注意的是,为了确保崩溃时自动生成内存转储文件,您可能还须启用虚拟内存页面文件。特别地,当您选择记录核心内存转储时,您必须启用虚拟内存页面文件,而且由于核心内存转储文件的大小取决于该机器上操作系统和所有活动驱动程序已经分配的内核模式内存的数量,因此没有很好的办法来预测内核内存转储的大小。下表仅给出该情况下的参考虚拟内存大小设置值:
另外,除了页面文件占用的磁盘空间,内存转储文件(*.dmp)的生成位置所在的磁盘还要有足够的空闲空间来提取这个转储文件,否则一样会“生成不了”(实际上是丢失了)。
设置好这些之后,一旦您的系统发生蓝屏崩溃,系统就会在以上设置中选中的相应内存转储文件类型下对应的目录处生成转储文件。您所要做的就是立刻拿出利器——启动windbg进行分析。
笔者在此将结合一个实例进行详细说明,过程中包含了windbg调试蓝屏用到的一些命令,这些命令将不再额外整理,请于阅读过程中注意识记。
首先,您要配置windbg将要使用的调试符号文件(symbol file)的位置。什么是调试符号文件呢?符号文件随dll文件或者exe文件建立时产生,提供包含在可执行文件和动态链接库(dll)中的函数的占位空间。此外,符号文件还可以表示达到失败点的函数调用路线图。当我们使用各种microsoft工具调试应用程序时,必须拥有符号信息,这样才能正确分析出问题根源。那我们该如何设置调试符号文件的位置呢?我们既可以从微软官网下载完整的符号文件包(同位于windbg下载页面),也可以使用微软的符号文件服务器(microsoft symbol server)。笔者推荐后者,因为一次分析所要用到的符号文件局限于有限的几个而已,使用后者可以让程序自动下载,既节省时间,又可以确保符号文件是最新的并且是正确的。在windbg中点击“file”菜单,选择“symbol file path „”,在打开的对话框中输入
srv*downstreamstore*http:///download/symbols
复制代码
后点击“ok”按钮即可。当然,还有一步就是再次点击“file”菜单,选择“save workspace”来保存当前的设置。
设置了符号文件之后,您就可以进行内存转储文件的分析了。同样点击“file”菜单,这次要选择“open crash dump
„”,然后通过文件打开对话框打开生成的待分析的内存转储文件。本例中设置的是核心内存转储类型,于是应该定位至“%systemroot%”(即系统盘windows文件夹下),文件。但是笔者已经事先将其转移至“e:memory ”,因此在后续的图片中,您看到的是这个地址。此时windbg会滚动显示一些信息并且会稍有挂起的感觉,直到从微软符号文件服务器下载完分析这个崩溃文件所需要的所有符号文件。
在上图中,我们看到就是这个打开的调试器命令窗口(debugger command window)(已经将符号文件加载完毕,待命),我们先看看位于底部的区域6,这个小的长方条就是windbg的命令输入处(command entry),它又分为两个区域,左边显示“0: kd>”的是提示区,右边空白区是命令输入区。当刚打开这个窗口而符号文件尚未下载/加载完毕时,提示区域会什么都不显示,而命令输入区域将显示“debuggee
not connected”。直到符号加载完毕,窗口中显示出最后一行“followup: machineowner”才会变为空闲状态。在空闲状态时,它将显示为与上图中类似的模样。为什么说类似呢?因为这个空闲待命提示根据调试类型、计算机处理器硬件配置不同,比如此例中,进行的是内核调试,于是显示“kd>”(kernel debug),系统为多(核)处理器,因此在“kd>”之前还显示一个“0:”,表明当前位于编号为0的处理器。在执行了某个命令之后,如果命令需要处理的任务较多(如“!analyze
-v”),提示区域将显示为忙碌状态的“*busy*”,一旦显示为这个状态,您不论输入什么命令都不会立即执行,而是等待变为空闲状态时延缓执行。
如上图所示,图中区域1处将显示打开的这个内存转储文件的物理路经;区域2处显示的则是当前加载的符号文件的位置,本例中表明是从微软服务器下载;区域3共有三行,显示的为系统信息,第一行表明了系统为windows xp,内核版本为2600(sp3),多处理器(2颗),32位,第二行表明了系统类型为nt系统,客户端系统,第三行表明系统的详细版本标识;区域4共两行,第一行表明该内存转储文件生成的时间,也就是系统崩溃的具体时间,本例中(这是去年12月得到的一个崩溃转储文件,现用作本例进行说明)为星期六(sat),12月(dec)27日,22:56:31.062,2008年,格林尼治标准时间东八区(gmt+8),第二行显示的是崩溃时自系统启动以来,系统共运行了0天4小时5分15.797秒。区域5是很关键的错误信息,它的第一行仅在加载符号文件遇到错误时显示,此例中,它告诉我们“文件,模块已经加载完毕但却不能够为其加载符号文件”,如果之前配置了正确的符号文件路径,不是微软公司的文件,而是第三方驱动程序文件,这很可能是引起错误的原因,值得关注但须进一步分析。区域5的第二行是windbg自动分析的结果,它告诉我们,引起崩溃的原因(probably caused by:)文件。一般情况下,这就是引起错误的罪魁祸首了,但是也有不少的例外,最典型的就是显示一个微软自己的文件在此处,您可要注意了,为了避免枉杀无辜,最好进一步分析来看看都有哪些模块牵扯在崩溃的最后一刻,这样就能够保证审判无误了!进一步分析的命令可以从“!analyze-v”开始。
我们既可以在命令输入区域手动键入命令
!analyze-v
复制代码,也可以在上图中的区域7所示位置单击蓝色的这个命令。之后,提示区域将显示为“*busy*”,windbg将分析一段时间直到将结果显示完毕并再次转为空闲状态。下面我们根据一张例图阐释执行“!analyze-v”后显示的各种结果:
windbg经过自动的分析,可能会显示上图中区域1处所示第一行的错误检查说明(bug check interpretation),而第二行则给出了详细的解释,从图中信息看得出,此例错误由于“驱动程序在队列工作项目完成之前卸载”造成的。这个“driver_unloaded_without_cancelling_pending_operations”就应该是显示在蓝屏上方的错误说明字样,后面的arguments1~4就是蓝屏时停止代码后面的四个参数。图中区域2所示的bugcheck_str是windbg中分了类别的错误检查(bug check)的一项,此例中为0xce,也是停止代码的分类简写,我们在命令输入区执行
.bugcheck
复制代码
命令,可以得到停止代码及其参数,这和上图的区域
1、蓝屏上的信息是一致的。本例中可以得到如下结果:
0: kd>.bugcheck
bugcheck code 000000ce
arguments bacb0a4e 00000008 bacb0a4e 00000000
我们在bugcheck code值前补上“0x”就可以得到蓝屏上的信息“***stop: 0x000000ce(bacb0a4e, 00000008, bacb0a4e, 00000000)”。当然,关于这个错误如果您想了解更多,一个是可以在微软在线帮助和支持网站上搜索字符串“0x000000ce”,再就是可以利用上图中区域2的bugcheck_str值“0xce”执行
.hh bug check 0xce
复制代码
命令,在打开的窗口左栏右下角点击“display”按钮。如果要在windbg中显示一个停止代码或者错误检查类的详细说明(以此错误为例),键入命令
!analyze-show 0x000000ce
复制代码
或者
!analyze-show 000000ce
复制代码
,也可以是
!analyze-show 0xce
复制代码
。区域3中显示的就是二审判决的重要信息——线程堆栈信息。特别注意红色框内的部分,第一行是“warning: frame ip not in any known ing frames may be wrong.”意思就是“警告:堆栈帧ip(instructionptr,仅x86处理器,用于决定帧的堆栈回朔的指令指针)不存在于任何已知的模块中,下面的帧可能出现错误”。这个意思的解释已超出本文讨论范围,笔者仅告诉大家,这行文字下面的一行右侧的模块是系统蓝屏崩溃时刻使用的最后一个模块(除了windows内核最后调用kebugcheckex牺牲自己,就是警告文字上方的三行),往往就是它引起了崩溃!我们来细看。大家如果了解了堆栈的数据结构或是windows内存分配机制就应该知道,windows为线程分配额外内存时是从高地指向低地址进行的,就是说,蓝色区域3中的堆栈信息我们得倒过来由下往上看,这样才是系统崩溃之前的一刻内核态函数的调用和传递情况,比如此例,系统内核执行体(nt!,)通过函数iopfcalldriver调用了basetdi,(unloaded_字样表示未加载),再然后就蓝屏了。那么在这最后一刻就涉及到了两个非windows内核的模块——basetdi以及。之所以要进行这个“二审判决”,就是要避免一种情况——与basetdi是来自两个公司或者两个软件的模块,是没有问题的,传递了格式错误或者已被破坏的、或者非法的参数信息,接受此无效数据而引发了崩溃。如果我们不看线程栈,就根据之前的“probably cause by:”进行判决,我们很有可能枉杀无辜而让凶手逍遥法外。只有通过线程栈我们才能发现另一个驱动程序basetdi也被牵连进来。(在应用程序崩溃不致系统崩溃的调试分析中,由于处于用户态,windbg自动分析结果中的“probably cause by:”几乎都是错误的。在这种情况下,使用!thread命令是不能显示出任何信息的,因为这个命令仅对内核态的崩溃调试有效,然而kb命令也显示不出有用的信息,只有用“~*kb”来显示详细的全部线程栈才可能发现问题根源,有的时候还需配合其他命令,本文不作讨论)
当然,如果您熟练以后,觉得没有必要使用“!analyze-v”命令的话,可以直接使用
!thread
复制代码
或者
kb
复制代码
命令显示出核心的线程栈信息来二审判决。现在好了,犯罪嫌疑人目标锁定在basetdi和身上。现在,我们来看看它们究竟是什么、是哪个公司、哪个程序的模块。(从之前不能够自动从微软服务器为他们加载符号文件就可以知道,它们一定都是第三方驱动程序)
使用命令
lm kv m basetdi*
复制代码
(使用lm(列出模块)命令和内核k选项、详细v选项以及参数m,配合包含通配符*的字符串basetdi,来列出当时已加载于内核模式的包含字符basetdi的所有驱动文件详细信息。使用通配符来取代完整的文件名后缀可以避免信息的局限性,借此也许可以发现多个相关的模块以提供更多诊断线索),我们得到下图结果:
从图中蓝色框选部分,我们可以看出,的文件,这个文件的路径位于system32drivers下,属于名称为“瑞星个人防火墙”(productname:
rising pfw, pfw=personal firewall)的程序组件,软件公司注册商标为“瑞星”(legaltrademarks:
rising)。文件的这些英文描述信息如果您不知道,可以百度一下。当然,没有被笔者高亮显示的信息(如文件时间戳、版本、校验和等等)也是非常有用的,比如百度一下文件版本,也许您会发现该软件已经提供了更新的解决此问题的文件。同样,我们使用
lm kv m hookurl*
复制代码
来显示当时内核态下包含hookurl的文件及其详细信息。结果如下:
图示是一个不令人满意的结果,因为如高亮部分所示,这个模块未被加载,因此没有信息被记录。不过我们有百度,不用急,百度一下你就知道。之后,发现这个也是瑞星个人防火墙的文件。其实这个案例就是著名的“瑞星个人防火墙跨版本升级到2009版时引发蓝屏”事件。您可以通过关键字“瑞星防火墙2009升级造成蓝屏”进行百度搜索。到目前为止,瑞星官方都没有任何针对此事件的正式答复,虽然不是每个用户都出现此问题,但是非常多的用户都报告了此问题,瑞星也不承认这个是软件缺陷,只有官方卡卡论坛上有一个不知道是不是工作人员的人发帖要求大家遇到蓝屏就上传内存转储文件。说到这里,我对瑞星又要失望了,但是通过这个可见蓝屏内存转储文件的分析是多么的有用!
在这里,我还要给出两个要得到更多信息时可能会使用到的命令,一个是
!process 0 0
复制代码,它可以列出当时运行着的所有进程的技术信息;另一个则是
!vm
复制代码,它能够显示出当时的虚拟内存使用情况,这对于分析系统是否耗尽了虚拟内存、换页内存池或非换页内存池,并结合进程列表找到可能的内存泄漏错误非常有用,不过已超出了本文的讨论范围。
最后,我们来看看以下的两种特殊情况该如何使用windbg进行调试分析:
第一种情况是系统挂起,也就是“死机”、“系统没有响应”,在这种情况下,系统是根本无法自动生成内存转储文件的,而且您也不可能操作本地软件来查明是什么挂起了系统,这个时候我们需要手动让系统崩溃,以生成内存转储文件。具
【本文地址:http://www.xuefen.com.cn/zuowen/2998997.html】