无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 7820|回复: 21
打印 上一主题 下一主题

Windows 2008/Vista Windows 2000/2003/XP 引导过程(转)

[复制链接]
跳转到指定楼层
1#
发表于 2009-12-18 09:51:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
引导过程
Windows 2008/VistaWindows 2000/2003/XP
1) BIOS中的代码选择引导设备(注:这在BIOS中设置;有些新的BIOS可以在开机时按F9来人为干预),例如某一个硬盘。然后去该硬盘的第一个扇区读取MBR
1) BIOS中的代码选择引导设备,并读取MBR中的代码
2) MBR中的code会扫描分区表,找到带有Active标志的那个分区(即活动分区)
2) MBR中的code会扫描分区表,找到带有Active标志的那个分区(即活动分区)
3) 将活动分区的第一个扇区(也就是引导扇区)中的代码读取到内存,并将控制权移交。
3) 将活动分区的第一个扇区(也就是引导扇区)中的代码读取到内存,并将控制权移交。
4) 引导扇区中的代码做:i) 读取Volume的结构和格式,ii) 并从根目录读取Bootmgr
4) 引导扇区中的代码:i) 读取Volume的结构和格式,ii) 并从根目录读取ntldr
5) 如果找不到bootmgr,则显示出错信息“BOOTMGR is missing ” (注:Vista/2008的引导分区必须是NTFS)
5) 如果找不到ntldr,引导区是FAT时显示“BOOT: Couldn't find NTLDRP”,引导区是NTFS时显示“NTLDR is missing”
6) Bootmgr运行在x86 real mode,也就是没有 physical-virtual内存的转换,都直接用物理内存寻址。这时候只有最低位的1MB内存可以访问
6) 此时NTLDR运行在x86 实模式,此时仍没有物理-虚拟内存地址的转译
7) Bootmgr的第一个动作就是将模式转换成保护模式(protected mode)。等到最低16MB内存都能访问了,Bootmgr就启用paging。带有paging enable的保护模式,就是windows运行的常态。
7) NTLDR的第一个动作就是将模式转换成保护模式(protected mode)。等到最低16MB内存都能访问了,Bootmgr就启用分页机制(paging)
8) 运行在保护模式下的bootmgr这时候仍然依靠BIOS中的驱动程序来访问IDE硬盘和控制显示。与引导扇区代码不同的是,此时bootmgr已经可以认子目录了
8) 此时,NTLDR仍然依靠BIOS中的驱动程序来访问IDE硬盘和控制显示。与引导扇区代码不同的是,此时NTLDR已经可以认子目录了
9) Bootmgr 清屏(这个时候你将看见一个黑色的屏幕)
9) NTLDR清屏(这个时候你将看见一个黑色的屏幕)
10) 如果上次关机时选择的是Hybernating状态,则将控制权移交给winresume.exe
10) 如果系统卷根目录下存在一个有效的hiberfil.sys文件,将此文件读入内存,并将控制权交给一段能恢复休眠状态的代码。
11) Bootmgr读取BCD,如果其中只有唯一的项,则跳过引导菜单。否则显示引导菜单。
11) 从根目录下读取boot.ini,如果其中只有唯一的引导项,则跳过引导菜单。否则显示引导菜单。
12) 读BCD中的引导入口信息(boot entry point),通常这是\Windows目录。
(2008/Vista不同时支持DOS)
12) boot.ini中的选项告诉NTLDR,被选中的Windows系统驻留在那个分区;
12.1) 如果boot.ini指向一个MS-DOS系统,NTLDR将bootsect.dos文件内容读入内存,并切换回16位实模式;Bootsect.dos中的代码继续进行MS-DOS的引导过程。
13) 运行Winload.exe 并将控制权移交。
13) NTLDR清除屏幕。并(Windows 2000)显示“Starting Windows”进度条。进度条下显示“For troubleshooting and advanced startup options for Windows, Press F8”。此时按下F8,可以进入一个菜单,包括选择安全模式。
(Windows 2003/XP),显示带Windows Logo的启动屏幕。

运行ntkrnl???
2#
发表于 2009-12-19 23:15:43 | 只看该作者

回复 #1 liubaocang 的帖子

好东西呀。。不过好像发错区了
回复

使用道具 举报

3#
发表于 2009-12-20 14:44:30 | 只看该作者
总算有个较系统的了解了
回复

使用道具 举报

4#
发表于 2009-12-21 11:37:07 | 只看该作者
恩,好东西。这是引导过程,要是再有个启动过程就完美了。。
回复

使用道具 举报

5#
发表于 2009-12-21 20:01:33 | 只看该作者
好东西呀,对系统的有了解了.
回复

使用道具 举报

6#
发表于 2009-12-22 09:50:50 | 只看该作者
谢谢,好东东,兄第,又了解了一点点知识
回复

使用道具 举报

7#
发表于 2009-12-22 11:27:14 | 只看该作者
又学习了!~呵呵!~~~
回复

使用道具 举报

8#
发表于 2009-12-22 13:49:15 | 只看该作者
总算有个较系统的了解了
回复

使用道具 举报

9#
发表于 2009-12-30 23:16:17 | 只看该作者
这个很强大,收下了!
回复

使用道具 举报

10#
发表于 2009-12-31 18:41:14 | 只看该作者
好东西,学习了
支持
回复

使用道具 举报

11#
发表于 2010-1-1 16:16:50 | 只看该作者
这就是系统引导过程,谢谢楼主分享。
回复

使用道具 举报

12#
发表于 2010-1-1 16:47:56 | 只看该作者
学习贴,收藏了。确定的基础
回复

使用道具 举报

13#
发表于 2010-1-6 19:46:24 | 只看该作者
正在学习这方面的知识,收藏下来了,多谢分享!
回复

使用道具 举报

14#
发表于 2010-1-13 15:48:09 | 只看该作者
好东西,我留个底,有时间好好学习
回复

使用道具 举报

15#
发表于 2010-1-16 00:39:42 | 只看该作者
大哥,继续啊,,,
接下来呢
回复

使用道具 举报

16#
发表于 2010-1-16 04:18:03 | 只看该作者
5) 如果找不到bootmgr,则显示出错信息“BOOTMGR is missing ” (注:Vista/2008的引导分区必须是NTFS)
如果启动文件在一个单独的活动分区,bootmgr所在的分区可以是fat32
回复

使用道具 举报

17#
发表于 2010-3-15 01:06:33 | 只看该作者
好贴子,多谢楼主了。
回复

使用道具 举报

18#
发表于 2010-3-15 11:19:21 | 只看该作者
很好的总结。。。...
回复

使用道具 举报

19#
发表于 2010-3-15 16:39:24 | 只看该作者
后面还有一段呢!有空补上
回复

使用道具 举报

20#
发表于 2010-3-15 16:47:41 | 只看该作者
初始引导加载器阶段 ,操作系统选择阶段,硬件检测阶段,配置选择阶段,加载内核阶段。
回复

使用道具 举报

21#
发表于 2010-3-15 16:48:39 | 只看该作者
初始引导加载器阶段 ,操作系统选择阶段,硬件检测阶段,配置选择阶段,加载内核阶段。
回复

使用道具 举报

22#
发表于 2010-3-15 23:20:11 | 只看该作者
NTLDR---boot.ini----Ntdetect.com---ntkrnlpa.exe---hal.dll
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-1 11:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表