CN112817642A - X86平台使用固件自动切换启动efi操作系统的方法、装置 - Google Patents
X86平台使用固件自动切换启动efi操作系统的方法、装置 Download PDFInfo
- Publication number
- CN112817642A CN112817642A CN202110046619.6A CN202110046619A CN112817642A CN 112817642 A CN112817642 A CN 112817642A CN 202110046619 A CN202110046619 A CN 202110046619A CN 112817642 A CN112817642 A CN 112817642A
- Authority
- CN
- China
- Prior art keywords
- boot
- strategy
- starting
- module
- efi
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012423 maintenance Methods 0.000 claims abstract description 14
- 238000001514 detection method Methods 0.000 claims description 12
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 239000000306 component Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种X86平台使用固件自动切换EFI操作系统的方法、装置,其中方法包括:CPU从边带控制器中获取系统引导启动策略;加载引导程序,引导程序根据获取的引导启动策略从磁盘设备中选择相应的引导入口进行系统引导;检测系统引导启动是否成功,并在系统引导失败时,复位重启CPU,然后引导程序根据引导启动策略自动切换启动其他EFI操作系统;更新并存储引导启动策略。本发明能够自动检测系统启动是否成功,并在启动失败后自动触发系统切换启动策略,直至系统启动成功,系统切换触发过程不需要人工介入,降低了以往触发系统切换需要前往现场的高额维护成本。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种X86平台使用固件自动切换启动EFI操作系统的方法、装置。
背景技术
X86计算机主机板的操作系统通常需要进行远程升级维护,升级维护后的操作系统需要重启后才能生效,但设备重启可能会失败,一旦重启失败,设备将处于离线状态,远程端无法再对设备进行升级维护,此时需要维护人员前往设备安装现场重启后再做升级维护,增加了设备维护成本。
另外,在当前运行的操作系统出现故障需要切换到备用操作系统时,需要手动按下系统切换按键,设备在检测到按键按下后,对设备进行复位,并由BIOS切换引导启动备用系统。但设备在远端时,这种手动切换操作系统的方式同样需要维护人员前往设备现场,非常不便。
发明内容
本发明的目的在于提供一种X86平台使用固件自动切换启动EFI操作系统的方法、装置,以在系统启动失败后自动触发切换启动机制,切换到另一个EFI操作系统,确保系统启动成功,避免发生因设备掉线无法进行远程升级维护的情况。
为达此目的,本发明采用以下技术方案:
提供一种X86平台使用固件自动切换EFI操作系统的方法,具体包括:
步骤S1,CPU从边带控制器中获取系统引导启动策略;
步骤S2,加载引导程序,所述引导程序根据获取的所述引导启动策略从磁盘设备中选择相应的引导入口进行系统引导;
步骤S3,检测系统引导启动是否成功,并在启动失败时,复位重启所述CPU,然后所述引导程序根据所述引导启动策略自动切换启动其他EFI操作系统;
步骤S4,更新并存储所述引导启动策略。
作为本发明的一种优选方案,所述引导启动策略为:
若主系统引导启动成功,则在下一次引导启动时,所述引导程序同样首先尝试引导启动所述主系统。
作为本发明的一种优选方案,所述引导启动策略为:
若主系统引导启动成功,则在下一次引导启动时,所述引导程序尝试引导启动备用系统,若所述备用系统引导启动失败,则所述引导程序重新引导启动所述主系统。
作为本发明的一种优选方案,所述引导启动策略为:
若主系统引导启动失败,则所述引导程序尝试引导启动备用系统,若所述备用系统引导启动同样失败,则所述引导程序引导启动精简系统,并在所述精简系统中设置下一次引导启动所述主系统。
作为本发明的一种优选方案,还包括强制启动精简系统的方法,强制启动所述精简系统的方法具体为:
触发设置在所述边带控制器上的强制重启按键,所述强制重启按键向所述CPU发送一个强制启动信号,所述CPU根据接收到的所述强制启动信号通过所述引导程序引导启动所述精简系统。
作为本发明的一种优选方案,所述强制重启信号可通过长按所述强制重启按键触发或通过BMC控制器远程触发。
作为本发明的一种优选方案,所述边带控制器为EC控制器、MCU微控制单元、CPLD可编程逻辑器件或BMC控制器中的任意一种。
作为本发明的一种优选方案,所述磁盘设备为HDD、SDD或eMMC存储器中的任意一种。
作为本发明的一种优选方案,所述磁盘设备采用GPT分区方式进行磁盘分区。
作为本发明的一种优选方案,所述边带控制器与所述CPU通过Bus总线实现相互间的通信连接,所述Bus总线为SMBus总线或UART总线。
本发明还提供了一种X86平台使用固件自动切换EFI操作系统的装置,所述装置包括:
引导启动策略获取模块,用于通过CPU从边带控制器中获取系统引导启动策略;
引导程序加载模块,用于在设备上电后加载系统引导程序;
系统引导模块,分别连接所述引导启动策略获取模块和所述引导程序加载模块,用于通过所述引导程序根据获取的所述引导启动策略从磁盘设备中选择相应的引导入口进行系统引导;
引导成功与否检测模块,连接所述系统引导模块,用于检测系统引导是否成功,并输出检测结果;
切换启动模块,分别连接所述引导启动策略获取模块和所述引导成功与否检测模块,用于在检测到系统引导启动失败后,根据所述引导启动策略自动切换启动其他EFI操作系统;
引导启动策略创建及更新模块,用于提供给维护人员创建或更新所述引导启动策略并存储到所述边带控制器中。
本发明还提供了一种计算机可读存储介质,包括执行指令,当电子设备的处理器执行所述执行指令时,所述处理器执行所述的自动切换启动EFI操作系统的方法。
本发明能够自动检测系统启动是否成功,并在启动失败后自动触发系统切换启动策略,直至系统启动成功,系统切换触发过程不需要人工介入,降低了以往触发系统切换需要前往现场的高额维护成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的自动切换EFI操作系统的方法步骤图;
图2是本发明一实施例提供的自动切换EFI操作系统的装置的内部结构示意图;
图3是本发明一实施例提供的自动切换EFI操作系统的方法的实现流程图;
图4是实现本发明一实施例提供的自动切换EFI操作系统的方法的装置结构框图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
在本发明的描述中,除非另有明确的规定和限定,若出现术语“连接”等指示部件之间的连接关系,该术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个部件内部的连通或两个部件的相互作用关系。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在阐述本发明实施例提供的X86平台使用固件自动切换EFI操作系统的具体方法之前,首先对阐述内容将涉及到的专业词汇进行释义。
BIOS(Basic Input/Output System),即基本输入输出系统,是在设备通电引导阶段运行硬件初始化,然后从大容量存储设备(如硬盘)加载引导程序,并由引导程序加载操作系统,以及为操作系统提供运行时服务的固件。
UEFI(Unified Extensible Firmware Interface),即统一可扩展固件接口,用于定义操作系统与系统固件之间的软件界面,作为BIOS的替代方案。可扩展固件接口负责加电自检、联系操作系统以及提供连接操作系统与硬件的接口。
GPT(GUID Partition Table),即全局唯一标识分区表,是一个实体硬盘的分区表的结构布局的标准。它是UEFI标准的一部分,被用于替代BIOS系统中用来存储逻辑块地址和大小信息的主引导记录(MBR)分区表。
EFI操作系统,通常指可支持EFI引导的操作系统。Linux内核自2000年开始,已经支持EFI引导。目前大多数Linux发行版已使用GRUB作为EFI操作系统下的引导程序。
EFI操作系统通常有两个分区:引导分区和系统分区,EFI操作系统要求磁盘分区表为GPT格式。
以下以X86平台安装有主系统Active OS、备用系统Backup OS和精简系统GoldenOS三个EFI操作系统为例,并结合图4示出的实现本实施例提供的自动切换EFI操作系统的方法的装置的结构框图,首先对实现自动切换EFI操作系统的方法的装置结构以及装置核心部件的功能进行说明:
图4中的Active OS,是指承载了实际应用软件的主系统,在大多数情况下都在此系统中对备用系统Backup OS进行升级维护;
Backup OS为在功能上与主系统Active OS基本相同的备用系统,Backup OS与主系统Active OS互为备份,可以在此系统中对主系统Active OS进行升级维护;
Golden OS为最小化的精简系统,仅加载启动所需的最少部件,主要用于对主系统Active OS和备用系统Backup OS的升级维护。
图4中的CPU主要有两个运行阶段:
一是BIOS阶段,此阶段主要完成硬件的初始化,启动项的检测、选择及引导。在系统引导启动过程中,BIOS根据边带控制器(Sideband Controller,简称“SBC”)中存储的引导启动策略(Boot Policy),从磁盘设备(Bootable Disk Devices)中选择相应的引导入口(Boot Entry)进行系统引导,如果启动成功,则进入OS阶段,如果启动失败,则设置在边带控制器上的引导看门狗(Boot Watchdog)会控制CPU复位重启,BIOS根据引导启动策略重新选择下一个合适的引导入口。
二是OS阶段,系统引导成功后进入OS阶段(系统正常运行阶段),在此阶段中维护人员可以通过相关的接口更新引导启动策略,比如将下一次引导启动的系统由Active OS修改为Backup OS。如果未作任何更改,则设备下一次还是引导启动Active OS。
边带控制器,是一个由Standby Power供电的控制芯片,其可以是EC控制器、MCU微控制单元、CPLD可编程逻辑器件或BMC控制器中的任意一种。本实施例中,边带控制器主要提供以下三个功能:
1、提供系统引导所需的引导启动策略;
2、提供引导看门狗(Boot Watchdog)功能,在系统引导失败时,引导看门狗有能力将CPU复位重启;
3、提供强制重启按键(Button),用户可通过长按或远程触发(比如长按4s或通过BMC控制器远程触发)该强制重启按键,强制设备引导启动精简系统Golden OS。
以下对本发明实施例提供的X86平台使用固件自动切换EFI操作系统的方法进行阐述:
请参照图1并结合图4,本实施例提供的自动切换EFI操作系统的方法包括:
步骤S1,CPU从边带控制器(Sideband Controller)中获取系统引导启动策略(系统引导策略存储在边带控制器的非易失性存储器(NVRAM Region)中;CPU与边带控制器通过Bus总线实现相互间的通信连接,为了确保数据传输的速度和稳定性,Bus总线优选采用SMBus总线或UART总线;
步骤S2,BIOS加载引导程序(Boot Manager),引导程序根据获取的引导启动策略(Boot Policy)从磁盘设备(Bootable Disk Devices)中选择相应的引导入口(BootEntry)进行系统引导;
本实施例中,Bootable Disk Devices指具有多个可引导EFI操作系统的磁盘设备,该磁盘设备可以是板载的eMMC,或者为通过主板接口与主板连接的HDD、SDD等存储器。磁盘设备上安装的每一个EFI操作系统都有一个对应的系统引导入口(Boot Entry)。
步骤S3,检测系统引导是否成功,并在启动失败时,复位重启CPU(边带控制器中的引导看门狗负责复位重启CPU),然后引导程序根据引导启动策略自动切换启动其他EFI操作系统;系统启动成功后,用户可在进入的当前EFI操作系统中维护升级安装在设备上的其他EFI操作系统;
步骤S4,更新并存储引导启动策略。系统启动后,维护人员可通过相关接口向边带控制器写入引导启动策略。
具体地,EFI操作系统的自动切换过程中的各个阶段的状态可通过下表a的参数进行描述:
表a
表a中的LastBootEntry、ExpectedBootEntry、LastBootStatus、InvalidBootEntrys、BootWatchdogStatus、ButtonFlag表示EFI操作系统引导启动的参数。A、B、G、NG、OK、N、AB、EXP、P表示各个参数的参数值。
本发明实施例提供的引导启动策略包括但不限于以下五种:
第一种引导启动策略为:
若检测到主系统Active OS引导失败,则边带控制器中的引导看门狗会超时并记录,然后将CPU复位重启,在下一次引导启动时,引导程序会排除启动Active OS,选择引导启动其他的EFI操作系统。
第一种引导启动策略可通过下表b表示:
阶段 | a1 | a3 | a7 | a8 | b1 |
LastBootEntry | A | A | B | ||
ExpectedBootEntry | A | A | B | ||
LastBootStatus | NG | NG | NG | ||
InvalidBootEntrys | N | N | A | ||
BootWatchdogStatus | N | EXP | N | ||
被X更新 | SBC | BIOS |
表b
表b中的a1、a3、a7、a8、b1为图3示出的自动切换启动EFI系统的方法的实现流程图中的对应流程步骤。a1为引导程序尝试启动主系统Active OS;a3表示主系统Active OS启动失败;a7表示主系统Active OS启动失败后,边带控制器复位重启CPU;a8表示CPU复位重启后,引导程序尝试启动备用系统Backup OS;b1表示备用系统Backup OS启动后下一次启动还是选择启动备用系统Backup OS。
第二种引导启动策略为:
若主系统Active OS启动成功,则在下一次引导启动时,引导程序同样首先尝试启动主系统Active OS。
第二种引导启动策略可通过下表c表示:
阶段 | a1 | a2 | a4 | a1 |
LastBootEntry | A | A | A | |
ExpectedBootEntry | A | A | A | |
LastBootStatus | NG | OK | NG | |
InvalidBootEntrys | N | N | N | |
BootWatchdogStatus | N | N | N | |
被X更新 | OS A | BIOS |
表c
表c中的a1、a2、a4为图3中示出的对应流程步骤。a1表示引导程序引导启动主系统Active OS;a2表示主系统Active OS引导启动成功;a4表示下一次还是引导启动主系统Active OS。
第三种引导启动策略为:
若主系统Active OS引导启动成功,则进入系统运行,维护人员在当前运行的主系统Active OS中升级维护备用系统Backup OS,升级成功后设置下一次从备用系统BackupOS启动,则系统重启后,引导程序从备用系统Backup OS启动,如果备用系统Backup OS启动成功,则保持备用系统Backup OS运行,如果备用系统Backup OS引导启动失败,边带控制器中的引导看门狗将CPU复位重启,然后引导程序重新选择引导启动主系统Active OS。
第三种引导启动策略可通过下表d表示:
阶段 | a1 | a2 | a5 | a6 | a8 | b1 | b3 | b7 | b8 | a1 |
LastBootEntry | A | A | A | B | B | A | ||||
ExpectedBootEntry | A | A | B | B | B | A | ||||
LastBootStatus | NG | OK | OK | NG | NG | NG | ||||
InvalidBootEntrys | N | N | N | N | N | B | ||||
BootWatchdogStatus | N | N | N | N | EXP | N | ||||
被X更新 | OS A | OS A | BIOS | SBC | BIOS |
表d
表d中示出的a1、a2、a5、a6、a8、b1、b3、b7、b8为图3中对应的流程步骤图。a1表示引导启动主系统Active OS;a2表示主系统Active OS引导启动成功;a5表示设置下一次从备用系统Backup OS启动;a6表示系统重启;a8表示引导程序选择启动备用系统Backup OS;b1表示引导程序引导启动备用系统Backup OS;b3表示备用系统Backup 0S引导启动失败;b7表示边带控制器复位重启CPU;b8表示引导程序选择引导启动主系统Backup。
第四种引导启动策略为:
若主系统Active OS引导启动失败,则引导程序尝试引导启动备用系统BackupOS,若备用系统Backup OS引导启动同样失败,则边带控制器的引导看门狗复位重启CPU,CPU重新启动后,引导程序引导启动精简系统Golden OS,进入精简系统Golden OS后,维护人员在精简系统Golden OS中对主系统Active OS进行升级维护,并设置下一次从主系统Active OS启动。
第四种引导启动策略可通过下表e表示:
表e
表e中示出的a1、a3、a7、a8、b1、b3、b7、b9、g1、g2、g3、g4、a1、a2、a4、a1分别为图3中对应的流程步骤图。a1表示引导启动主系统Active OS;a3表示主系统Active OS引导失败;a7表示边带控制器复位重启CPU;a8表示引导程序选择启动备用系统Backup OS;b1表示引导程序引导启动备用系统Backup OS;b3表示备用系统Backup OS引导启动失败;b7表示边带控制器复位重启CPU;b9表示引导程序选择启动精简系统Golden OS;g1表示引导程序引导启动精简系统Golden OS;g2表示精简系统Golden OS引导启动成功;g3表示设置下一次引导启动主系统Active OS;g4表示引导程序选择引导启动主系统Active OS;a2表示主系统Active OS引导启动成功;a4表示系统重启。
第五种引导启动策略为强制启动精简系统Golden OS,强制启动精简系统GoldenOS的方法具体为:
触发(可通过长按强制重启按键触发或通过BMC(Baesboard ManagementController,基本管理控制器远程触发)设置在边带控制器上的强制重启按键(图4中的英文“Button”表示),强制重启按键向CPU发送一个强制启动信号,CPU根据接收到的强制启动信号通过引导程序引导启动精简系统Golden OS。
第五种引导启动策略可通过以下表f表示:
阶段 | g0 | g1 | g2 |
LastBootEntry | A | G | G |
ExpectedBootEntry | A | G | G |
LastBootStatus | NG | NG | 0K |
InvalidBootEntrys | N | N | N |
BootWatchdogStatus | N | N | N |
ButtonFlag | P | N | N |
被X更新 | SBC | BIOS | SBC |
表f
表f中的g0、g1、g2分别为图3中对应的流程步骤。g0表示选择强制启动精简系统GoldenOS;g1表示引导程序强制启动精简系统Golden OS;g2表示精简系统Golden启动成功进入正常运行。
上述表b-f中的参数LastBootEntry、ExpectedBootEntry、LastBootStatus、InvalidBootEntrys、BootWatchdogStatus、ButtonFlag的字体加粗后的参数值(比如表b中的“a7”项下的参数值“EXP”和“a8”项下的参数值“B”、“B”、“A”等)表示该参数值在引导启动过程中被更新。
综上,本发明具有以下有益效果:
1、可以在N+1个系统之间进行切换,其中N表示多个主系统Active OS或备用系统BackupOS;
2、可自动检测系统引导启动是否失败,并在启动失败后自动触发切换机制,无需维护人员手动触发切换,降低了以往启动失败后需要前往现场触发启动的高额维护成本;
3、可事先通过相关接口向边带控制器写入引导启动策略,实现对系统的主动切换,即在设备开机且系统正常运行状态下,系统主动选择下一次想要启动的操作系统;
4、本发明保留了强制重启按键,可通过触发强制重启按键强制引导启动精简系统Golden OS,以在主系统Active OS和备用系统Backup OS都无法正常启动的情况下,进入精简系统Golden OS对主系统和备用系统进行升级维护。
本发明还提供了一种X86平台使用固件自动切换EFI操作系统的装置,如图2所示,该装置包括:
引导启动策略获取模块,用于通过CPU从边带控制器中获取系统引导启动策略;
引导程序加载模块,用于在设备上电后加载系统引导程序;
系统引导模块,分别连接引导启动策略获取模块和引导程序加载模块,用于通过引导程序根据获取的引导启动策略从磁盘设备中选择相应的引导入口进行系统引导;
引导成功与否检测模块,连接系统引导模块,用于检测系统引导是否成功,并输出检测结果;
切换启动模块,分别连接引导启动策略获取模块和引导成功与否检测模块,用于在检测到系统引导启动失败后,根据引导启动策略自动切换启动其他EFI操作系统;
引导启动策略创建及更新模块,用于提供给维护人员创建或更新引导启动策略并存储到边带控制器中。
本发明提供的装置实现EFI操作系统的自动切换启动的方法在上述的X86平台使用固件自动切换启动EFI操作系统的方法中已作了详细阐述,在此不再赘述。
本发明还提供了一种计算机可读存储介质,包括执行指令,当电子设备的处理器执行执行指令时,处理器执行上述的自动切换启动EFI操作系统的方法。
需要声明的是,上述具体实施方式仅仅为本发明的较佳实施例及所运用技术原理。本领域技术人员应该明白,还可以对本发明做各种修改、等同替换、变化等等。但是,这些变换只要未背离本发明的精神,都应在本发明的保护范围之内。另外,本申请说明书和权利要求书所使用的一些术语并不是限制,仅仅是为了便于描述。
Claims (12)
1.一种X86平台使用固件自动切换EFI操作系统的方法,其特征在于,具体包括:
步骤S1,CPU从边带控制器中获取系统引导启动策略;
步骤S2,加载引导程序,所述引导程序根据获取的所述引导启动策略从磁盘设备中选择相应的引导入口进行系统引导;
步骤S3,检测系统引导启动是否成功,并在启动失败时,复位重启所述CPU,然后所述引导程序根据所述引导启动策略自动切换启动其他EFI操作系统;
步骤S4,更新并存储所述引导启动策略。
2.根据权利要求1所述的X86平台使用固件自动切换EFI操作系统的方法,其特征在于,所述引导启动策略为:
若主系统引导启动成功,则在下一次引导启动时,所述引导程序同样首先尝试引导启动所述主系统。
3.根据权利要求1所述的X86平台使用固件自动切换EFI操作系统的方法,其特征在于,所述引导启动策略为:
若主系统引导启动成功,则在下一次引导启动时,所述引导程序尝试引导启动备用系统,若所述备用系统引导启动失败,则所述引导程序重新引导启动所述主系统。
4.根据权利要求1所述的X86平台使用固件自动切换EFI操作系统的方法,其特征在于,所述引导启动策略为:
若主系统引导启动失败,则所述引导程序尝试引导启动备用系统,若所述备用系统引导启动同样失败,则所述引导程序引导启动精简系统,并在所述精简系统中设置下一次引导启动所述主系统。
5.根据权利要求1所述的X86平台使用固件自动切换EFI操作系统的方法,其特征在于,还包括强制启动精简系统的方法,强制启动所述精简系统的方法具体为:
触发设置在所述边带控制器上的强制重启按键,所述强制重启按键向所述CPU发送一个强制启动信号,所述CPU根据接收到的所述强制启动信号通过所述引导程序引导启动所述精简系统。
6.根据权利要求5所述的X86平台使用固件自动切换EFI操作系统的方法,其特征在于,所述强制重启信号可以通过长按所述强制重启按键触发或通过BMC控制器远程触发。
7.根据权利要求1所述的X86平台使用固件自动切换EFI操作系统的方法,其特征在于,所述边带控制器为EC控制器、MCU微控制单元、CPLD可编程逻辑器件或BMC控制器中的任意一种。
8.根据权利要求1所述的X86平台使用固件自动切换EFI操作系统的方法,其特征在于,所述磁盘设备为HDD、SDD或eMMC存储器中的任意一种。
9.根据权利要求1所述的X86平台使用固件自动切换EFI操作系统的方法,其特征在于,所述磁盘设备采用GPT分区方式进行磁盘分区。
10.根据权利要求1所述的X86平台使用固件自动切换EFI操作系统的方法,其特征在于,所述边带控制器与所述CPU通过Bus总线实现相互间的通信连接,所述Bus总线为SMBus总线或UART总线。
11.一种X86平台使用固件自动切换EFI操作系统的装置,其特征在于,所述装置包括:
引导启动策略获取模块,用于通过CPU从边带控制器中获取系统引导启动策略;
引导程序加载模块,用于在设备上电后加载系统引导程序;
系统引导模块,分别连接所述引导启动策略获取模块和所述引导程序加载模块,用于通过所述引导程序根据获取的所述引导启动策略从磁盘设备中选择相应的引导入口进行系统引导;
引导成功与否检测模块,连接所述系统引导模块,用于检测系统引导是否成功,并输出检测结果;
切换启动模块,分别连接所述引导启动策略获取模块和所述引导成功与否检测模块,用于在检测到系统引导启动失败后,根据所述引导启动策略自动切换启动其他EFI操作系统;
引导启动策略创建及更新模块,用于提供给维护人员创建或更新所述引导启动策略并存储到所述边带控制器中。
12.一种计算机可读存储介质,包括执行指令,其特征在于,当电子设备的处理器执行所述执行指令时,所述处理器执行如权利要求1-10任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110046619.6A CN112817642A (zh) | 2021-01-14 | 2021-01-14 | X86平台使用固件自动切换启动efi操作系统的方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110046619.6A CN112817642A (zh) | 2021-01-14 | 2021-01-14 | X86平台使用固件自动切换启动efi操作系统的方法、装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112817642A true CN112817642A (zh) | 2021-05-18 |
Family
ID=75869141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110046619.6A Pending CN112817642A (zh) | 2021-01-14 | 2021-01-14 | X86平台使用固件自动切换启动efi操作系统的方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112817642A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114416189A (zh) * | 2022-01-19 | 2022-04-29 | 浪潮商用机器有限公司 | 一种服务器操作系统的启动装置、方法、介质及服务器 |
-
2021
- 2021-01-14 CN CN202110046619.6A patent/CN112817642A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114416189A (zh) * | 2022-01-19 | 2022-04-29 | 浪潮商用机器有限公司 | 一种服务器操作系统的启动装置、方法、介质及服务器 |
CN114416189B (zh) * | 2022-01-19 | 2024-02-27 | 浪潮商用机器有限公司 | 一种服务器操作系统的启动装置、方法、介质及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3491519B1 (en) | Optimized uefi reboot process | |
US7734945B1 (en) | Automated recovery of unbootable systems | |
CN105745617B (zh) | 用于预启动固件更新的选择性功率管理 | |
US7313685B2 (en) | Unattended BIOS recovery | |
US6804774B1 (en) | Software image transition aid comprising building a disk image based on identified hardware | |
US8046575B2 (en) | Method for automatically restoring system configuration with a single key | |
US8352721B1 (en) | Initiating an operating system boot from firmware | |
US9329959B2 (en) | Device and method for performing regression testing on bios boot information | |
US10191811B2 (en) | Dual boot computer system | |
US20040172578A1 (en) | Method and system of operating system recovery | |
EP1691281B1 (en) | Memory dump program boot method | |
US20040255106A1 (en) | Recovery of operating system configuration data by firmware of computer system | |
US20120079474A1 (en) | Reimaging a multi-node storage system | |
US11704197B2 (en) | Basic input/output system (BIOS) device management | |
US20060036832A1 (en) | Virtual computer system and firmware updating method in virtual computer system | |
US20090271660A1 (en) | Motherboard, a method for recovering the bios thereof and a method for booting a computer | |
US11314665B2 (en) | Information processing system, information processing device, BIOS updating method for information processing device, and BIOS updating program for information processing device | |
US11307907B2 (en) | Information handling system and method to automatically synchronize operating system and boot firmware languages | |
KR20090120541A (ko) | 운영체제(os) 자동복구기능을 갖는 임베디드 시스템 및운영체제 자동복구 방법 | |
CN110780942A (zh) | 系统启动方法、装置、节点设备及计算机可读存储介质 | |
KR100678974B1 (ko) | 보안성과 사용자의 편의성을 고려한 컴퓨터 시스템의재부팅 방법 및 장치 | |
CN111090546A (zh) | 一种操作系统重启方法、装置、设备及可读存储介质 | |
TWI764454B (zh) | 韌體損壞恢復技術 | |
CN112817642A (zh) | X86平台使用固件自动切换启动efi操作系统的方法、装置 | |
WO2008048581A1 (en) | A processing device operation initialization system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |