Windows系统启动引导过程
Windows系统引导过程以及多系统引导原理-
系统启动的两种引导方式
计算机系统引导方式主要有两种:一种是传统的BIOS模式,另一种是新型UEFI(全称统一的可扩展固件接口)模式。UEFI启动也可以看作是Bios的升级版。不同模式对应不同的磁盘分区类型,BIOS只可以识别MBR分区;而UEFI可同时识别MBR分区和GPT分区,所以在UEFI下可以启动不同磁盘类型中的操作系统。
BIOS芯片
- BIOS+MBR引导过程
BIOS引导过程:开机自检>BIOS>MBR(主引导记录)–>DPT(磁盘分区表)>PBR(分区引导记录)> Bootmgr(引导管理器)/NTLDR>BCD(从vista开始的引导配置数据)/boot.ini(XP 引导配置文件)>Winload.exe>内核加载 >windows vista+/windows xp
- 开机自检,BIOS先要对CPU初始化,然后跳转到BIOS启动处进行POST自检,(此过程如有严重错误,则电脑会用不同的报警声音提醒),接下来采用读中断的方式加载各种硬件,完成硬件的初始化。
- 读入MBR(主引导记录),MBR主要功能是在分区表(DPT)中寻找可引导的活动分区(也叫激活主分区),并找到该分区的引导扇区(分区的第一个扇区)中的分区引导记录(PBR),载入PBR中的启动管理器(bootmgr.exe或NTLDR)。注意:MBR磁盘分区格式下,一个磁盘只允许有一个分区是活动的,因此启动文件(bootmgr、BCD)必须存放在活动的主分区内,这样才能找到系统载入程序。
- 启动管理器读取该分区boot文件夹里的启动配置文本BCD(或根目录下boot.ini),然后根据启动设置文件定位并加载二级引导载入程序winload.exe来加载OS内核。如果有多个系统,启动配置文件就会有多个启动项,相应的bootmgr也会提供选择菜单,然后则根据用户选择来决定加载哪个系统的Winload(多系统引导选择)。
- UEFI+GPT 引导过程
UEFI引导过程:开机>UEFI>GPT分区表>ESP分区(也称EFI分区)>\efi\Microsoft\boot\bootmgfw.efi>efi\Microsoft\BCD>\Windows\system32\winload.efi。此过程没有MBR参与。
- 开机启动自检,执行UEFI初始化模块;
- UEFI执行后,会进行CPU、北桥、南桥及存储器初始化工作,当这部分设备就绪后,紧接着它就载入UEFI驱动执行环境(Driver Execution Environment,简称DXE)。当DXE被载入时,系统就可以加载硬件设备的UEFI驱动程序了。DXE使用了枚举的方式加载各种总线及设备驱动,UEFI驱动程序可以放置于系统的任何位置,只要保证它可以按顺序被正确枚举。借助这一点,我们可以把众多设备的驱动放置在磁盘的UEFI专用分区中(ESP分区),当系统正确加载这个磁盘后,这些驱动就可以被读取并应用了。在这个特性的作用下,即使新设备再多,UEFI也可以轻松地一一支持,由此克服了传统BIOS捉襟见肘的情形。UEFI能支持网络设备并轻松联网,原因就在于此。
- 从EFI分区找到启动管理器(\efi\Microsoft\boot\bootmgfw.efi)。
- 启动管理器导入EFI分区BCD文件(efi\Microsoft\BCD),然后根据其配置内容加载引导加载程序winload.efi(C:\Windows\system32\winload.efi)来加载OS内核。如果BCD中有多个配置项,则会让用户选择要启动的系统。如果有多个系统,启动设置文件就会有多个启动项,相应的bootmgr也会提供选择菜单,然后则根据用户选择来决定加载哪个系统的Winload(多系统引导原理)。
在GPT磁盘格式下,windows系统的启动文件和启动配置文件(bootmgfw.efi、BCD)是存放在一个不可见的FAT格式的分区里的(也叫ESP分区或EFI分区)。
多系统启动原理
多系统启动(以Windows系统为例)中,BIOS+MBR和UEFI+GPT的引导方法基本上是一样的,都是通过启动配置文件(BCD或boot.ini)来显示启动菜单,当用户选中其中某个启动项后,启动管理器会加载不同分区的Winload以启动此分区下的操作系统。
Windows系统启动引导过程相关推荐
- Windows NT引导过程源代码分析
Windows 引导过程 Windows 内核中的各个组件和各种机制在起作用以前,必须首先被初始化.此初始化工作是在系统引导时完成的.当用户打开计算机的电源开关时,计算机便开始运行,但操作系统并不立即 ...
- windows 7 引导过程概述
windows 7 引导过程概述 原文地址:http://blog.csdn.net/richion/article/details/4414189 Window 7 的核心版本号是 NT6.1 ,和 ...
- windows操作系统的引导过程描述
一般情况系统的引导过程是这样的: 1.电源自检程序开始运行 2.主引导记录被装入内存,并且程序开始执行 3.活动分区的引导扇区被装入内存 4.NTLDR从引导扇区被装入并初始化 5.将处理器的实模式改 ...
- Windows操作系统引导过程
Windows作为最流行的个人计算机操作系统,成为了我们学习.工作和生活的一部分.从计算机通电到Windows启动完成,这具体是怎样的过程?跟着小编一起去探索吧. Windows引导过程 Window ...
- linux引导过程简述6,CentOS 6系统启动引导过程讲解
POST --> BootSequence(BIOS) --> BootLoader --> Kernel (ramdisk) --> rootfs --> /sbin/ ...
- Windows引导过程(BIOS,UEFI)
通电后CPU首先执行的是主板引导程序,主板引导程序可分为BIOS和UEFI.BIOS是最早的方案,搭配MBR分区使用,BIOS逐渐被UEFI代替,UEFI一般搭配GPT分区使用,所以引导过程会有两种情 ...
- 计算机原理-OS-引导-内核引导过程详解
本文翻译并且修改自:http://duartes.org/gustavo/blog/ 微信公众号:技术原理君 最新个人博客 shankusu.me 今天让我们深入内核,去看看操作系统是怎么启动的吧.由 ...
- uefiboot 文件_UEFI BIOS模式下Windows系统启动过程以及引导文件修复方法
UEFI BIOS→ESP分区→\efi\Microsoft\boot\bootmgfw.efi→efi\Microsoft\Boot\BCD→\Windows\system32\winload.ef ...
- UEFI BIOS模式下Windows系统启动过程以及引导文件修复方法
UEFI BIOS→ESP分区→\efi\Microsoft\boot\bootmgfw.efi→efi\Microsoft\Boot\BCD→\Windows\system32\winload.ef ...
最新文章
- Linux如何编译安装源码包软件
- hadoop(ha)hbase(双master)安装
- 华为防火墙查看日志命令_防火墙接入互联网方式,到底有哪些呢?5分钟学会防火墙入网...
- 计算机在外语专业中有哪些应用,CALL(3):计算机在外语教学中的应用
- java泛型和注解,泛型 · 注解和泛型 · 看云
- 基础知识—函数-函数概述
- 【 D3.js 入门系列 --- 7 】 理解 update, enter, exit 的使用
- 简书优秀IT专栏作者推荐
- android design library提供的TabLayout的用法
- php浮动广告,JavaScript实现漂浮广告代码的实例总结
- 主板检测卡c5_主板检测卡代码大全
- win7显示u盘efi分区_win7下找不到u盘efi分区
- html5 放风筝,北京最全的放风筝5大最佳地点,地广人稀,不用花钱
- Mac 修改移动硬盘图标,U盘图标
- matlab三点绘制三角形,matlab画三角形网格
- 简洁的圆形时钟数字时钟+指针时钟(1+X Web前端开发初级 例题)
- 优雅发送HTTP请求
- 高德Location
- 易捷行云荣登“2020行业信息化百强之云计算大数据20强榜单”
- 4.2-知识图谱在电商领域中的应用实践