您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > windows

Windows系统引导过程以及多系统引导原理

时间:2019-09-02 17:04:45  来源:  作者:

系统启动的两种引导方式

计算机系统引导方式主要有两种:一种是传统的BIOS模式,另一种是新型UEFI(全称统一的可扩展固件接口)模式。UEFI启动也可以看作是Bios的升级版。不同模式对应不同的磁盘分区类型,BIOS只可以识别MBR分区;而UEFI可同时识别MBR分区和GPT分区,所以在UEFI下可以启动不同磁盘类型中的操作系统。

Windows系统引导过程以及多系统引导原理

BIOS芯片

  • BIOS+MBR引导过程

BIOS引导过程:开机自检>BIOS>MBR(主引导记录)–>DPT(磁盘分区表)>PBR(分区引导记录)> Bootmgr(引导管理器)/NTLDR>BCD(从vista开始的引导配置数据)/boot.ini(XP 引导配置文件)>Winload.exe>内核加载 >windows vista+/windows xp

Windows系统引导过程以及多系统引导原理

 

  1. 开机自检,BIOS先要对CPU初始化,然后跳转到BIOS启动处进行POST自检,(此过程如有严重错误,则电脑会用不同的报警声音提醒),接下来采用读中断的方式加载各种硬件,完成硬件的初始化。
  2. 读入MBR(主引导记录),MBR主要功能是在分区表(DPT)中寻找可引导的活动分区(也叫激活主分区),并找到该分区的引导扇区(分区的第一个扇区)中的分区引导记录(PBR),载入PBR中的启动管理器(bootmgr.exe或NTLDR)。注意:MBR磁盘分区格式下,一个磁盘只允许有一个分区是活动的,因此启动文件(bootmgr、BCD)必须存放在活动的主分区内,这样才能找到系统载入程序。
  3. 启动管理器读取该分区boot文件夹里的启动配置文本BCD(或根目录下boot.ini),然后根据启动设置文件定位并加载二级引导载入程序winload.exe来加载OS内核。如果有多个系统,启动配置文件就会有多个启动项,相应的bootmgr也会提供选择菜单,然后则根据用户选择来决定加载哪个系统的Winload(多系统引导选择)。
  • UEFI+GPT 引导过程

UEFI引导过程:开机>UEFI>GPT分区表>ESP分区(也称EFI分区)>efiMicrosoftbootbootmgfw.efi>efiMicrosoftBCD>Windowssystem32winload.efi。此过程没有MBR参与。

Windows系统引导过程以及多系统引导原理

 

  1. 开机启动自检,执行UEFI初始化模块;
  2. UEFI执行后,会进行CPU、北桥、南桥及存储器初始化工作,当这部分设备就绪后,紧接着它就载入UEFI驱动执行环境(Driver Execution Environment,简称DXE)。当DXE被载入时,系统就可以加载硬件设备的UEFI驱动程序了。DXE使用了枚举的方式加载各种总线及设备驱动,UEFI驱动程序可以放置于系统的任何位置,只要保证它可以按顺序被正确枚举。借助这一点,我们可以把众多设备的驱动放置在磁盘的UEFI专用分区中(ESP分区),当系统正确加载这个磁盘后,这些驱动就可以被读取并应用了。在这个特性的作用下,即使新设备再多,UEFI也可以轻松地一一支持,由此克服了传统BIOS捉襟见肘的情形。UEFI能支持网络设备并轻松联网,原因就在于此。
  3. 从EFI分区找到启动管理器(efiMicrosoftbootbootmgfw.efi)。
  4. 启动管理器导入EFI分区BCD文件(efiMicrosoftBCD),然后根据其配置内容加载引导加载程序winload.efi(C:Windowssystem32winload.efi)来加载OS内核。如果BCD中有多个配置项,则会让用户选择要启动的系统。如果有多个系统,启动设置文件就会有多个启动项,相应的bootmgr也会提供选择菜单,然后则根据用户选择来决定加载哪个系统的Winload(多系统引导原理)。
Windows系统引导过程以及多系统引导原理

 

在GPT磁盘格式下,windows系统的启动文件和启动配置文件(bootmgfw.efi、BCD)是存放在一个不可见的FAT格式的分区里的(也叫ESP分区或EFI分区)。

多系统启动原理

多系统启动(以Windows系统为例)中,BIOS+MBR和UEFI+GPT的引导方法基本上是一样的,都是通过启动配置文件(BCD或boot.ini)来显示启动菜单,当用户选中其中某个启动项后,启动管理器会加载不同分区的Winload以启动此分区下的操作系统。

以下是通过BOOTICE修改启动配置文件(BCD),添加多系统启动项:

Windows系统引导过程以及多系统引导原理

 

名词解释

BIOS:基本输入输出系统(Basic Input Output System)。它是一组固化到计算机主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。完成硬件的初始化后,开始读入磁盘中的主引导记录(MBR)。

MBR:主引导记录(Master Boot Record)是位于磁盘最前边的一段引导(Loader)代码,主要有启动代码、硬盘分区表和结束标志字三部分组成。它负责磁盘操作系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,硬盘的主引导记录(MBR)是不属于任何一个操作系统的,它先于所有的操作系统而被调入内存,并发挥作用,然后才将控制权交给主分区(活动分区)内的操作系统。

DPT:磁盘分区表(Disk Partition Table)属于主引导记录中的第二部分,占据主引导扇区的64个字节(偏移01BEH--偏移01FDH),可以对四个分区的信息进行描述,其中每个分区的信息占据16个字节。

