⑴使用老机器和笔记本电脑的朋友,恐怕最难以忍受的是慢得让人发疯的系统启动过程吧。即使试遍了各种优化秘籍,使用了所有优化软件,但Windows XP还是慢悠悠的开机,慢腾腾的关机,让人沮丧不已。今天就给大家讲解下WINDOWS启动和关机内幕,学了本教程后,看看能否让你的开关机有所加速.
⑵WINDOWS的启动流程
⑶第一:NTLDR的作用过程
⑷.首先机器POST----BIOS----MBR----BOOT SECTOR----os的引导程序 WINDOWS的引导程序是NTLDR注意这个文件其实是个可执行文件,这里机器主要做的工作是:CPU从的实模式到的保护模式,启用CPU的页机制,如果磁盘是SCSI,则加载Ntbootdd.sys来访问磁盘,否则用INT来访问。这里假如机器没找到Ntldr这个文件,在FAT文件系统下,机器显示"BOOT: Couldn't find NTLDRP",而在NTFS下显示"NTLDR is missing"(这个没有具体实验过,是书上这么说的)
⑸.NTLDR装载后就先CLS屏幕,首先检查根目录下有没有合法的Hiberfil.sys,这个文件的作用是机器休眠的时候把内存中的所有信息保存到hiberfil.sys这个文件中,这个文件的大小始终和系统的物理内存大小一致。如果希望回收这个空间,请打开“控制面板”下的“电源管理”,选择“休眠”选项卡,去掉“启用休眠”这一复选项的选中标记,系统会自动消除hiberfil.sys文件。如果有就快速启动到上次机器休眠的状态。
⑹.接着处理Boot.ini,如果有多个的启动项,那就显示启动菜单(如果只有一个默认的项,那就是我们立即就可以看到WINDOWS的启动状态条了) 处理BOOT.ini WINDOWS自带的一个工具Bootcfg.exe,可以用这个工具修改,当然也可以自己用记事本打开boot.ini来修改,boot.ini的一些参数会保存在HKLMSystemCurrentControlSetControlSystemStartOptions下。关于 boot.ini里面的参数大家可以去查阅资料。
⑺.下面就是NTLDR调用执行Ntdetect.,作用是检测的一些基本设备和配置信息 信息包括:CMOS里的时间日期信息,总线类型,磁盘的大小,类型,数目,输入设备的信息,并口的信息,显卡的类型,这些信息收集后保存在HKLM HARDWAREDESCRIPTION下面。接着就版本下显示“Starting Windows”进程条,而在xp,下是显示WINDOWS的LOGO
⑻.在显示进程条的过程中,机器实际上是在加载系统相应的内核和HAL文件,一般是Ntoskrnl.exe 和Hal.dll这个文件,如果这个过程中发现找不到文件,则会显示"Windows could not start because the following file was missing or corrupt"这个信息。然后读取注册表SYSTEM HIVE(WindowsSystemConfigSystem),来决定需要加载的设备驱动,这些设备驱动都在 SERVICE_BOOT_START ()里面
⑼.然后加载Ntoskrnl.exe,这样NTLDR的使命就结束了。
⑽第二 Ntoskrnl.exe的作用过程这里主要分个阶段来初始化内核,最后创建the Session Manager subsystem (Smss)进程。
⑾第三 Smss的作用过程
⑿.创建LPC port对象,为MSDOS定义符号连接,例如、LPT,假如安装有Terminal Services,则创建Sessions目录
⒀.运行注册表里HKLMSYSTEMCurrentControlSetControlSession ManagerBootExecute定义的程序,一般默认的是运行Autochk
⒁.执行HKLMSYSTEMCurrentControlSetControlSession ManagerPendingFileRenameOperations表键中的延迟,删除,改名操作
⒂.加载HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerKnownDLLs 初始化paging files和注册表
⒃.创建系统环境变量,这些定义在HKLMSystemCurrentControlSetSession ManagerEnvironment
⒄.加载和初始化WIN子系统的内核模块Wink.sys
⒅. 创建WIN子系统服务器进程,包括Csrss, 创建Winlogon进程。 这里的个进程其中一个出现异常,那系统都会中断