CN103729219A - 一种uefi bios架构方法及*** - Google Patents
一种uefi bios架构方法及*** Download PDFInfo
- Publication number
- CN103729219A CN103729219A CN201310726268.9A CN201310726268A CN103729219A CN 103729219 A CN103729219 A CN 103729219A CN 201310726268 A CN201310726268 A CN 201310726268A CN 103729219 A CN103729219 A CN 103729219A
- Authority
- CN
- China
- Prior art keywords
- udxe
- driver
- bios
- uefi
- bds
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种UEFI BIOS架构方法及***,涉及计算机技术领域,其方法包括BIOS执行的以下步骤:启动SEC运行进行安全检测,并在SEC运行的后期,将CPU的运行模式切换到64位保护模式;然后,在所述64位保护模式下启动UDXE运行,完成驱动程序装载;接着,在所述64位保护模式下启动BDS运行,以便根据用户设定,装载UEFI OS;最后,在所述64位保护模式下启动RT运行,使所述UEFI OS开始运行;其中,所述BIOS是指基本输入/输出***,所述UDXE是指统一可扩展固件接口。本发明UEFI BIOS代码全部运行在64位保护模式下,节省BIOS启动时间。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口)BIOS(Basic Input Output System,基本输入输出***)架构的方法及***。
背景技术
目前的UEFI BIOS架构由五部份构成:SEC(Security phase,安全阶段),PEI(Pre-EFI Initialization phase,EFI初始化准备阶段),DXE(Driver Execution Environment phase,驱动执行环境阶段),BDS(Boot Device Sele ction phase,启动设备选择阶段)和RT(Run Time phase,运行时期阶段)。SEC运行在大实模式,而PEI运行在32位保护模式下,然后通过DXE IPL(Ini tial Program Load,初始程序导入)模块将CPU切换到64位保护模式中的长模式。随后的DXE、BDS和RT均运行在64位保护模式下。在UEFI BIOS架构中,我们需要增加一个模块DXE IPL来完成CPU模式从32位移到64位模式下。带来的问题是:
1.UEFI BIOS代码一部分运行在32位保护模式下,而另一部份运行在64位保护模式下。这两部份代码必须分别编译,无法共享运行库。
2.UEFI BIOS要利用DXE IPL模块完成32位到64位保护模式的切换,这个切换过程会占用一部份BIOS启动时间。
为解决上述问题,本发明提供了一种UEFI BIOS架构的方法及***。
发明内容
本发明的目的在于提供一种UEFI BIOS架构的方法及***,解决了现有技术中需要进行32位到64位保护模式的切换,使得BIOS启动时间慢的问题。
根据本发明的一个方面,提供了一种UEFI BIOS架构的方法,包括BIOS执行的以下步骤:
启动SEC运行进行安全检测,并在SEC运行的后期,将CPU的运行模式切换到64位保护模式;
然后,在所述64位保护模式下启动UDXE(Unified Driver Execution Environment,统一的驱动执行环境)运行,完成驱动程序装载;
接着,在所述64位保护模式下启动BDS运行,以便根据用户设定,装载UEFI OS(Operation System,操作***);
最后,在所述64位保护模式下启动RT运行,使所述UEFI OS开始运行;
其中,所述BIOS是指基本输入/输出***,所述UDXE是指统一可扩展固件接口。
优选地,在所述64位保护模式下启动UDXE运行,完成驱动程序装载的步骤包括:
在所述64位保护模式下启动UDXE运行,并按照指令将所述UDXE内核装载到所述CPU的二级缓存中进行缓存;
所述缓存在所述CPU的二级缓存中的所述UDXE内核按照第一装载指令装载64位UDXE驱动程序分发器;
所述64位UDXE驱动程序分发器按照第二装载指令装载64位内存控制器驱动程序。
优选地,当所述装载64位内存控制器驱动程序后,将所述UDXE内核从所述CPU的二级缓存中移至4M内存中进行保存。
优选地,所述64位UDXE驱动程序分发器通过装载BDS_ARCH_PROTOCOL驱动程序,启动BDS运行。
优选地,还包括:
当所述64位UDXE驱动程序分发器装载所述64位内存控制器驱动程序或装载所述BDS_ARCH_PROTOCOL驱动程序失败时,结束运行工作。
根据本发明的另一方面,提供了一种UEFI BIOS架构的***,包括BIOS执行的以下模块:
SEC模块,用于启动SEC运行进行安全检测,并在SEC运行的后期,将CPU的运行模式切换到64位保护模式;
UDXE模块,用于在所述64位保护模式下启动UDXE运行,完成驱动程序装 载;
BDS模块,用于在所述64位保护模式下启动BDS运行,以便根据用户设定,装载UEFI OS;
RT模块,用于在所述64位保护模式下启动RT运行,使所述UEFI OS开始运行;
其中,所述BIOS是指基本输入/输出***,所述UDXE是指统一可扩展固件接口。
优选地,所述UDXE模块包括:
缓存单元,用于在所述64位保护模式下启动UDXE运行,并按照指令将所述UDXE内核装载到所述CPU的二级缓存中进行缓存;
装载单元,用于所述缓存在所述CPU的二级缓存中的所述UDXE内核按照第一装载指令装载64位UDXE驱动程序分发器;以及所述64位UDXE驱动程序分发器按照第二装载指令装载64位内存控制器驱动程序。
优选地,当所述装载64位内存控制器驱动程序后,将所述UDXE内核从所述CPU的二级缓存中移至4M内存中进行保存。
优选地,所述64位UDXE驱动程序分发器通过装载BDS_ARCH_PROTOCOL驱动程序,启动BDS运行。
优选地,还包括:
当所述64位UDXE驱动程序分发器装载所述64位内存控制器驱动程序或装载所述BDS_ARCH_PROTOCOL驱动程序失败时,结束运行工作。
与现有技术相比较,本发明的有益效果在于:
本发明通过使用UDXE,使得UEFI BIOS代码全部运行在64位保护模式下,节省了BIOS启动时间,提高了用户体验。
附图说明
图1是本发明实施例提供的一种UEFI BIOS架构的方法流程图;
图2是本发明实施例提供的一种UEFI BIOS架构的***的示意图;
图3是本发明实施例提供的UEFI BIOS的架构流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1显示了本发明实施例提供的一种UEFI BIOS架构的方法流程图,如图1所示,包括BIOS执行的以下步骤:
步骤S101:启动SEC运行进行安全检测,并在SEC运行的后期,将CPU的运行模式切换到64位保护模式;
步骤S102:在所述64位保护模式下启动UDXE运行,完成驱动程序装载;
步骤S103:在所述64位保护模式下启动BDS运行,以便根据用户设定,装载UEFI OS;
步骤S104:在所述64位保护模式下启动RT运行,使所述UEFI OS开始运行;
其中,所述BIOS是指基本输入/输出***,所述UDXE是指统一可扩展固件接口。
本发明在启动SEC运行进行安全检测,并在SEC运行的后期,将CPU的运行模式从大实模式切换到64位保护模式。
本发明在所述64位保护模式下启动UDXE运行,完成驱动程序装载的步骤包括:在所述64位保护模式下启动UDXE运行,并按照指令将所述UDXE内核装载到所述CPU的二级缓存中进行缓存;所述缓存在所述CPU的二级缓存中的所述UDXE内核按照第一装载指令装载64位UDXE驱动程序分发器;所述64位UDXE驱动程序分发器按照第二装载指令装载64位内存控制器驱动程序。
其中,当所述装载64位内存控制器驱动程序后,将所述UDXE内核从所述CPU的二级缓存中移至4M内存中进行保存。
本发明所述64位UDXE驱动程序分发器通过装载BDS_ARCH_PROTOCOL驱动程序,启动BDS运行。
本发明还包括:当所述64位UDXE驱动程序分发器装载所述64位内存控制器驱动程序或装载所述BDS_ARCH_PROTOCOL驱动程序失败时,结束运行工作。
图2显示了本发明实施例提供的一种UEFI BIOS架构的***的示意图,如图2所示,包括BIOS执行的以下模块:SEC模块201,用于启动SEC运行进行安全 检测,并在SEC运行的后期,将CPU的运行模式切换到64位保护模式;UDXE模块202,用于在所述64位保护模式下启动UDXE运行,完成驱动程序装载;BDS模块203,用于在所述64位保护模式下启动BDS运行,以便根据用户设定,装载UEFI OS;RT模块204,用于在所述64位保护模式下启动RT运行,使所述UEFIOS开始运行;其中,所述BIOS是指基本输入/输出***,所述UDXE是指统一可扩展固件接口。
其中,所述UDXE模块202包括:缓存单元,用于在所述64位保护模式下启动UDXE运行,并按照指令将所述UDXE内核装载到所述CPU的二级缓存中进行缓存;装载单元,用于所述缓存在所述CPU的二级缓存中的所述UDXE内核按照第一装载指令装载64位UDXE驱动程序分发器;以及所述64位UDXE驱动程序分发器按照第二装载指令装载64位内存控制器驱动程序。
其中,当所述装载64位内存控制器驱动程序后,将所述UDXE内核从所述CPU的二级缓存中移至4M内存中进行保存。
所述64位UDXE驱动程序分发器通过装载BDS_ARCH_PROTOCOL驱动程序,启动BDS运行。
本发明还包括:当所述64位UDXE驱动程序分发器装载所述64位内存控制器驱动程序或装载所述BDS_ARCH_PROTOCOL驱动程序失败时,结束运行工作。
图3显示了本发明实施例提供的UEFI BIOS的架构流程图,如图3所示,包括以下步骤:
步骤1、BIOS模块启动进入SEC阶段后,在SEC最后阶段切换CPU模式为64位保护模式长模式。
步骤2、BIOS将UDXE内核装载到CPU二级缓存,所述UDXE内核再装载64位UDXE驱动程序分发器,若加载成功,进入步骤3,若加载失败,结束运行工作。
64位UDXE驱动程序分发器装载64位内存控制器驱动程序,完成内存初始化后,将所述UDXE内核从CPU二级缓存移到4M常规内存中,在所述常规内存中64位UDXE驱动程序分发器继续装载其它64位驱动程序,如显卡,南桥等。
步骤3、64位UDXE驱动程序分发器装载BDS_ARCH_PROTOCOL驱动程序,进入BDS阶段,若加载成功,进入步骤4,若加载失败,结束运行工作。
步骤4、BDS阶段根据用户设定,装载并运行UEFI OS从所选定启动分区上,若加载成功,进入步骤5,若加载失败,结束运行工作。
步骤5、UEFI OS开始运行,进入RT阶段。
综上所述,本发明的新型UEFI BIOS架构由四部份构成:SEC、UDXE、BDS及RT。SEC运行在大实模式,而UDXE运行在64位保护模式中的长模式,是新型UEFI BIOS架构的第二阶段,此阶段驱动程序全部为64位微软PE32+格式驱动程序,并且提供一个64位的驱动程序装载器,在随后的BDS及RT均运行在64位保护模式下。
综上所述,本发明具有以下技术效果:
a.UEFI BIOS代码全部运行在64位保护模式下,不再需要32位模块。
b.无需再利用DXE IPL模块进行32位到64位保护模式切换,节省BIOS启动时间。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (10)
1.一种UEFI BIOS架构方法,其特征在于,包括BIOS执行的以下步骤:
启动SEC运行进行安全检测,并在SEC运行的后期,将CPU的运行模式切换到64位保护模式;
然后,在所述64位保护模式下启动UDXE运行,完成驱动程序装载;
接着,在所述64位保护模式下启动BDS运行,以便根据用户设定,装载UEFIOS;
最后,在所述64位保护模式下启动RT运行,使所述UEFI OS开始运行;
其中,所述BIOS是指基本输入/输出***,所述UDXE是指统一可扩展固件接口。
2.根据权利要求1所述的方法,其特征在于,在所述64位保护模式下启动UDXE运行,完成驱动程序装载的步骤包括:
在所述64位保护模式下启动UDXE运行,并按照指令将所述UDXE内核装载到所述CPU的二级缓存中进行缓存;
所述缓存在所述CPU的二级缓存中的所述UDXE内核按照第一装载指令装载64位UDXE驱动程序分发器;
所述64位UDXE驱动程序分发器按照第二装载指令装载64位内存控制器驱动程序。
3.根据权利要求2所述的方法,其特征在于,当所述装载64位内存控制器驱动程序后,将所述UDXE内核从所述CPU的二级缓存中移至4M内存中进行保存。
4.根据权利要求2或3所述的方法,其特征在于,所述64位UDXE驱动程序分发器通过装载BDS_ARCH_PROTOCOL驱动程序,启动BDS运行。
5.根据权利要求4所述的方法,其特征在于,还包括:
当所述64位UDXE驱动程序分发器装载所述64位内存控制器驱动程序或装载所述BDS_ARCH_PROTOCOL驱动程序失败时,结束运行工作。
6.一种UEFI BIOS架构***,其特征在于,包括BIOS执行的以下模块:
SEC模块,用于启动SEC运行进行安全检测,并在SEC运行的后期,将CPU的运行模式切换到64位保护模式;
UDXE模块,用于在所述64位保护模式下启动UDXE运行,完成驱动程序装载;
BDS模块,用于在所述64位保护模式下启动BDS运行,以便根据用户设定,装载UEFI OS;
RT模块,用于在所述64位保护模式下启动RT运行,使所述UEFI OS开始运行;
其中,所述BIOS是指基本输入/输出***,所述UDXE是指统一可扩展固件接口。
7.根据权利要求6所述的***,其特征在于,所述UDXE模块包括:
缓存单元,用于在所述64位保护模式下启动UDXE运行,并按照指令将所述UDXE内核装载到所述CPU的二级缓存中进行缓存;
装载单元,用于所述缓存在所述CPU的二级缓存中的所述UDXE内核按照第一装载指令装载64位UDXE驱动程序分发器;以及所述64位UDXE驱动程序分发器按照第二装载指令装载64位内存控制器驱动程序。
8.根据权利要求7所述的***,其特征在于,当所述装载64位内存控制器驱动程序后,将所述UDXE内核从所述CPU的二级缓存中移至4M内存中进行保存。
9.根据权利要求7或8所述的***,其特征在于,所述64位UDXE驱动程序分发器通过装载BDS_ARCH_PROTOCOL驱动程序,启动BDS运行。
10.根据权利要求9所述的***,其特征在于,还包括:
当所述64位UDXE驱动程序分发器装载所述64位内存控制器驱动程序或装载所述BDS_ARCH_PROTOCOL驱动程序失败时,结束运行工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310726268.9A CN103729219B (zh) | 2013-12-25 | 2013-12-25 | 一种uefi bios架构方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310726268.9A CN103729219B (zh) | 2013-12-25 | 2013-12-25 | 一种uefi bios架构方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103729219A true CN103729219A (zh) | 2014-04-16 |
CN103729219B CN103729219B (zh) | 2017-07-18 |
Family
ID=50453303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310726268.9A Active CN103729219B (zh) | 2013-12-25 | 2013-12-25 | 一种uefi bios架构方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103729219B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159810A (zh) * | 2015-10-16 | 2015-12-16 | 合肥联宝信息技术有限公司 | 对计算机***的bios进行测试的方法及装置 |
CN105893833A (zh) * | 2016-03-31 | 2016-08-24 | 山东超越数控电子有限公司 | 一种用于固件安全管理的硬件接口 |
CN106095630A (zh) * | 2016-05-31 | 2016-11-09 | 合肥联宝信息技术有限公司 | 执行bios上电自检程序的方法 |
WO2017120812A1 (en) * | 2016-01-14 | 2017-07-20 | Intel Corporation | Secure communication channel for system management mode |
CN114090095A (zh) * | 2022-01-19 | 2022-02-25 | 苏州浪潮智能科技有限公司 | 一种多路服务器中cpu的bios加载方法及相关组件 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8086839B2 (en) * | 2008-12-30 | 2011-12-27 | Intel Corporation | Authentication for resume boot path |
-
2013
- 2013-12-25 CN CN201310726268.9A patent/CN103729219B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8086839B2 (en) * | 2008-12-30 | 2011-12-27 | Intel Corporation | Authentication for resume boot path |
Non-Patent Citations (2)
Title |
---|
UEFI FORUM: "Vol2_DXE CIS_1_3", 《HTTP://WWW.UEFI.ORG/SPECIFICATIONS》 * |
YMZHOU117: "传统bios和UEFI bios启动流程分析", 《HTTP://BLOG.CSDN.NET/YMZHOU117/ARTICLE/DETAILS/7085621》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159810A (zh) * | 2015-10-16 | 2015-12-16 | 合肥联宝信息技术有限公司 | 对计算机***的bios进行测试的方法及装置 |
CN105159810B (zh) * | 2015-10-16 | 2019-05-24 | 合肥联宝信息技术有限公司 | 对计算机***的bios进行测试的方法及装置 |
WO2017120812A1 (en) * | 2016-01-14 | 2017-07-20 | Intel Corporation | Secure communication channel for system management mode |
US10776524B2 (en) | 2016-01-14 | 2020-09-15 | Intel Corporation | Secure communication channel for system management mode |
CN105893833A (zh) * | 2016-03-31 | 2016-08-24 | 山东超越数控电子有限公司 | 一种用于固件安全管理的硬件接口 |
CN105893833B (zh) * | 2016-03-31 | 2019-07-05 | 山东超越数控电子有限公司 | 一种用于固件安全管理的硬件接口 |
CN106095630A (zh) * | 2016-05-31 | 2016-11-09 | 合肥联宝信息技术有限公司 | 执行bios上电自检程序的方法 |
CN114090095A (zh) * | 2022-01-19 | 2022-02-25 | 苏州浪潮智能科技有限公司 | 一种多路服务器中cpu的bios加载方法及相关组件 |
Also Published As
Publication number | Publication date |
---|---|
CN103729219B (zh) | 2017-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5497923B2 (ja) | システム管理モードにおけるプロセッサ間割り込みの再方向付け | |
CN109992972B (zh) | 一种云环境内信任链的建立方法及*** | |
JP5119686B2 (ja) | 情報処理装置および設定方法 | |
US9286097B2 (en) | Switching a first OS in a foreground to a standby state in response to a system event and resuming a second OS from a background | |
JP2011100431A (ja) | 仮想マシン制御装置及び仮想マシン制御方法 | |
US8910169B2 (en) | Methods and systems to perform a computer task in a reduced power consumption state | |
CN103729219A (zh) | 一种uefi bios架构方法及*** | |
WO2013159652A1 (en) | Restoring from legacy os environment to uefi pre-boot environment | |
TWI442321B (zh) | 電子裝置開機加速方法以及相關之電子裝置 | |
KR101673299B1 (ko) | 운영 시스템 복구 방법 및 장치, 그리고 단말기기 | |
CN203324968U (zh) | 更新***固件或参数的装置及其电脑*** | |
CN101714091A (zh) | 用于在操作***初始化期间显示平台图形的方法和*** | |
CN104572161B (zh) | 一种基于龙芯便携式计算机的uefi固件实现方法 | |
JP2008186175A (ja) | オペレーティングシステムの起動制御方法及び情報処理装置 | |
KR20150130353A (ko) | 핫스왑가능 프로그램 메모리의 운영체제 커널 업데이트 동안의 전환 시간 최소화 | |
US20190004818A1 (en) | Method of UEFI Shell for Supporting Power Saving Mode and Computer System thereof | |
US20220237144A1 (en) | Baseboard management controller and construction method thereof | |
US20150067317A1 (en) | Device-less and system agnostic unified extensible firmware interface (uefi) driver | |
EP3025230A1 (en) | Operating system switching method and apparatus | |
CN101241442A (zh) | 具有双开机程序代码区的计算机***及其启动方法 | |
CN105468390A (zh) | Boot在线升级装置及方法 | |
CN103984572A (zh) | 一种无光驱实现电脑安装和切换操作***的方法及设备 | |
US20140095859A1 (en) | Apparatus and method for managing register information in a processing system | |
CN102567251B (zh) | Bios的控制方法和装置 | |
CN102508682B (zh) | 一种***预引导阶段硬件辅助cpu虚拟化环境建立的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |