CN112579338A - 一种设备的启动方法、系统及存储介质 - Google Patents
一种设备的启动方法、系统及存储介质 Download PDFInfo
- Publication number
- CN112579338A CN112579338A CN202011622652.0A CN202011622652A CN112579338A CN 112579338 A CN112579338 A CN 112579338A CN 202011622652 A CN202011622652 A CN 202011622652A CN 112579338 A CN112579338 A CN 112579338A
- Authority
- CN
- China
- Prior art keywords
- storage device
- phase
- boot
- code corresponding
- starting
- 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
Classifications
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/453—Data distribution
- G06F8/454—Consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种设备的启动方法,包括:在设备上电后,执行任1启动阶段前,该启动阶段为验证阶段时,对第一存储器件中对应于该启动阶段的区域代码进行一致性验证;验证通过则基于第一存储器件中执行设备的该启动阶段;否则基于第二存储器件执行设备的该启动阶段,并对第一存储器件中对应于该启动阶段的区域代码进行修复;该启动阶段不为验证阶段时,基于第一存储器件执行设备的该启动阶段,并判断该启动阶段是否成功执行完毕;若未成功执行完毕则基于第二存储器件重新执行,并对第一存储器件中对应于该启动阶段的区域代码进行修复。应用本申请的方案,提高了设备启动的可靠性。本申请还提供了一种设备的启动系统及存储介质,具有相应效果。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种设备的启动方法、系统及存储介质。
背景技术
在部分对软件完成性要求比较高的场景中,会通过两个固件实现设备的冗余启动,具体的,当利用第一个固件启动失败时,将其屏蔽掉之后,再利用第二个固件重新启动。这样的缺陷是在屏蔽掉第一个固件之后,安全性上就会大打折扣,即之后如果第二个固件异常,则设备无法启动。
以BMC(Baseboard Management Controlle,基板管理控制器)为例,互联网时代对基础服务器的性能要求越来越高,针对服务器整机监控的重要性显得越来越突出,需要BMC这个平台管理系统来进行一系列的监视和控制功能,监控的内容是整个服务器的软硬件,例如通过BMC管理系统管理服务器系统的温度、电压、风扇和电源等,并针对其中一项或者几项进行调节,以保证系统处于最优的状态。此外,BMC管理系统还负责记录各种软硬件的信息、软件日志、操作日志,用于提示用户以及解决后续问题的定位。因此,BMC是服务器一个不可或缺的平台管理系统,BMC的可操作性和安全性非常重要。
在BMC启动的时候,目前行业的通用做法是进行1+1备份,具体的,设置两个BMC的固件ROM(Read-Only Memory,只读存储器),如果第一个无法启动,则重启BMC从第二片ROM中启动,启动完成后,设置启动项为第二ROM,并且将第一ROM直接屏蔽掉,从而导致在安全性上大打折扣。
综上所述,如何有效地提高设备启动的可靠性,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种设备的启动方法、系统及存储介质,以有效地提高设备启动的可靠性。
为解决上述技术问题,本发明提供如下技术方案:
一种设备的启动方法,包括:
在设备上电之后,按照第1启动阶段至第k启动阶段的顺序,依次执行所述设备的k个启动阶段;
在执行所述设备的任意1个启动阶段之前,且该启动阶段被预设为验证阶段时,对第一存储器件中对应于该启动阶段的区域代码进行一致性验证;当一致性验证通过时,基于所述第一存储器件中对应于该启动阶段的区域代码执行所述设备的该启动阶段;当一致性验证不通过时,基于第二存储器件中对应于该启动阶段的区域代码执行所述设备的该启动阶段,并对所述第一存储器件中对应于该启动阶段的区域代码进行修复;
在执行所述设备的任意1个启动阶段之前,且该启动阶段未被预设为验证阶段时,基于所述第一存储器件中对应于该启动阶段的区域代码执行所述设备的该启动阶段,并判断该启动阶段是否成功执行完毕;如果未成功执行完毕,则基于所述第二存储器件中对应于该启动阶段的区域代码重新执行所述设备的该启动阶段,并对所述第一存储器件中对应于该启动阶段的区域代码进行修复;
其中,所述第一存储器件和所述第二存储器件中均进行了启动固件的烧写,所述启动固件划分为k个区域,依次对应所述设备的k个启动阶段,并且预先选取了k个启动阶段中的x个启动阶段作为预设的验证阶段;k为不小于2的正整数,x为正整数且1≤x≤k。
优选的,所述设备为BMC,所述BMC的启动方法具体包括:
在所述BMC上电之后,基于第一存储器件中对应于内核引导阶段的区域代码执行所述BMC的内核引导阶段;
判断所述内核引导阶段是否成功执行完毕;
如果未成功执行完毕,则基于第二存储器件中对应于内核引导阶段的区域代码重新执行所述BMC的内核引导阶段,并对所述第一存储器件中对应于内核引导阶段的区域代码进行修复;
在内核引导阶段成功执行完毕之后,对所述第一存储器件中对应于内核启动阶段的区域代码进行一致性验证;
当一致性验证通过时,基于所述第一存储器件中对应于内核启动阶段的区域代码执行所述BMC的内核启动阶段;
当一致性验证不通过时,基于所述第二存储器件中对应于内核启动阶段的区域代码执行所述BMC的内核启动阶段,并对所述第一存储器件中对应于内核启动阶段的区域代码进行修复;
在内核启动阶段成功执行完毕之后,对所述第一存储器件中对应于App线程加载阶段的区域代码进行一致性验证;
当一致性验证通过时,基于所述第一存储器件中对应于App线程加载阶段的区域代码执行所述BMC的App线程加载阶段;
当一致性验证不通过时,基于所述第二存储器件中对应于App线程加载阶段的区域代码执行所述BMC的App线程加载阶段,并对所述第一存储器件中对应于App线程加载阶段的区域代码进行修复;
在App线程加载阶段成功执行完毕之后,完成所述BMC的启动。
优选的,对所述第一存储器件中对应于内核引导阶段的区域代码进行修复,包括:
复制所述第二存储器件的启动固件并覆盖所述第一存储器件的启动固件,完成对所述第一存储器件中对应于内核引导阶段的区域代码的修复。
优选的,对所述第一存储器件中对应于内核引导阶段的区域代码进行修复,包括:
复制所述第二存储器件的启动固件中对应于内核引导阶段的区域代码,并覆盖所述第一存储器件中对应于内核引导阶段的区域代码,完成对所述第一存储器件中对应于内核引导阶段的区域代码的修复。
优选的,对所述第一存储器件中对应于内核启动阶段的区域代码进行一致性验证,包括:
通过预设的校验算法计算出所述第一存储器件中对应于内核启动阶段的区域代码的第一校验值;
将所述第一校验值与预先存储的对应于所述第一存储器件中对应于内核启动阶段的区域代码的第二校验值进行比较,如果所述第一校验值与所述第二校验值一致,则对所述第一存储器件中对应于内核启动阶段的区域代码进行的一致性验证通过,否则不通过。
优选的,所述校验算法为MD5校验算法。
优选的,对所述第一存储器件中对应于内核启动阶段的区域代码进行修复,包括:
复制所述第二存储器件的启动固件并覆盖所述第一存储器件的启动固件,完成对所述第一存储器件中对应于内核启动阶段的区域代码的修复。
优选的,对所述第一存储器件中对应于内核启动阶段的区域代码进行修复,包括:
复制所述第二存储器件的启动固件中对应于内核启动阶段的区域代码,并覆盖所述第一存储器件中对应于内核启动阶段的区域代码,完成对所述第一存储器件中对应于内核启动阶段的区域代码的修复。
一种设备的启动系统,包括:
启动阶段顺次执行模块,用于在设备上电之后,按照第1启动阶段至第k启动阶段的顺序,依次执行所述设备的k个启动阶段;
验证阶段执行模块,用于在执行所述设备的任意1个启动阶段之前,且该启动阶段被预设为验证阶段时,对第一存储器件中对应于该启动阶段的区域代码进行一致性验证;当一致性验证通过时,基于所述第一存储器件中对应于该启动阶段的区域代码执行所述设备的该启动阶段;当一致性验证不通过时,基于第二存储器件中对应于该启动阶段的区域代码执行所述设备的该启动阶段,并对所述第一存储器件中对应于该启动阶段的区域代码进行修复;
非验证阶段执行模块,用于在执行所述设备的任意1个启动阶段之前,且该启动阶段未被预设为验证阶段时,基于所述第一存储器件中对应于该启动阶段的区域代码执行所述设备的该启动阶段,并判断该启动阶段是否成功执行完毕;如果未成功执行完毕,则基于所述第二存储器件中对应于该启动阶段的区域代码重新执行所述设备的该启动阶段,并对所述第一存储器件中对应于该启动阶段的区域代码进行修复;
其中,所述第一存储器件和所述第二存储器件中均进行了启动固件的烧写,所述启动固件划分为k个区域,依次对应所述设备的k个启动阶段,并且预先选取了k个启动阶段中的x个启动阶段作为预设的验证阶段;k为不小于2的正整数,x为正整数且1≤x≤k。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的设备的启动方法的步骤。
应用本发明实施例所提供的技术方案,对设备的启动固件进行分阶段的验证,对存在问题的区域代码进行修复,从而始终保障了启动固件的冗余,相较于传统的屏蔽故障固件的方式,提高了可靠性。具体的,在设备上电之后,按照第1启动阶段至第k启动阶段的顺序,依次执行设备的k个启动阶段。而在执行设备的任意1个启动阶段之前,且该启动阶段被预设为验证阶段时,会对第一存储器件中对应于该启动阶段的区域代码进行一致性验证;当一致性验证通过时,说明第一存储器件中对应于该启动阶段的区域代码不存在问题,因此,可以直接基于第一存储器件中对应于该启动阶段的区域代码执行设备的该启动阶段。相应的,当一致性验证不通过时,说明第一存储器件中对应于该启动阶段的区域代码存在问题,因此本申请基于第二存储器件中对应于该启动阶段的区域代码执行设备的该启动阶段,与此同时,本申请对第一存储器件中对应于该启动阶段的区域代码进行修复,从而使得第一存储器件中对应于该启动阶段的区域代码在修复之后保持为可用的状态。对于部分启动阶段而言,不适合进行预先验证,即如果某一个启动阶段未被预设为验证阶段时,本申请直接基于第一存储器件中对应于该启动阶段的区域代码执行设备的该启动阶段,并判断该启动阶段是否成功执行完毕;如果成功执行完毕,说明第一存储器件中对应于该启动阶段的区域代码不存在问题,反之,如果未成功执行完毕,便可以基于第二存储器件中对应于该启动阶段的区域代码重新执行设备的该启动阶段,与此同时,本申请对第一存储器件中对应于该启动阶段的区域代码进行修复,从而使得第一存储器件中对应于该启动阶段的区域代码在修复之后保持为可用的状态。可以看出,由于本申请对存在问题的区域代码进行修复,从而始终保障了启动固件的冗余,相较于传统的屏蔽故障固件的方式,提高了可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中一种设备的启动方法的实施流程图;
图2为本发明中一种设备的启动方法的结构示意图。
具体实施方式
本发明的核心是提供一种设备的启动方法,提高了设备启动的可靠性。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的一种设备的启动方法可以包括:
在设备上电之后,按照第1启动阶段至第k启动阶段的顺序,依次执行设备的k个启动阶段;
在执行设备的任意1个启动阶段之前,且该启动阶段被预设为验证阶段时,对第一存储器件中对应于该启动阶段的区域代码进行一致性验证;当一致性验证通过时,基于第一存储器件中对应于该启动阶段的区域代码执行设备的该启动阶段;当一致性验证不通过时,基于第二存储器件中对应于该启动阶段的区域代码执行设备的该启动阶段,并对第一存储器件中对应于该启动阶段的区域代码进行修复;
在执行设备的任意1个启动阶段之前,且该启动阶段未被预设为验证阶段时,基于第一存储器件中对应于该启动阶段的区域代码执行设备的该启动阶段,并判断该启动阶段是否成功执行完毕;如果未成功执行完毕,则基于第二存储器件中对应于该启动阶段的区域代码重新执行设备的该启动阶段,并对第一存储器件中对应于该启动阶段的区域代码进行修复。
其中,第一存储器件和第二存储器件中均进行了启动固件的烧写,启动固件划分为k个区域,依次对应设备的k个启动阶段,并且预先选取了k个启动阶段中的x个启动阶段作为预设的验证阶段;k为不小于2的正整数,x为正整数且1≤x≤k。
具体的,本申请的设备在上电之后,具有k个启动阶段,按照第1启动阶段至第k启动阶段的顺序依次执行。k的具体数值取决于具体的设备类型以及工作人员的预先划分。
针对设备的任意1个启动阶段,如果该启动阶段被预设为验证阶段,则本申请的方案会先对第一存储器件中对应于该启动阶段的区域代码进行一致性验证,当一致性验证通过时,说明第一存储器件中对应于该启动阶段的区域代码没有问题,可以成功执行该启动阶段,因此,会基于第一存储器件中对应于该启动阶段的区域代码执行设备的该启动阶段。当基于第一存储器件中对应于该启动阶段的区域代码成功执行设备的该启动阶段之后,便可以执行下一个启动阶段,可以理解的是,执行下一个启动阶段时,也是按照下一个启动阶段是否被预设为验证阶段,执行对应的操作。
反之,如果一致性验证不通过时,说明第一存储器件中对应于该启动阶段的区域代码存在问题,因此本申请会基于第二存储器件中对应于该启动阶段的区域代码执行设备的该启动阶段,并对第一存储器件中对应于该启动阶段的区域代码进行修复,使得经过修复之后,第一存储器件中对应于该启动阶段的区域代码恢复正常。基于第二存储器件中对应于该启动阶段的区域代码成功执行设备的该启动阶段,并修复了第一存储器件中对应于该启动阶段的区域代码之后,便可以执行下一个启动阶段,如上文的描述可知,执行下一个启动阶段时,也是按照下一个启动阶段是否被预设为验证阶段,执行对应的操作。
k个启动阶段中,工作人员预先选取了其中的x个启动阶段作为预设的验证阶段,x的具体数值也可以根据实际需要进行选取,即可以由工作人员预先设定哪1个或者哪几个启动阶段作为验证阶段。
针对设备的任意1个启动阶段,如果该启动阶段没有被预设为验证阶段,则本申请直接基于第一存储器件中对应于该启动阶段的区域代码执行设备的该启动阶段,并判断该启动阶段是否成功执行完毕。这是考虑到部分启动阶段可以不必预先进行一致性验证,例如一些启动阶段对应的区域代码很短,在烧录时出错的概率很低,或者即使烧录出现小错误也不会影响该启动阶段的正常加载。又如,一些场合中设备上电之后的第1个启动阶段便会立即执行,为其设置执行前的一致性验证过程会较为麻烦。
当某一个启动阶段没有被预设为验证阶段时,直接基于第一存储器件中对应于该启动阶段的区域代码执行设备的该启动阶段,并判断该启动阶段是否成功执行完毕。
如果成功执行完毕,说明第一存储器件中对应于该启动阶段的区域代码不存在问题,因此可以执行下一个启动阶段,即按照下一个启动阶段是否被预设为验证阶段,执行对应的操作。
而如果未成功执行完毕,说明第一存储器件中对应于该启动阶段的区域代码存在问题,因此本申请基于第二存储器件中对应于该启动阶段的区域代码重新执行设备的该启动阶段,并对第一存储器件中对应于该启动阶段的区域代码进行修复。修复了之后,可以执行下一个启动阶段。
可以看出,针对任意一个启动阶段,无论该启动阶段是否被预设为验证阶段,第一存储器件中对应于该启动阶段的区域代码只要存在问题导致对应的启动阶段无法加载成功,本申请都会基于第二存储器件对其进行修复,相较于传统的直接屏蔽第一存储器件的方案,本申请的方案有利于保障设备启动的安全性。
此外还需要说明的是,在实际应用中,存储器件中的启动固件通常是在烧录时发生异常,因此,工作人员还可以设置设备仅在第一次启动时执行本申请的方案,后续的启动便可以直接基于第一存储器件启动,直到出现启动异常时,再触发本申请的方案,从而节约大部分场合中的设备启动耗时。
为了便于理解,本申请再以BMC为例进行说明,可参阅图1,为本发明中一种设备的启动方法的实施流程图,该设备为BMC,BMC的启动方法具体包括:
步骤S101:在BMC上电之后,基于第一存储器件中对应于内核引导阶段的区域代码执行BMC的内核引导阶段;
步骤S102:判断内核引导阶段是否成功执行完毕;
如果未成功执行完毕,则执行步骤S103:基于第二存储器件中对应于内核引导阶段的区域代码重新执行BMC的内核引导阶段,并对第一存储器件中对应于内核引导阶段的区域代码进行修复;
步骤S104:在内核引导阶段成功执行完毕之后,对第一存储器件中对应于内核启动阶段的区域代码进行一致性验证;
当一致性验证通过时,执行步骤S105:基于第一存储器件中对应于内核启动阶段的区域代码执行BMC的内核启动阶段;
当一致性验证不通过时,执行步骤S106:基于第二存储器件中对应于内核启动阶段的区域代码执行BMC的内核启动阶段,并对第一存储器件中对应于内核启动阶段的区域代码进行修复;
步骤S107:在内核启动阶段成功执行完毕之后,对第一存储器件中对应于App线程加载阶段的区域代码进行一致性验证;
当一致性验证通过时,执行步骤S108:基于第一存储器件中对应于App线程加载阶段的区域代码执行BMC的App线程加载阶段;
当一致性验证不通过时,执行步骤S109:基于第二存储器件中对应于App线程加载阶段的区域代码执行BMC的App线程加载阶段,并对第一存储器件中对应于App线程加载阶段的区域代码进行修复;
步骤S110:在App线程加载阶段成功执行完毕之后,完成BMC的启动。
BMC的启动分为了3个阶段,即k=3,具体依次是内核引导阶段,内核启动阶段以及App线程加载阶段,其中,内核启动阶段和App线程加载阶段均被预设为了验证阶段,即x=2。
具体的,在BMC上电之后,内核引导阶段的耗时很短,本申请并不将该阶段设为验证阶段,因此,是直接基于第一存储器件中对应于内核引导阶段的区域代码执行BMC的内核引导阶段
第一存储器件和第二存储器件的具体器件类型可以根据实际需要进行设定和选取,例如Flash,Ram等等,此外,在实际应用中,也可以选取为Rom,但需要指出的是,选取Rom时,应当选取能够进行写操作的Rom,例如部分Rom可以支持整页为单位进行刷写。
基于第一存储器件中对应于内核引导阶段的区域代码执行BMC的内核引导阶段之后,可以判断内核引导阶段是否成功执行完毕。
如果成功执行完毕,说明第一存储器件中对应于内核引导阶段的区域代码没有问题,便可以触发步骤S104。
反之,如果未成功执行完毕,说明第一存储器件中对应于内核引导阶段的区域代码有问题,因此执行步骤S103:基于第二存储器件中对应于内核引导阶段的区域代码重新执行BMC的内核引导阶段。并且,本申请会对第一存储器件中对应于内核引导阶段的区域代码进行修复。修复完成之后,再触发步骤S104。
对第一存储器件中对应于内核引导阶段的区域代码进行修复的具体方式可以根据实际需要进行选取,例如在本发明的一种具体实施方式中,该操作可以具体包括:
复制第二存储器件的启动固件并覆盖第一存储器件的启动固件,完成对第一存储器件中对应于内核引导阶段的区域代码的修复。
又如,在本发明的一种具体实施方式中,该操作可以具体包括:
复制第二存储器件的启动固件中对应于内核引导阶段的区域代码,并覆盖第一存储器件中对应于内核引导阶段的区域代码,完成对第一存储器件中对应于内核引导阶段的区域代码的修复。
此外,在实际应用中,考虑到如果是复制第二存储器件整个启动固件并覆盖第一存储器件的启动固件,虽然可以对第一存储器件中对应于内核引导阶段的区域代码的修复,但可能将第二存储器件的启动固件中的其余部分的故障内容复制到了第一存储器件中,因此,通常选取的是后一种实施方式,即仅仅复制第二存储器件的启动固件中对应于内核引导阶段的区域代码,来覆盖第一存储器件对应的区域,即覆盖第一存储器件中对应于内核引导阶段的区域代码,完成对第一存储器件中对应于内核引导阶段的区域代码的修复。并且,这样的实施方式所需要复制的数据内容也更少,减低了方案实施的耗时。
在完成了对第一存储器件中对应于内核引导阶段的区域代码的修复之后,便可以执行步骤S104:在内核引导阶段成功执行完毕之后,对第一存储器件中对应于内核启动阶段的区域代码进行一致性验证;
当一致性验证通过时,说明第一存储器件中对应于内核启动阶段的区域代码没有问题,因此可以执行步骤S105:基于第一存储器件中对应于内核启动阶段的区域代码执行BMC的内核启动阶段。之后,便可以执行步骤S107。此外,在实际应用中,BMC的内核启动阶段通常具体为Linux启动阶段,内核引导阶段通常具体为Uboot阶段。
而如果一致性验证不通过,说明第一存储器件中对应于内核启动阶段的区域代码存在问题,因此需要执行步骤S106:基于第二存储器件中对应于内核启动阶段的区域代码执行BMC的内核启动阶段,并对第一存储器件中对应于内核启动阶段的区域代码进行修复。在修复完成之后,可以执行步骤S107。
一致性验证的具体方式可以根据实际需要进行设定,通常利用烧录时的校验值实现。例如在本发明的一种具体实施方式中,对第一存储器件中对应于内核启动阶段的区域代码进行一致性验证,具体包括:
步骤一:通过预设的校验算法计算出第一存储器件中对应于内核启动阶段的区域代码的第一校验值;
步骤二:将第一校验值与预先存储的对应于第一存储器件中对应于内核启动阶段的区域代码的第二校验值进行比较,如果第一校验值与第二校验值一致,则对第一存储器件中对应于内核启动阶段的区域代码进行的一致性验证通过,否则不通过。
预先存储的对应于第一存储器件中对应于内核启动阶段的区域代码的第二校验值,可以在烧录时预先烧录至第一存储器件中,并且可以理解的是,针对其他的各个验证阶段,也可以在烧录时将相应的校验值烧录进第一存储器件中。
预设的校验算法可以有多种选择,例如考虑到MD5校验算法占用的空间小,实施时也较为方便,应用成熟,因此,校验算法可以选取为MD5校验算法。
与修复内核引导阶段类似,在对第一存储器件中对应于内核启动阶段的区域代码进行修复时,在本发明的一种具体实施方式中,可以具体包括:
复制第二存储器件的启动固件并覆盖第一存储器件的启动固件,完成对第一存储器件中对应于内核启动阶段的区域代码的修复。
又如,在本发明的一种具体实施方式中,可以具体包括:
复制第二存储器件的启动固件中对应于内核启动阶段的区域代码,并覆盖第一存储器件中对应于内核启动阶段的区域代码,完成对第一存储器件中对应于内核启动阶段的区域代码的修复。
并且如上文的描述,实际应用中,较为优选的是仅复制第二存储器件的启动固件中对应于内核启动阶段的区域代码,并覆盖第一存储器件中对应于内核启动阶段的区域代码。
在内核启动阶段成功执行完毕之后,本可以对第一存储器件中对应于App线程加载阶段的区域代码进行一致性验证。
当一致性验证通过时,说明第一存储器件中对应于App线程加载阶段的区域代码没有问题,可以执行步骤S108:基于第一存储器件中对应于App线程加载阶段的区域代码执行BMC的App线程加载阶段。App线程加载阶段成功执行之后,便进入了步骤S110,即完成BMC的启动。
如果一致性验证不通过时,说明第一存储器件中对应于App线程加载阶段的区域代码存在问题,便执行步骤S109:基于第二存储器件中对应于App线程加载阶段的区域代码执行BMC的App线程加载阶段,并对第一存储器件中对应于App线程加载阶段的区域代码进行修复。
与上文同理,在对第一存储器件中对应于App线程加载阶段的区域代码进行修复时,通常可以是复制第二存储器件的启动固件中对应于App线程加载阶段的区域代码,并覆盖第一存储器件中对应于App线程加载阶段的区域代码。
应用本发明实施例所提供的技术方案,对设备的启动固件进行分阶段的验证,对存在问题的区域代码进行修复,从而始终保障了启动固件的冗余,相较于传统的屏蔽故障固件的方式,提高了可靠性。具体的,在设备上电之后,按照第1启动阶段至第k启动阶段的顺序,依次执行设备的k个启动阶段。而在执行设备的任意1个启动阶段之前,且该启动阶段被预设为验证阶段时,会对第一存储器件中对应于该启动阶段的区域代码进行一致性验证;当一致性验证通过时,说明第一存储器件中对应于该启动阶段的区域代码不存在问题,因此,可以直接基于第一存储器件中对应于该启动阶段的区域代码执行设备的该启动阶段。相应的,当一致性验证不通过时,说明第一存储器件中对应于该启动阶段的区域代码存在问题,因此本申请基于第二存储器件中对应于该启动阶段的区域代码执行设备的该启动阶段,与此同时,本申请对第一存储器件中对应于该启动阶段的区域代码进行修复,从而使得第一存储器件中对应于该启动阶段的区域代码在修复之后保持为可用的状态。对于部分启动阶段而言,不适合进行预先验证,即如果某一个启动阶段未被预设为验证阶段时,本申请直接基于第一存储器件中对应于该启动阶段的区域代码执行设备的该启动阶段,并判断该启动阶段是否成功执行完毕;如果成功执行完毕,说明第一存储器件中对应于该启动阶段的区域代码不存在问题,反之,如果未成功执行完毕,便可以基于第二存储器件中对应于该启动阶段的区域代码重新执行设备的该启动阶段,与此同时,本申请对第一存储器件中对应于该启动阶段的区域代码进行修复,从而使得第一存储器件中对应于该启动阶段的区域代码在修复之后保持为可用的状态。可以看出,由于本申请对存在问题的区域代码进行修复,从而始终保障了启动固件的冗余,相较于传统的屏蔽故障固件的方式,提高了可靠性。
相应于上面的方法实施例,本发明实施例还提供了一种设备的启动系统,可与上文相互对应参照。
可参阅图2,为本发明中一种设备的启动系统的结构示意图,可以包括:
启动阶段顺次执行模块201,用于在设备上电之后,按照第1启动阶段至第k启动阶段的顺序,依次执行设备的k个启动阶段;
验证阶段执行模块202,用于在执行设备的任意1个启动阶段之前,且该启动阶段被预设为验证阶段时,对第一存储器件中对应于该启动阶段的区域代码进行一致性验证;当一致性验证通过时,基于第一存储器件中对应于该启动阶段的区域代码执行设备的该启动阶段;当一致性验证不通过时,基于第二存储器件中对应于该启动阶段的区域代码执行设备的该启动阶段,并对第一存储器件中对应于该启动阶段的区域代码进行修复;
非验证阶段执行模块203,用于在执行设备的任意1个启动阶段之前,且该启动阶段未被预设为验证阶段时,基于第一存储器件中对应于该启动阶段的区域代码执行设备的该启动阶段,并判断该启动阶段是否成功执行完毕;如果未成功执行完毕,则基于第二存储器件中对应于该启动阶段的区域代码重新执行设备的该启动阶段,并对第一存储器件中对应于该启动阶段的区域代码进行修复。
其中,第一存储器件和第二存储器件中均进行了启动固件的烧写,启动固件划分为k个区域,依次对应设备的k个启动阶段,并且预先选取了k个启动阶段中的x个启动阶段作为预设的验证阶段;k为不小于2的正整数,x为正整数且1≤x≤k。
在本发明的一种具体实施方式中,设备为BMC,BMC的启动系统具体包括:
内核引导阶段执行单元,用于在BMC上电之后,基于第一存储器件中对应于内核引导阶段的区域代码执行BMC的内核引导阶段;
第一判断单元,用于判断内核引导阶段是否成功执行完毕;
如果未成功执行完毕,则执行第一修复单元,用于基于第二存储器件中对应于内核引导阶段的区域代码重新执行BMC的内核引导阶段,并对第一存储器件中对应于内核引导阶段的区域代码进行修复;
第二判断单元,用于在内核引导阶段成功执行完毕之后,对第一存储器件中对应于内核启动阶段的区域代码进行一致性验证;
当一致性验证通过时,执行内核启动阶段执行单元,用于基于第一存储器件中对应于内核启动阶段的区域代码执行BMC的内核启动阶段;
当一致性验证不通过时,执行第二修复单元,用于基于第二存储器件中对应于内核启动阶段的区域代码执行BMC的内核启动阶段,并对第一存储器件中对应于内核启动阶段的区域代码进行修复;
第三判断单元,用于在内核启动阶段成功执行完毕之后,对第一存储器件中对应于App线程加载阶段的区域代码进行一致性验证;
当一致性验证通过时,执行App线程加载阶段执行单元,用于基于第一存储器件中对应于App线程加载阶段的区域代码执行BMC的App线程加载阶段;
当一致性验证不通过时,执行第三修复单元,用于基于第二存储器件中对应于App线程加载阶段的区域代码执行BMC的App线程加载阶段,并对第一存储器件中对应于App线程加载阶段的区域代码进行修复;
启动完成单元,用于在App线程加载阶段成功执行完毕之后,完成BMC的启动。
在本发明的一种具体实施方式中,第一修复单元对第一存储器件中对应于内核引导阶段的区域代码进行修复,包括:
复制第二存储器件的启动固件并覆盖第一存储器件的启动固件,完成对第一存储器件中对应于内核引导阶段的区域代码的修复。
在本发明的一种具体实施方式中,第一修复单元对第一存储器件中对应于内核引导阶段的区域代码进行修复,包括:
复制第二存储器件的启动固件中对应于内核引导阶段的区域代码,并覆盖第一存储器件中对应于内核引导阶段的区域代码,完成对第一存储器件中对应于内核引导阶段的区域代码的修复。
在本发明的一种具体实施方式中,第二判断单元对第一存储器件中对应于内核启动阶段的区域代码进行一致性验证,包括:
通过预设的校验算法计算出第一存储器件中对应于内核启动阶段的区域代码的第一校验值;
将第一校验值与预先存储的对应于第一存储器件中对应于内核启动阶段的区域代码的第二校验值进行比较,如果第一校验值与第二校验值一致,则对第一存储器件中对应于内核启动阶段的区域代码进行的一致性验证通过,否则不通过。
在本发明的一种具体实施方式中,校验算法为MD5校验算法。
在本发明的一种具体实施方式中,第二修复单元对第一存储器件中对应于内核启动阶段的区域代码进行修复,包括:
复制第二存储器件的启动固件并覆盖第一存储器件的启动固件,完成对第一存储器件中对应于内核启动阶段的区域代码的修复。
在本发明的一种具体实施方式中,第二修复单元对对第一存储器件中对应于内核启动阶段的区域代码进行修复,包括:
复制第二存储器件的启动固件中对应于内核启动阶段的区域代码,并覆盖第一存储器件中对应于内核启动阶段的区域代码,完成对第一存储器件中对应于内核启动阶段的区域代码的修复。
相应于上面的方法和系统实施例,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任一项的设备的启动方法的步骤。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种设备的启动方法,其特征在于,包括:
在设备上电之后,按照第1启动阶段至第k启动阶段的顺序,依次执行所述设备的k个启动阶段;
在执行所述设备的任意1个启动阶段之前,且该启动阶段被预设为验证阶段时,对第一存储器件中对应于该启动阶段的区域代码进行一致性验证;当一致性验证通过时,基于所述第一存储器件中对应于该启动阶段的区域代码执行所述设备的该启动阶段;当一致性验证不通过时,基于第二存储器件中对应于该启动阶段的区域代码执行所述设备的该启动阶段,并对所述第一存储器件中对应于该启动阶段的区域代码进行修复;
在执行所述设备的任意1个启动阶段之前,且该启动阶段未被预设为验证阶段时,基于所述第一存储器件中对应于该启动阶段的区域代码执行所述设备的该启动阶段,并判断该启动阶段是否成功执行完毕;如果未成功执行完毕,则基于所述第二存储器件中对应于该启动阶段的区域代码重新执行所述设备的该启动阶段,并对所述第一存储器件中对应于该启动阶段的区域代码进行修复;
其中,所述第一存储器件和所述第二存储器件中均进行了启动固件的烧写,所述启动固件划分为k个区域,依次对应所述设备的k个启动阶段,并且预先选取了k个启动阶段中的x个启动阶段作为预设的验证阶段;k为不小于2的正整数,x为正整数且1≤x≤k。
2.根据权利要求1所述的设备的启动方法,其特征在于,所述设备为BMC,所述BMC的启动方法具体包括:
在所述BMC上电之后,基于第一存储器件中对应于内核引导阶段的区域代码执行所述BMC的内核引导阶段;
判断所述内核引导阶段是否成功执行完毕;
如果未成功执行完毕,则基于第二存储器件中对应于内核引导阶段的区域代码重新执行所述BMC的内核引导阶段,并对所述第一存储器件中对应于内核引导阶段的区域代码进行修复;
在内核引导阶段成功执行完毕之后,对所述第一存储器件中对应于内核启动阶段的区域代码进行一致性验证;
当一致性验证通过时,基于所述第一存储器件中对应于内核启动阶段的区域代码执行所述BMC的内核启动阶段;
当一致性验证不通过时,基于所述第二存储器件中对应于内核启动阶段的区域代码执行所述BMC的内核启动阶段,并对所述第一存储器件中对应于内核启动阶段的区域代码进行修复;
在内核启动阶段成功执行完毕之后,对所述第一存储器件中对应于App线程加载阶段的区域代码进行一致性验证;
当一致性验证通过时,基于所述第一存储器件中对应于App线程加载阶段的区域代码执行所述BMC的App线程加载阶段;
当一致性验证不通过时,基于所述第二存储器件中对应于App线程加载阶段的区域代码执行所述BMC的App线程加载阶段,并对所述第一存储器件中对应于App线程加载阶段的区域代码进行修复;
在App线程加载阶段成功执行完毕之后,完成所述BMC的启动。
3.根据权利要求2所述的设备的启动方法,其特征在于,对所述第一存储器件中对应于内核引导阶段的区域代码进行修复,包括:
复制所述第二存储器件的启动固件并覆盖所述第一存储器件的启动固件,完成对所述第一存储器件中对应于内核引导阶段的区域代码的修复。
4.根据权利要求2所述的设备的启动方法,其特征在于,对所述第一存储器件中对应于内核引导阶段的区域代码进行修复,包括:
复制所述第二存储器件的启动固件中对应于内核引导阶段的区域代码,并覆盖所述第一存储器件中对应于内核引导阶段的区域代码,完成对所述第一存储器件中对应于内核引导阶段的区域代码的修复。
5.根据权利要求2所述的设备的启动方法,其特征在于,对所述第一存储器件中对应于内核启动阶段的区域代码进行一致性验证,包括:
通过预设的校验算法计算出所述第一存储器件中对应于内核启动阶段的区域代码的第一校验值;
将所述第一校验值与预先存储的对应于所述第一存储器件中对应于内核启动阶段的区域代码的第二校验值进行比较,如果所述第一校验值与所述第二校验值一致,则对所述第一存储器件中对应于内核启动阶段的区域代码进行的一致性验证通过,否则不通过。
6.根据权利要求5所述的设备的启动方法,其特征在于,所述校验算法为MD5校验算法。
7.根据权利要求2所述的设备的启动方法,其特征在于,对所述第一存储器件中对应于内核启动阶段的区域代码进行修复,包括:
复制所述第二存储器件的启动固件并覆盖所述第一存储器件的启动固件,完成对所述第一存储器件中对应于内核启动阶段的区域代码的修复。
8.根据权利要求2所述的设备的启动方法,其特征在于,对所述第一存储器件中对应于内核启动阶段的区域代码进行修复,包括:
复制所述第二存储器件的启动固件中对应于内核启动阶段的区域代码,并覆盖所述第一存储器件中对应于内核启动阶段的区域代码,完成对所述第一存储器件中对应于内核启动阶段的区域代码的修复。
9.一种设备的启动系统,其特征在于,包括:
启动阶段顺次执行模块,用于在设备上电之后,按照第1启动阶段至第k启动阶段的顺序,依次执行所述设备的k个启动阶段;
验证阶段执行模块,用于在执行所述设备的任意1个启动阶段之前,且该启动阶段被预设为验证阶段时,对第一存储器件中对应于该启动阶段的区域代码进行一致性验证;当一致性验证通过时,基于所述第一存储器件中对应于该启动阶段的区域代码执行所述设备的该启动阶段;当一致性验证不通过时,基于第二存储器件中对应于该启动阶段的区域代码执行所述设备的该启动阶段,并对所述第一存储器件中对应于该启动阶段的区域代码进行修复;
非验证阶段执行模块,用于在执行所述设备的任意1个启动阶段之前,且该启动阶段未被预设为验证阶段时,基于所述第一存储器件中对应于该启动阶段的区域代码执行所述设备的该启动阶段,并判断该启动阶段是否成功执行完毕;如果未成功执行完毕,则基于所述第二存储器件中对应于该启动阶段的区域代码重新执行所述设备的该启动阶段,并对所述第一存储器件中对应于该启动阶段的区域代码进行修复;
其中,所述第一存储器件和所述第二存储器件中均进行了启动固件的烧写,所述启动固件划分为k个区域,依次对应所述设备的k个启动阶段,并且预先选取了k个启动阶段中的x个启动阶段作为预设的验证阶段;k为不小于2的正整数,x为正整数且1≤x≤k。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的设备的启动方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011622652.0A CN112579338B (zh) | 2020-12-30 | 2020-12-30 | 一种设备的启动方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011622652.0A CN112579338B (zh) | 2020-12-30 | 2020-12-30 | 一种设备的启动方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112579338A true CN112579338A (zh) | 2021-03-30 |
CN112579338B CN112579338B (zh) | 2023-03-24 |
Family
ID=75144631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011622652.0A Active CN112579338B (zh) | 2020-12-30 | 2020-12-30 | 一种设备的启动方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579338B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114047958A (zh) * | 2021-10-31 | 2022-02-15 | 山东云海国创云计算装备产业创新中心有限公司 | 一种服务器的基板管理控制器的启动方法、设备及介质 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1400527A (zh) * | 2001-07-31 | 2003-03-05 | 日本电气株式会社 | 改写引导程序的无线电通讯设备、方法和程序 |
TW200713037A (en) * | 2005-09-06 | 2007-04-01 | Benq Corp | System and method for updating firmware |
CN101221508A (zh) * | 2008-01-31 | 2008-07-16 | 杭州华三通信技术有限公司 | 一种设备启动方法和装置 |
JP2010198155A (ja) * | 2009-02-24 | 2010-09-09 | Fujitsu Ten Ltd | プログラム更新装置、プログラム更新方法、及び情報処理装置 |
CN102830990A (zh) * | 2012-07-20 | 2012-12-19 | 大唐移动通信设备有限公司 | 一种计算机系统启动方法及计算机终端 |
CN102981872A (zh) * | 2012-11-09 | 2013-03-20 | 青岛海信移动通信技术股份有限公司 | 终端设备开机、升级方法和终端设备 |
CN104102505A (zh) * | 2013-04-12 | 2014-10-15 | 昆达电脑科技(昆山)有限公司 | 电脑开机方法 |
CN106775610A (zh) * | 2016-03-22 | 2017-05-31 | 新华三技术有限公司 | 一种电子设备启动方法及一种电子设备 |
CN107329855A (zh) * | 2017-06-23 | 2017-11-07 | 合肥联宝信息技术有限公司 | 还原固件信息的方法及装置 |
CN109189501A (zh) * | 2018-09-17 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种bmc固件运行方法、修复方法、装置、设备及介质 |
CN109670319A (zh) * | 2018-12-25 | 2019-04-23 | 广东浪潮大数据研究有限公司 | 一种服务器flash安全管理方法及其系统 |
CN109885342A (zh) * | 2019-02-25 | 2019-06-14 | 深圳警翼智能科技股份有限公司 | 一种执法记录仪的系统程序修复方法 |
CN110020528A (zh) * | 2019-04-11 | 2019-07-16 | 苏州浪潮智能科技有限公司 | 一种bmc启动方法、装置及电子设备和存储介质 |
CN110088731A (zh) * | 2016-12-14 | 2019-08-02 | 微软技术许可有限责任公司 | 使用非易失性ram的内核软重置 |
CN110083393A (zh) * | 2019-01-30 | 2019-08-02 | 北京品驰医疗设备有限公司 | 快闪存储器和植入式医疗设备 |
US20200042403A1 (en) * | 2018-08-01 | 2020-02-06 | International Business Machines Corporation | Apparatus, method, and program product for cluster configuration data backup and recovery |
CN111399919A (zh) * | 2020-03-06 | 2020-07-10 | 苏州浪潮智能科技有限公司 | 一种服务器的启动方法、系统、电子设备及存储介质 |
-
2020
- 2020-12-30 CN CN202011622652.0A patent/CN112579338B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1400527A (zh) * | 2001-07-31 | 2003-03-05 | 日本电气株式会社 | 改写引导程序的无线电通讯设备、方法和程序 |
TW200713037A (en) * | 2005-09-06 | 2007-04-01 | Benq Corp | System and method for updating firmware |
CN101221508A (zh) * | 2008-01-31 | 2008-07-16 | 杭州华三通信技术有限公司 | 一种设备启动方法和装置 |
JP2010198155A (ja) * | 2009-02-24 | 2010-09-09 | Fujitsu Ten Ltd | プログラム更新装置、プログラム更新方法、及び情報処理装置 |
CN102830990A (zh) * | 2012-07-20 | 2012-12-19 | 大唐移动通信设备有限公司 | 一种计算机系统启动方法及计算机终端 |
CN102981872A (zh) * | 2012-11-09 | 2013-03-20 | 青岛海信移动通信技术股份有限公司 | 终端设备开机、升级方法和终端设备 |
CN104102505A (zh) * | 2013-04-12 | 2014-10-15 | 昆达电脑科技(昆山)有限公司 | 电脑开机方法 |
CN106775610A (zh) * | 2016-03-22 | 2017-05-31 | 新华三技术有限公司 | 一种电子设备启动方法及一种电子设备 |
CN110088731A (zh) * | 2016-12-14 | 2019-08-02 | 微软技术许可有限责任公司 | 使用非易失性ram的内核软重置 |
CN107329855A (zh) * | 2017-06-23 | 2017-11-07 | 合肥联宝信息技术有限公司 | 还原固件信息的方法及装置 |
US20200042403A1 (en) * | 2018-08-01 | 2020-02-06 | International Business Machines Corporation | Apparatus, method, and program product for cluster configuration data backup and recovery |
CN109189501A (zh) * | 2018-09-17 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种bmc固件运行方法、修复方法、装置、设备及介质 |
CN109670319A (zh) * | 2018-12-25 | 2019-04-23 | 广东浪潮大数据研究有限公司 | 一种服务器flash安全管理方法及其系统 |
CN110083393A (zh) * | 2019-01-30 | 2019-08-02 | 北京品驰医疗设备有限公司 | 快闪存储器和植入式医疗设备 |
CN109885342A (zh) * | 2019-02-25 | 2019-06-14 | 深圳警翼智能科技股份有限公司 | 一种执法记录仪的系统程序修复方法 |
CN110020528A (zh) * | 2019-04-11 | 2019-07-16 | 苏州浪潮智能科技有限公司 | 一种bmc启动方法、装置及电子设备和存储介质 |
CN111399919A (zh) * | 2020-03-06 | 2020-07-10 | 苏州浪潮智能科技有限公司 | 一种服务器的启动方法、系统、电子设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114047958A (zh) * | 2021-10-31 | 2022-02-15 | 山东云海国创云计算装备产业创新中心有限公司 | 一种服务器的基板管理控制器的启动方法、设备及介质 |
CN114047958B (zh) * | 2021-10-31 | 2023-07-14 | 山东云海国创云计算装备产业创新中心有限公司 | 一种服务器的基板管理控制器的启动方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112579338B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106020865B (zh) | 一种系统升级方法和装置 | |
CN106775610B (zh) | 一种电子设备启动方法及一种电子设备 | |
CN113064747A (zh) | 一种服务器启动过程中的故障定位方法、系统及装置 | |
GB2466685A (en) | Fault tolerant updating of firmware | |
US20080072030A1 (en) | Computer System and Method for Updating Program Code | |
CN106897166B (zh) | 一种移动终端及其修复方法 | |
CN109933374B (zh) | 一种计算机启动方法 | |
CN109634781B (zh) | 一种基于嵌入式程序双区备份映像系统及启动方法 | |
CN112579338B (zh) | 一种设备的启动方法、系统及存储介质 | |
CN108345464A (zh) | 一种安卓系统的启动方法及安卓车机 | |
KR20170067826A (ko) | 펌웨어의 업데이트 방법 | |
CN113157303A (zh) | 升级方法、嵌入式系统、终端及计算机存储介质 | |
CN114895845A (zh) | 一种emmc数据存储的控制方法及嵌入式主板 | |
CN111273928B (zh) | 一种自升级的bootloader设计方法 | |
CN117130672A (zh) | 服务器启动流程控制方法、系统、终端及存储介质 | |
CN109002317B (zh) | 一种pcba固件升级方法及系统、pcba | |
CN111552592A (zh) | 一种双备份启动方法及系统 | |
CN112559059B (zh) | 一种bios选项配置方法及相关装置 | |
CN114356658A (zh) | 固件升级异常的处理方法、计算机设备以及可读存储介质 | |
CN114741091A (zh) | 固件加载方法、装置、电子设备及计算机可读存储介质 | |
CN111783162A (zh) | 数据保护实现方法、装置及计算机设备 | |
CN117215604A (zh) | 一种软件更新方法、装置、车辆控制器及可读存储介质 | |
CN116932010B (zh) | 系统固件升级方法、装置及服务器 | |
CN110502367A (zh) | 一种控制方法及电子设备 | |
CN114546456B (zh) | 一种升级方法、装置及电子设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |