admin管理员组文章数量:1530518
2024年7月31日发(作者:)
Windows 2008/Vista Windows 2000/2003/XP 引导过程
引导过程
Windows 2008/Vista
1) BIOS中的代码选择引导设备(注:这在BIOS中
设置;有些新的BIOS可以在开机时按F9来人为干
1) BIOS中的代码选择引导设备,并读取MBR中的
预),例如某一个硬盘。然后去该硬盘的第一个扇代码
区读取MBR
2) MBR中的code会扫描分区表,找到带有Active2) MBR中的code会扫描分区表,找到带有Active
标志的那个分区(即活动分区) 标志的那个分区(即活动分区)
Windows 2000/2003/XP
3) 将活动分区的第一个扇区(也就是引导扇区)中3) 将活动分区的第一个扇区(也就是引导扇区)中
的代码读取到内存,并将控制权移交。 的代码读取到内存,并将控制权移交。
4) 引导扇区中的代码做:i) 读取Volume的结构和4) 引导扇区中的代码:i) 读取Volume的结构和格
格式,ii) 并从根目录读取Bootmgr
5) 如果找不到bootmgr,则显示出错信息
分区必须是NTFS)
6) Bootmgr运行在x86 real mode,也就是没有
physical-virtual内存的转换,都直接用物理内存寻
址。这时候只有最低位的1MB内存可以访问
7) Bootmgr的第一个动作就是将模式转换成保护模
式(protected mode)。等到最低16MB内存都能访问
了,Bootmgr就启用paging。带有paging enable
的保护模式,就是windows运行的常态。
8) 运行在保护模式下的bootmgr这时候仍然依靠
BIOS中的驱动程序来访问IDE硬盘和控制显示。与
引导扇区代码不同的是,此时bootmgr已经可以认
子目录了
式,ii) 并从根目录读取ntldr
5) 如果找不到ntldr,引导区是FAT时显示
NTFS时显示“NTLDR is missing”
6) 此时NTLDR运行在x86 实模式,此时仍没有物
理-虚拟内存地址的转译
“BOOTMGR is missing ” (注:Vista/2008的引导“BOOT: Couldn't find NTLDRP”,引导区是
7) NTLDR的第一个动作就是将模式转换成保护模
式(protected mode)。等到最低16MB内存都能访问
了,Bootmgr就启用分页机制(paging)
8) 此时,NTLDR仍然依靠BIOS中的驱动程序来访
问IDE硬盘和控制显示。与引导扇区代码不同的是,
此时NTLDR已经可以认子目录了
9) Bootmgr 清屏(这个时候你将看见一个黑色的屏9) NTLDR清屏(这个时候你将看见一个黑色的屏
幕)
10) 如果上次关机时选择的是Hybernating状态,
则将控制权移交给
11) Bootmgr读取BCD,如果其中只有唯一的项,
则跳过引导菜单。否则显示引导菜单。
12) 读BCD中的引导入口信息(boot entry point),
通常这是Windows目录。
(2008/Vista不同时支持DOS)
幕)
10) 如果系统卷根目录下存在一个有效的
文件,将此文件读入内存,并将控制权
交给一段能恢复休眠状态的代码。
11) 从根目录下读取,如果其中只有唯一的
引导项,则跳过引导菜单。否则显示引导菜单。
12) 中的选项告诉NTLDR,被选中的
Windows系统驻留在那个分区;
12.1) 如果指向一个MS-DOS系统,NTLDR
将文件内容读入内存,并切换回16位
实模式;中的代码继续进行MS-DOS
的引导过程。
13) NTLDR清除屏幕。并(Windows 2000)显示
“Starting Windows”进度条。进度条下显示“For
troubleshooting and advanced startup options for
13) 运行 并将控制权移交。
Windows, Press F8”。此时按下F8,可以进入一个
菜单,包括选择安全模式。
(Windows 2003/XP),显示带Windows Logo的启动
屏幕。
运行ntkrnl???
版权声明:本文标题:Windows 7 2008 Vista 2000 2003 XP 引导过程详细过程 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1722373170a929272.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论