硬盘启动流程
来源:百度知道 编辑:UC知道 时间:2024/06/17 05:43:02
通电后,磁头接收到从硬盘控制芯片上传来的第一个启动指令,然后开始读主引导扇区的初始信息,确定硬盘保留区的位置,然后读硬盘保留区,确定缺陷列表、调入校验算法公式、读入内部操作指令等等。所有这些完成了,硬盘完成初始化,正式进入工作状态。然后,硬盘开始读取引导扇区(逻辑零),确定硬盘的起点和分区表位置,读入分区表等等。
往后就是读取操作系统引导程序,XP 是NTLDR,NTLDR处理启动菜单文件boot.ini,然后执行Ntdetect.com,检测一些基本设备和配置信息,然后加载系统相应的内核和HAL文件,一般是Ntoskrnl.exe 和Hal.dll这2个文件,到了这一步电脑上显示的就是滚动的进度条。
然后再读取注册表SYSTEM HIVE(Windows\System32\Config\System),来决定需要加载的设备驱动,通过加载Ntoskrnl.exe 创建Smss进程。
Smss进程完成以下功能
1.创建LPC port对象,为MSDOS定义符号连接,例如COM1、LPT1,假如安装有Terminal Services,则创建\Sessions目录
2.运行注册表里HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute定义的程序,一般默认的是运行Autochk
3.执行HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations表键中的延迟,删除,改名操作
4.加载HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs 初始化paging files和注册表
5.创建系统环境变量,这些定义在HKLM\System\CurrentControlSet\Session Manager\