admin管理员组文章数量:1531665
2024年3月19日发(作者:)
更多内容请访问()
Windows XP启动过程
从按下计算机开关启动计算机,到用户登入到桌面完成启动,一共经过了以下几个阶段:
1. 预引导(Pre-Boot)阶段;
2. 引导阶段;
3. 加载内核阶段;
4. 初始化内核阶段;
5. 登陆。
每个启动阶段的详细介绍
a) 预引导阶段
在按下计算机电源使计算机启动,并且在Windows XP专业版操作系统启动之前这段时
间,我们称之为预引导(Pre-Boot)阶段,在这个阶段里,计算机首先运行Power On Self Test
(POST),POST检测系统的总内存以及其他硬件设备的现状。如果计算机系统的BIOS(基
础输入/输出系统)是即插即用的,那么计算机硬件 设备将经过检验以及完成配置。计算机
的基础输入/输出系统(BIOS)定位计算机的引导设备,然后MBR(Master Boot Record)被加
载并运行。在预引导阶段,计算机要加载Windows XP的NTLDR文件。
b) 引导阶段
Windows XP Professional引导阶段包含4个小的阶段。
首先,计算机要经过初始引导加载器阶段(Initial Boot Loader),在这个阶段里,NTLDR
将计算机微处理器从实模式转换为32位平面内存模式。在实模式中,系统为MS-DOS保留
640kb内存,其余 内存视为扩展内存,而在32位平面内存模式中,系统(Windows XP
Professional)视所有内存为可用内存。接着,NTLDR启动内建的mini-file system drivers,
通过这个步骤,使NTLDR可以识别每一个用NTFS或者FAT文件系统格式化的分区,以便
发现以及加载Windows XP Professional,到这里,初始引导加载器阶段就结束了。
接着系统来到了操作系统选择阶段,如果计算机安装了不止一个操作系统(也就是多系
统),而且正确设置了使系统提供操作系统选择的条件下,计算机显示器会显示一
个操作系统选单,这是NTLDR读取的结果。
在中,主要包含以下内容:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
更多内容请访问()
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional"
/fastdetect
multi(0)disk(0)rdisk(0)partition(2)WINNT="Windows Windows 2000 Professional"
其中,multi(0)表示磁盘控制器,disk(0)rdisk(0)表示磁盘,partition(x)表示分区。NTLDR
就是从这里查找 Windows XP Professional的系统文件的位置的。如果在中只有一个
操作系统选项,或者把timeout值设为0,则系统不出现操作系统选择 菜单,直接引导到那
个唯一的系统或者默认的系统。在选择启动Windows XP Professional后,操作系统选择阶段
结束,硬件检测阶段开始。
在硬件检测阶段中,将收集计算机硬件信息列表并将列表返回到NTLDR,
这样做的目的是便于以后将这些硬件信息加入到注册表HKEY_LOCAL_MACHINE下的
hardware中。
硬件检测完成后,进入配置选择阶段。如果计算机含有多个硬件配置文件列表,可以通
过按上下按钮来选择。如果只有一个硬件配置文件,计算机不显示此屏幕而直接使用默认的
配置文件加载Windows XP专业版。
引导阶段结束。在引导阶段,系统要用到的文件一共有:NTLDR,,,
,,(可选的)
c) 加载内核阶段
在加载内核阶段,ntldr加载称为Windows XP内核的。系统加载了Windows
XP内核但是没有将它初始化。接着ntldr加载硬件抽象层(HAL,),然后,系统继续
加载HKEY_LOCAL_MACHINE system键,NTLDR读取select键来决定哪一个Control Set
将被加载。控制集中包含设备的驱动程序以及需要加载的服务。NTLDR加载
HKEY_LOCAL_MACHINEsystemservice ...下start键值为0的最底层设备驱动。当作为
Control Set的镜像的Current Control Set被加载时,ntldr传递控制给内核,初始化内核阶段
就开始了。
d) 初始化内核阶段
在初始化内核阶段开始的时候,彩色的Windows XP的logo以及进度条显示在屏幕中
央,在这个阶段,系统完成了启动的4项任务:
1. 内核使用在硬件检测时收集到的数据来创建了
HKEY_LOCAL_MACHINEHARDWARE键。
2. 内核通过引用HKEY_LOCAL_MACHINEsystemCurrent的默认值复制Control Set
更多内容请访问()
来创建了Clone Control Set。Clone Control Set配置是计算机数据的备份,不包括启动中的改
变,也不会被修改。
3. 系统完成初始化以及加载设备驱动程序,内核初始化那些在加载内核阶段被加载的
底层驱动程序,然后内核扫描HKEY_LOCAL_
下start键值为1的设备驱动程序。这些设备驱动程序在加载的时候便完成初 始化,如果有
错误发生,内核使用ErrorControl键值来决定如何处理,值为3时,错误标志为危机/关键,
系统初次遇到错误会以 LastKnownGood Control Set重新启动,如果使用LastKnownGood
Control Set启动仍然产生错误,系统报告启动失败,错误信息将被显示,系统停止启动;值
为2时错误情况为严重,系统启动失败并且以LastKnownGood Control Set重新启动,如果
系统启动已经在使用LastKnownGood值,它会忽略错误并且继续启动;当值是1的时候错
误为普通,系统会产生一个错误信息, 但是仍然会忽略这个错误并且继续启动;当值是0
的时候忽略,系统不会显示任何错误信息而继续运行
4. Session Manager启动了Windows XP高级子系统以及服务,Session Manager启动控制
所有输入、输出设备以及访问显示器屏幕的Win32子系统以及Winlogon进程,初始化内核
完毕
e) 登陆
1. 启动Local Security Authority,同时Windows XP Professional欢迎屏幕或
者登陆对话框显示,这时候,系统还可能在后台继续初始化刚才没有完成的驱动程序。
2.提示输入有效的用户名或密码。
e Controller最后执行以及扫描
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServives来检 查是否还有服务需要
加载,Service Controller查找start键值为2或更高的服务,服务按照start的值以及
DependOnGroup和DepandOnService的值 来加载。
只有用户成功登陆到计算机后,Windows XP的启动才被认为是完成,在成功登陆后,
系统拷贝Clone Control Set到LastKnownGood Control Set,完成这一步骤后,系统才意味着
已经成功引导了。
更多内容请访问()
Windows Vista系统开机启动过程
1、开启电源——
计算机系统将进行加电自检(POST)。如果通过,之后BIOS会读取主引导记
录(MBR)——被标记为 启动设备的硬盘的首扇区,并传送被Windows Vista建立
的控制编码给MBR。
——这时,Windows接管启动过程。 接下来:
MBR读取引导扇区-活动分区的第一扇区。此扇区包含用以启动Windows启
动管理器(Windows Boot Manager)程序Bootmgr exe的代码。
2、Windows启动管理器读取“启动配置数据存储(Boot Confi guration Data
store)中的信息。此信息包含已被安装在计算机上的所有操作系统的配置信息。
并且用以生成启动菜单。
3、当您在启动菜单中选择下列动作时:
<1> 如果您选择的是Windows Vista,Windows 启动管理器(Windows Boot
Manager)运行%SystemRoot%System32文件夹中的OS loader- Winload exe。
<2> 如果您选择的是自休眠状态恢复Windows Vista,那么启动管理器将装
载Winresume exe并恢复您先前的使用环境。
<3> 如果您在启动菜单中选择的是早期的Windows版本,启动管理器将定位
系统安装所在的卷,并且加载Windows NT风格的早期OS loader()——
生成一个由内容决定的启动菜单。
4、Windows Vista启动时,加载其核心文件 和——
从注册表中读取设置并加载驱动程序。接下来将运行Windows会话管理器
()并且启动 Windows启动程序(Wininit exe),本地安全验证
()与服务()进程,完成后,您就可以登录您的系统了。
在前面3个步骤 里面,可优化的余地是非常的小的,无非是缩减启动菜单的等
待时间或者彻底关闭启动菜单等等,真正的优化,在于第四个步骤。第四个步骤
里面,牵扯到了系统字 体加载和服务加载,对多余字体的删除这个,Vista优
化大师(最新版下载)还会进行升级提供给大家这个功能,对于服务方面的优化,
今天马上会有专文放 出。
OK,对于Vista系统启动的过程方面的了解,今天先说这么多。看看最新的大餐:
终极优化:Windows Vista系统服务设置完全攻略。
更多内容请访问()
Windows 7操作系统启动过程
Windows 7操作系统启动过程详解,一般顺序为:BIOS-->MBR--> Bootmgr
-->BCD-->-->内核加载。
1) 开机后,BIOS进行开机自检(POST),然后选择从硬盘进行启动,加载硬
盘的MBR并把控制权交给MBR(MBR是硬盘的第一个扇区,它不在任何一个 分区
内);
2) MBR会搜索64B大小的分区表,找到4个主分区(可能没有4个)的活动
分区并确认其他主分区都不是活动的,然后加载活动分区的第一个扇区
(Bootmgr)到内存;
3) Bootmgr寻找并读取BCD,如果有多个启动选项,会将这些启动选项反映
在屏幕上,由用户选择从哪个启动项启动。
4) 选择从Windows 7启动后,会加载C:,
并开始内核的加载过程,内核加载过程比较长,比较复杂,这里就不一一 讲了。
在这个过程中,bootmgr和BCD存放在Windows 7的保留分区里,而从
开始,就开始进入到C盘执行内核的加载过程了
更多内容请访问()
Windows 2008的启动过程
如果您使用具有早期Windows版本如 Windows XP的多启动环境,那么您可能迫
切需要了解Windows Vista的启动过程做了哪些修改。在Windows Vista的启动
过程中Ntldr 和 Boot ini不再被使用(当然,在多启动环境下需要引导Windows
2000/XP或Windows Server 2003时他们还是起作用的)。
过程概述:
开启电源后,主板加电BIOS自检(POST)。通过后,BIOS会读取硬盘MBR【主引
导记录】{被标记为启动设备的硬盘的首扇区},并 将由Windows Vista创建的
控制编码给MBR。这时Windows Vista将从BIOS手上接管启动过程。
接下来:
读取引导扇区{活动分区的第一扇区}。此扇区包含用以启动Windows启动
管理器(Windows Boot Manager)程序Bootmgr exe的代码。
s启动管理器读取“启动配置数据存储(Boot Configuration Data
store)中的信息。此信息包含已被安装在计算机上的所有操作系统的配置信息。
并且用以生成启动菜单。
3.当您在启动菜单中选择下列动作时:
<>如果您选择的是Windows Vista,Windows 启动管理器(Windows Boot Manager)
运行%SystemRoot%System32文件夹中的OS loader- Winload exe。
<>如果您选择的是自休眠状态恢复Windows Vista,那么启动管理器将装载
Winresume exe并恢复您先前的使用环境。
<>如果您在启动菜单中选择的是早期的Windows版本,启动管理器将定位系统安
装所在的卷,并且加载Windows NT风格的早期OS loader(),如果需
要,生成一个由内容决定的启动菜单。
Windows Vista启动时加载其核心文件和从注册表中读
取设置并加载驱动程序。
接下来Vista将运行Windows会话管理器()并且启动Windows启动程序
(Wininit exe),本地安全验证()与服务()进程。
完成后,您就可以看到登录界面了。
更多内容请访问()
Win7/XP/PE多操作系统独立启动设置方
法
安装双系统的用户越来越多,不过多系统的启动和维护一直是个让人头痛的问题,比如
windows xp(以下简称WinXP)+Windows 7用户(以下简称Win7),如果启动文件Bootmgr或
者BCD启动配置出现问题,经常会导致两个系统都无法进入。本文和大家讨论使用
XRLDR(一 个轻量级的多重启动管理工具)实现WinXP、Win7、WinPE三个系统独立启动
的方法和技巧。
了解多系统启动基础知识
在使用XRLDR之前我们先来了解一下系统启动知识,这样可以让大家更好理
解和配置多系统的启动。硬盘上系统一般启动程序是这样的:开机自检→ 加载
硬盘主引导记录(MBR)→搜索并激活系统引导文件→加载启动配置文件→加载系
统核心文件→完成启动。
比如对于在WinXP基础上安装Win7双系统用户,安装Win7后它会更改主引
导记录并使用Bootmgr管理多系统启动。它的引导流程是: 自检后加载NT60
主引导记录,然后查找引导文件“C:Bootmgr”并激活,接着加载
“C:bootbcd”启动配置文件并列出多重启动。如果 选择“Windows 7”,
Bootmgr根据BCD启动信息配置,将控制权交给Win7系统目录下的
“”, 然后开始启动Win7。如果选择的是旧版本的Windows,
Bootmgr将控制权交给“NTLDR”,接着开始启动WinXP(常见系统引导文件和引
导记录格式如下表所示)。
常 见系统引导文件
提示:硬盘主引导记录和具 体操作系统并没有必然的联系,它是在操作系
统启动之前加载的一段代码。不同 类型的引导记录区别在于加载引导文件的不
同,比如NT60记录,它会去查找“C:Bootmgr”并加载它。Bootmgr既可以引
导WinXP,也可 以引导Linux系统。具体可以引导什么系统,是由系统启动配
置文件决定的,比如将“C:NTLDR”启动配置写入BCD后,Bootmgr就可以启动
WinXP系统了。
更多内容请访问()
从上述启动流程可以看出传统的双系统引导主要有如下不足:
1.多系统启动都是通过第一分区完成,因此一旦第一分区无法正常工作(比
如遭受病毒破坏),就会导致所有系统都无法启动。
2.多系统启动文件都保存在第一分区,并且依赖于Boootmgr单一文件,一
旦该文件被误操作(如对启动配置文件BCD错误编辑)或误删除, 将导致多系统
启动失败。
为了解决多系统启动的上述不足,我们可以自行对多系统启动进行改造。首
先将各系统的启动文件复制到各自分区,接着通过XRLDR配置实现各分区 系统
的独立启动,从而使多系统启动摆脱对第一分区和单一启动文件的依赖,改造前
后流程对比如图1所示。
注:本文以C盘安装WinXP加D盘安装Win7的双系统安装为例,为了更方
便进行维护,笔者还在E盘安装WinPE系统。
实战:多个系统各自启动
从上述介绍可以知道,改造多系统启动操作第一步要将各系统启动文件复制
到各自分区,由于简单复制启动文件并不能启动系统,复制完成后还要对系统 启
动进行配置。下面就针对不同系统介绍如何进行具体操作。
Part Ⅰ.实现WinXP独立启动
大家知道WinXP是通过“C:NTLDR”启动的,对于先装WinXP后装Win7的
用户,我们只要将硬盘主引导记录更改为NT52格式即可。进入WinXP后将下载
的“”复制到C盘,接 着启动命令提示符工具并输入
“c: /nt52 c:”,当屏幕出现“Bootcode was successfully
updated on all targeted volumes.”的提示,则表示成功将主引导记录更改为
NT52格式。现在重启系统后就会自动加载NTLDR来启动WinXP(不会再出现
Bootmgr启动管理器界面)。
更多内容请访问()
提示:对于在Win7基础上安装WinXP的用户,千万不要使用上述命令更改
主引导记录,否则会出现两个系统都无法进入的后果。因为变更为 NT52格式后,
硬盘主引导记录就会 去寻找第一分区根目录下的NTLDR文件(NT60格式为寻找
Bootmgr)。
Part Ⅱ.实现Win7独立启动
完成上述操作后,重启系统进入WinXP,把“C:bootmgr”文件、
“C:boot”整个目录全部剪切到D盘根目录。然后运行下载的
“”,单击“启动配置→打开”,打开“d:bootbcd”配置文件。
依次选择“编辑→删除启动项目”,将原来的启动项目全部 删除。接着再依次
选择“编辑→新建Vista启动项目”,选中新 建项目后,双击右侧窗格的
“device”项,将其更改为“partITion=D:”(盘符依据 Win7安装的具体分区
更改),“description”(启动菜单显示名称)更改为“Windows 7”(如图2所
示)。
经过上述启动文件移动和配置后,我们只要能够加载“D:bootmgr”,Win7
就可以从D盘启动了(Bootmgr加载需要借助 XRLDR配置)。
Part Ⅲ.实现WinPE独立启动
由于Win7启动经常需要借助WinPE来修复,因此为了方便对Win7系统进行
维护,我们还可以手动在本地硬盘安装WinPE系统。只要准备好Win7安装光盘,
更多内容请访问()
打开光盘后将除“光盘目录sources ”文件外的全部文件复制到
E盘即可完成安装。
最后设定——多系统统一管理
完成上述三个系统的配置后,现在进入WinXP系统,运行下载的XRLDR,单
击“安装/配置”进入配置界面。在界面预览下选中“第一个操作系统”,依次
进行如下设置:
1.启动方式单选“从文件启动”,启动文件选择NTLDR(用于启动WinXP,启
动Win7和WinPE则选择Bootmgr)。
2.启动分区选择第一分区(即WinXP所在分区,其他系统根据具体分区选
择)。
3.系统类型选择“NTLDR/BOOTMGR”,并勾选“启动时激活要启动主分区”。
4.菜单文本更改为“windows xp”,然 后单击“生成”(字体、颜色、字号
等根据自己喜好进行设置)。其他参数采取默认设置。
5.操作同上,依次设置Win7和Win PE系统的启动配置,最后单击“写入磁
盘”,完成对主引导记录的更改(如图3所示)。
OK,现在只要重启电脑,我们就可以在开机多重启动菜单中选择自己喜欢的
系统进入了(下次启动时默认启动上次选择的系统,默认启动系统可以在 XRLDR
中进行设置)。
更多内容请访问()
上述三个系统是独立启动的,比如选择Win7进入后,依次打开“计算机管
理→存储→磁盘管理”,可以看到Win7所在分区既是系统分区也是启动 分区,
表明它的启动并不依赖第一分区(如图4所示)。
提示:什么是系统分区、启动分区?根据微软帮助文档的解释,系统分区是
指包含加载 Windows(比如Bootmgr)所需的硬件特定文件的分区,系统分区可以
(不是必须)与启动分区相同。启动分区则是指包含 Windows 操作系统及其支持
文件的分区。在传统WinXP+Win7情况下,对于Win7它的系统分区是第一分区(因
为加载 Windows所需特定文件如Bootmgr和Boot引导目录在该分区),启动分
区则为第二分区(因为Windows 操作系统目录在该分区)。这里系统分区、启动
分区合二为一表明这个分区就包含系统文件和引导文件,可以说明该系 统是自
主、独立启动的。
经过上述改造,我们已经实现WinXP、Win7、WinPE三个系统的独立启动,
这给我们日常维护带来很大的便利。比如在改造前误删了 Bootmgr文件,重启
后就无法启动多系统了,而现在则可以进入WinXP系统,只要到其他电脑上复制
Bootmgr到D盘即可修复Win7系统的启动 问题。同样,如果Win7的BCD菜单
出现故障,我们还可以进入WinPE,使用Bcdboot命令进行快速修复。
即使是电脑高手,也常常会遇到多系统启动的故障,而一旦产生无法启动的
故障,那维护起来可就费时又费力了。本文另辟蹊径,为多系统维护提供了一 种
很好的思路,通过XRLDR独立引导,实现各个系统独立启动。如果你已经安装了
多系统,并且也曾遭遇过多系统启动的故障,那么不妨试一试本文介绍的方 法,
就可以大大减少你的维护工作了!
版权声明:本文标题:Windows各操作系统启动过程 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1710787246a283478.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论