时间:2011-10-21 09:45:39 作者:不后悔 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20111021/1857.html 手机查看 评论 反馈
总有人在抱怨Windows的关机是如何的缓慢,实际上Windows本身的关机速度已经很快的了。问题主要出在用户安装的程序上面,由于一些设计不好的应用程序或驱动程序的问题,造成了关机上的延迟。针对这个问题,网络上出现了类似于下面的技巧: 打开任务管理器,按住“Ctrl”键的同时,再单击任务管理器窗口中的菜单“关机→关闭”命令时,系统会快速地被关闭,同样,在按住“Ctrl”键时,选择其他命令(例如重新启动)时,也会达到快速执行该命令的目的。 同时,也出现了像SuperFast Shutdown一样的快速关机软件。 在讨论上述技巧原理之前,先说说Windows是如何关机的:Windows关机步骤涉及到Windows多个组件和多个过程,简单的说,Windows的关机步骤不是大多数人认为的那么简单。基本的过程是这样的: 1. 用户发起关机指令以后,发起关机指令的程序会通知Windows子系统CSRSS.EXE,CSRSS.EXE收到通知以后会和Winlogon.EXE做一个数据交换,接着由Winlogon.EXE通知CSRSS.EXE开始关闭系统的流程 。 2. CSRSS.EXE收到Winlogon.EXE的通知以后,会依次查询拥有顶层窗口的用户进程,让这些用户进程退出。如果某一个用户进程在一个默认的超时时间5000毫秒(可以通过修改注册表键值HKEY_CURRENT_USER\Cont rol Panel\Desktop\ HungAppTimeout设定超时时间)内没有退出的话,Windows会显示一个结束任务对话框用于询问用户是否结束这个任务。默认情况下将显示这个对话框并一直保持而不会自动关闭。对于控制台程序来说,基本情况类似,只不过Windows使用HK EY_CURRENT_USER\Control Panel\Desktop\ WaitToKillAppTimeout值来设置超时时间。 3. 接着是轮到终止系统进程了。系统进程包括SMSS.EXE、Winlogon.EXE、Lsass.EXE等。Windows在终止系统进程的时候并不像终止用户进程那样如果无法在规定时间内终止则提示用户,而是跳过这个进程,去执行下一个系统 进程的终止操作。使用的超时时间和第2步使用的时间相同。 上述3个步骤是整个Windows关机过程中最耗费时间的一段,大多数关机缓慢的原因都是因为这3个步骤引起的。完成前3个步骤以后,进入了关机操作的第4个阶段,也是最后一个阶段。 4. Winlogon.EXE调用一个原生API函数NtShutdownSystem()来命令系统执行后面的扫尾工作。在这个阶段里面,Windows执行子系统会完成最后的关机操作,例如:设备驱动在这个阶段里面完成一些驱动设定的特殊操作; 也是在这个阶段,配置管理系统将被修改过的注册表数据会写道磁盘里面。等除了电源管理以后的全部子系统完成退出以后,电源管理完成最后的操作:如重启、关机等。 了解了Windows的关机流程以后,下面分析一下前面说的快速关机操作是怎么完成的。先分析一下SuperFast Shutdown的原理,SuperFast Shutdown是使用Visual Basic编写的,体积很小,就15KB,经过分析以后得出一个令人惊讶的结论:SuperFast Shutdown首先使用RtlAdjustPrivilege()提升自己的权限,然后直接调用NtShutdownSystem() 函数来完成关机过程。由于跳过了最为耗费时间的前3个步骤而直接进入第4个步骤,所以造成了能够很快关机的假象。 再看看任务管理器的快速关机是如何实现的:分析结果也是类似于SuperFast Shutdown的原理,也是通过省略一些步骤来加快关机的速度。 那么,为什么在快速关机以后会出现设置丢失的情况呢?原因在于前3个步骤里面有一个让进程正常退出的可能。大多数软件在编写的时候会把一些设置保存在自己私有的内存空间里面,当软件关闭的时候才把这些设置回写到特定的地方,如注册表或某个配置文件里面 。而关机操作的第4步并没有提供一种途径能够让这些设置记录下来,因为这个阶段Windows已经认为前面所有必须经过的流程已经完成,剩下的就是Windows核心组件的退出的问题了。在这种情况下,使用快速关机导致设置丢失也不足为怪了。 因此,为了你系统的健康,关机还是按照正常顺序来,数据的安全性往往比节省的那几十秒钟重要的多。 按下操作会加快开关机时间的: 1. 开机程序越少,系统启动XX越快,开始-运行,键入"msconfig".点击" 启动",建议你只留下:rfw main,RAV TMER ,RAV MON此三项是瑞星杀毒软件,应随时启动对系统进行监视,ctfmon.exe是输入法显示,这项不要删掉,不然会遇麻烦的. 2. 另开始-所有程序,找到"启动".点击打开后,把里面全部删掉.有些系统必须用的,你就是设置他不让启动,它也照起不误. 3. 用"休眠"加快开机速度.如果此功能未被开启,可以:开始-控制面板-性能和维护-电源选项,单击"休眠"选项卡,确保选中"启用休眠'复选框,单击确定,以后关机时,请选"休眠"若在关机对话框中出现"待机"按住SHIFT",将其转换成"休眠'即可.下子此此开机时,自动快速恢复到上此关机的状态. 4. 如你的系统教稳定很少出现系统失败的故障,可以如下操作:开始-控制面板-性能和维护-系统",打开"系统特征-高级"选项卡,使用期中的"启动和故障恢复"按钮,打开"启动和故障恢复"对话框,将'系统失败下的"将事件写入系统日志"和"发送管理警报"两项去掉,,然后打开"写入调试信息"的下拉列表,选择"无"以后"确定".4,可下载"优化大师'软件,利用其优化功能,也可。仅供参考。 5. 减少开机使滚动条滚动次数.开始-运行,确定.键入"regedit",打开找到"HKEY-LOCAL-MACHINE- SYSTEM/Current Contralset/Control/Sessin Manager /Memory Management/Preech Paramentrs的分枝,在右侧窗口找到"EnablePrefecher",子健,把它的值设为:"1",右击我得电脑-属性-硬件-设备管理器- 展开'IDE ATA/ATAPZ控制器",双击"次要通道IDE".,在对话框中选中"高级",再"设备0"中,将原设的"自动检测"改为"无",主要通道也如此修改.重启电脑,滚动条减少为3次(原十几次). 6. 开始-运行,确定.键入"regedit",打开HKEY-CURRENT-USER/ControlPanel;Desktop/,找到"HungAPPTineout",把它的之改为"5000",另一个"WaitTokillAPPTimeout",把它的值改为"4000".再再 HKEY-LOCAL-MACHINE-System/CurrnentContralset/Control,把其中的 WaitTokillServiceTimeout"的键值也改为4000".
发表评论
共0条
评论就这些咯,让大家也知道你的独特见解
立即评论以上留言仅代表用户个人观点,不代表系统之家立场