PBR:分区引导记录 (Partition Boot Record)可以加载该分区的io.sys (dos / win9x) 或 ntldr(win2000 xp 2003) 或 bootmgr (vista/win2008/win7/win10 )。

bootmgr:启动管理器(Boot Manager),是在Windows Vista、Windows 7、windows 8/8.1和windows 10中使用的新的启动管理器,以代替Windows NT系列操作系统(Windows XP、Windows 2003)中的启动管理器——NTLDR。

NTLDR:是一个隐藏的、只读的系统文件,位置在系统盘的根目录,功能是读取boot.ini,之后装载所选操作系统。是windows nt 4.0/windows 2000/windows xp/windows server 2003的引导文件。

BCD:启动设置数据(Boot Configuration Data) ,BCD是操作系统中的启动设置数据,在有vista或windows7的多重操作系统中,系统通过bootmgr程序导入BCD文件完成启动菜单的引导。可以在高级 系统设置-启动和故障恢复 中调整开机默认操作系统和等待时间。

boot.ini:启动配置文件,Windows NT、Windows 2000、Windows XP、Windows Server 2003主要依赖Boot.ini文件来确定计算机在引导过程中显示的可供选取的操作系统类别、等待时间等。

UEFI:统一的可扩展固件接口(Unified Extensible Firmware Interface), 这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。

GPT:GUID磁盘分区表(GUID Partition Table)是一个实体硬盘的分区表的结构布局的标准。用于替代BIOS系统存储逻辑块地址和大小信息的主开机纪录(MBR)分区表。



Tags:Windows 系统引导   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
系统启动的两种引导方式计算机系统引导方式主要有两种:一种是传统的BIOS模式,另一种是新型UEFI(全称统一的可扩展固件接口)模式。UEFI启动也可以看作是Bios的升级版。不同模式...【详细内容】
2019-09-02  Tags: Windows 系统引导  点击:(270)  评论:(0)  加入收藏
▌简易百科推荐
一、前言有朋友问:怎么才能让Windows电脑与iPhone方便的交换文件,我的解决方案是:利用Documents By Readdle 来完成Windows 11 与 iPhone / iPad 互传文件。苹果电脑与手机间通...【详细内容】
2021-12-27  Edge麦客    Tags:Windows11   点击:(8)  评论:(0)  加入收藏
IT之家 12 月 27 日消息,据 Windows Latest 报道,有时,你需要在 Windows 11 或 Windows 10 操作系统中复制一个文件或文件夹的完整路径。当你要在命令行或 Windows Run 等工具...【详细内容】
2021-12-27    IT之家  Tags:Win11   点击:(2)  评论:(0)  加入收藏
在windows使用中通常会需要命令脚本下载文件。这里记录了几种在cmd下不需要其他三方程序就可以直接下载文件的方法。1.certutil certutil -urlcache -split -f https://www....【详细内容】
2021-12-27  家门前    Tags:windows   点击:(6)  评论:(0)  加入收藏
电脑已成为我们生活的一部分,那么怎么激活Windows系统呢?以下分享一招可以永久激活Win10电脑系统,只需要两行代码即可。首先按键盘上的“Win+R“键调出运行框,然后在运行框中输...【详细内容】
2021-12-20  汕头辉    Tags:   点击:(26)  评论:(0)  加入收藏
微软的Windows开发团队今天发布了Windows 11 2021年的最后一个更新版本:Windows 11 Insider Preview Build 22523,目前该版本可供Insiders使用,并进行了许多改进和修复。该公司...【详细内容】
2021-12-17  微课传媒    Tags:Windows 11   点击:(21)  评论:(0)  加入收藏
IT之家 12 月 15 日消息,根据 mspoweruser 报道,微软于 12 月 13 日为当前支持的所有版本 Windows 10 操作系统推出了 KB5008212 累积更新,大小约为 600MB。这一更新没有任何新...【详细内容】
2021-12-15  IT之家    Tags:KB5008212   点击:(314)  评论:(0)  加入收藏
我肯定是选择再等一年再升级的 毕竟要给解决bug留出足够时间而且现在win10用着也挺顺手的 没必要折腾一遍系统 有必要升级的有两种人: 喜欢 Windows 11 的新外观,或者就是喜...【详细内容】
2021-12-15  斯巴达不罗嗦    Tags:Win11   点击:(36)  评论:(0)  加入收藏
安装Set-ExecutionPolicy RemoteSigned -scope CurrentUseriwr -useb get.scoop.sh | iex 测试安装是否成功scoop 查找软件scoop search git安装软件scoop install git关于...【详细内容】
2021-12-03  alantop    Tags:scoop   点击:(25)  评论:(0)  加入收藏
在实验室环境中,我一直在尝试Windows 11部署,并开始更新我在实验室中使用的一些方法来部署 Windows 11 的映像。这些工具包括 Microsoft Deployment Toolkit (MDT)。请注意,目前,W...【详细内容】
2021-12-01  壹加壹大与贰  今日头条  Tags:Windows 11   点击:(44)  评论:(0)  加入收藏
Win11怎么取消开机密码?很多用户都会给自己的电脑设置开机密码,保护自己的隐私,但是有的用户每次开机都有输入密码觉得很麻烦,所以想要取消开机密码,那么Win11怎么取消开机密码呢...【详细内容】
2021-11-30  小白系统    Tags:Win11   点击:(70)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条