网站首页 > 编程文章 正文
BIOS,电脑主板上的基本输入输出系统,用来初始化硬件设备,引导进入操作系统,近年来UEFI逐渐替代BIOS的功能,但人们还是习惯的称这个系统为BIOS,为了方便区分,在的主板设置中一般将传统的BIOS称为legacy,而UEFI就叫作UEFI,legacy和UEFI统称为主板的BIOS。
从电脑按下电源按钮的那一刻,BIOS就开始工作了,那么legacyBIOS和UEFIBIOS引导开机的过程到底是怎样的呢?下面来具体分析一下。
legacyBIOS开机引导过程:
1.主板加电,BIOS初始化CPU,然后继续执行BIOS芯片中的程序代码,进行其它硬件自检,完成硬件初始化。
2.读取硬盘第一个扇区中的MBR(Main Boot Record)主引导记录,这里存放了 IPL(Initial Program Loader初始化程序加载器)和DPT(Disk Partiton Table分区表),IPL读取活动分区(也就是引导文件所在的分区)的第一个扇区中的PBR(PartitionBootRecord)分区引导记录,根据PBR中的信息找到活动分区中的引导文件bootmgr.exe(bootmanger启动管理器)并执行。
3. bootmgr.exe启动管理器读取同目录下boot文件夹里的BCD(BootConfigurationData)启动配置数据,BCD中存储了操作系统内核加载程序的路径地址(C:\Windows\system32\winload.exe),bootmgr.exe执行winload.exe从而引导操作系统启动运行,如果硬盘中装有多个操作系统,BCD中则分别存储他们的内核加载程序的路径地址,并且bootmgr.exe会提供选择菜单,让用户选择加载不同的操作系统。
UEFIBIOS开机引导过程:
1.主板加电,BIOS芯片中的UEFI程序初始化CPU和内存,加载驱动程序完成硬件初始化。
2.UEFI系统由于支持文件系统,所以程序直接读取硬盘的ESP分区(EFISystemPartition)执行启动管理器,启动项如果选择直接从硬盘启动,则使用UEFI默认启动管理器\efi\boot\bootx64.efi,启动项如果选择windows安装程序写入NVRAM中保存的WindowsBootManager(可以使用微软出品的bcdboot.exe删除和建立该启动项),则该启用项使用windows专用启动管理器,路径为\efi\Microsoft\boot\bootmgfw.efi。
3. bootmgfw.efi启动管理器读取BCD启动配置文件,路径为efi\Microsoft\BCD,根据BCD中的路径执行操作系统内核加载程序winload.efi,路径为C:\Windows\system32\winload.efi,从而引导操作系统启动运行。
- 上一篇: Windows系统引导过程以及多系统引导原理
- 下一篇: Win10安装Win7双系统的具体操作方法
猜你喜欢
- 2024-10-21 过完剁手节来看微软的免费影子系统如何使用
- 2024-10-21 Windows 10之七种快速打开任务管理器方法
- 2024-10-21 Windows常见系统进程你知道多少(电脑系统进程有哪些)
- 2024-10-21 深刻了解windows系统的任务管理器,电脑高手的成长之路
- 2024-10-21 U盘装机常见问题大集结!从此装机不求人
- 2024-10-21 Win7找不到taskmgr.exe文件怎么办?
- 2024-10-21 玩转Win10任务管理器技巧大全(玩转win10任务管理器技巧大全)
- 2024-10-21 微软,骚还是你骚啊(你好骚啊是即兴)
- 2024-10-21 windows系统启动不了,怎么办?一招轻松搞定!
- 2024-10-21 win7电脑系统常见的启动故障(win7启动失败怎么办)
你 发表评论:
欢迎- 05-09Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 05-09《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- 05-09MapStruct架构设计(mapstruct @mapping)
- 05-09分布式微服务架构组件(分布式微服务架构设计)
- 05-09Java Swing组件下的JButton实例(java swing 组件)
- 05-09java基础都在这了,小主们拿去吧(java基础是指什么)
- 05-09AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 05-09【Spring Boot】WebSocket 的 6 种集成方式
- 最近发表
-
- Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- MapStruct架构设计(mapstruct @mapping)
- 分布式微服务架构组件(分布式微服务架构设计)
- Java Swing组件下的JButton实例(java swing 组件)
- java基础都在这了,小主们拿去吧(java基础是指什么)
- AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 【Spring Boot】WebSocket 的 6 种集成方式
- Java 中五种最常见加密算法:原理、应用与代码实现
- 用注解进行参数校验,spring validation介绍、使用、实现原理分析
- 标签列表
-
- spire.doc (59)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- sqljdbc4.jar下载 (56)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- 苹果ios字体下载 (56)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)