参与启动过程的软硬件:
BIOS是固定在主板上的一个程序,放在主板上的一个固定的芯片中;
BIOS运行完之后开始寻找硬盘上可以引导的扇区;
通过查找MBR(main boot record);这个表示放在硬盘上的;
系统盘根目录的重要文件:
NTLDR:windows操作系统的加载程序
工作过程:
使CPU从16位实模式进入到32位保护模式;
启用CPU页机制;
如果是SCSI硬盘,则加载BtBootD.sys用于访问磁盘,否则使用INT 3;
如果发现有效的hiberfil.sys,则加载并回复Hibernate(上次关机时的状态);
打开BOOT.INI文件,读取其中设置,若有多个选项,则显示菜单;
若用户按过F8,进入更多选项;
加载并执行ntdetect.com,调用BIOS收集系统的基本信息(时间,总线类型,磁盘,输入设备,端口,显卡)并保存到注册表中;
显示启动进度条;
加载系统目录加载NTOSKRNL.EXE和HAL.DLL以及他们所依赖的模块;
加载注册表的System Hive(注册表中的主体部分),并加载其中定义的boot类型SERVICE_BOOT_START的驱动程序;
执行NTOSKRNL.EXE的入口函数。
NTOSKRNL.EXE中的kestartallprocessors是一个多CPU函数,为每个CPU建立其基本数据结构(GDT,IDT,TSS,栈)
BOOT.INI;HIBERFIL.SYS;IO.SYS;MSDOS.SYS;NTDETECT.COM;PAGEFILE.SYS;