Windows 7的启动过程可以分为几个关键阶段,包括预引导、引导、加载内核、初始化内核模式驱动程序和用户模式环境,下面将详细解释这些阶段,并使用小标题进行组织。
1. 预引导阶段
- BIOS/UEFI检查: 计算机通电后,首先运行的是BIOS或UEFI固件,它会执行自检(POST),检查硬件是否正常。
- 寻找引导设备: BIOS/UEFI会查找并选择启动设备,通常是硬盘、SSD或可移动媒体。
- MBR/GPT加载: 从选定的引导设备读取主引导记录(MBR)或GUID分区表(GPT)。
2. 引导阶段
- 引导扇区: MBR中的引导代码加载引导扇区到内存中,并执行它。
- NTLDR/BOOTMGR: Windows 7使用NTLDR(针对老版本BIOS)或BOOTMGR(针对UEFI和新版本BIOS)作为主要引导加载程序。
(图片来源网络,侵删)- 加载配置: 读取BCD
(Boot Configuration Data)存储来获取操作系统的启动配置信息。
3. 加载内核阶段
- 内核加载: NTLDR或BOOTMGR加载ntoskml.exe
,即Windows内核。
- 硬件抽象层(HAL): 同时加载与硬件相关的HAL文件,确保操作系统可以与底层硬件通信。
- 驱动程序初始化: 加载必要的驱动程序,如磁盘、视频和键盘驱动程序。
4. 初始化内核模式驱动程序
- 驱动程序加载: 系统继续加载并初始化其他内核模式驱动程序。
- 注册表读取: 注册表中的信息被读取以确定哪些驱动程序和服务需要启动。
(图片来源网络,侵删)- 文件系统初始化: 文件系统驱动程序被初始化,允许访问硬盘上的文件。
5. 用户模式环境初始化
- 创建用户模式进程: 系统创建smss.exe
(会话管理器)和csrss.exe
(客户/服务器运行时子系统)等初始用户模式进程。
- Winlogon: Winlogon.exe
启动,负责登录界面的显示和用户登录处理。
- 服务启动: 更多的系统服务和自启动应用程序开始运行。
6. 登录和桌面加载
- 用户登录: 用户输入凭据进行登录。
- Explorer.exe: 加载Windows资源管理器,显示桌面、任务栏和开始菜单。
- 桌面环境: 最终显示完整的桌面环境,用户可以开始交互操作。
这个过程涉及多个组件和步骤,每个步骤都对系统的启动至关重要,在实际操作中,如果某个环节出现问题,可能会导致系统无法正常启动,这时通常需要通过安全模式、修复光盘或其他恢复措施来解决。