硬盘启动流程

来源:百度知道 编辑:UC知道 时间:2024/06/17 05:43:02
举个例子:启动电源后,cpu发送信号给电源,电源给硬盘电路板供电,。。。。。。。。后面就是硬盘内部的磁头,盘片,之间的工作流程到完全启动,请各位大师说清楚一点? 30分奖励。

通电后,磁头接收到从硬盘控制芯片上传来的第一个启动指令,然后开始读主引导扇区的初始信息,确定硬盘保留区的位置,然后读硬盘保留区,确定缺陷列表、调入校验算法公式、读入内部操作指令等等。所有这些完成了,硬盘完成初始化,正式进入工作状态。然后,硬盘开始读取引导扇区(逻辑零),确定硬盘的起点和分区表位置,读入分区表等等。

往后就是读取操作系统引导程序,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\