CN103488498B - 一种计算机启动方法及计算机 - Google Patents
一种计算机启动方法及计算机 Download PDFInfo
- Publication number
- CN103488498B CN103488498B CN201310396254.5A CN201310396254A CN103488498B CN 103488498 B CN103488498 B CN 103488498B CN 201310396254 A CN201310396254 A CN 201310396254A CN 103488498 B CN103488498 B CN 103488498B
- Authority
- CN
- China
- Prior art keywords
- bios
- file
- bmc
- cpu
- computer
- 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.)
- Expired - Fee Related
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例涉及通信技术领域,公开了一种计算机启动方法及计算机。其中,计算机有CPU、BIOS芯片以及基板管理控制器BMC,CPU分别与BMC以及BIOS芯片连接,其中,BIOS芯片中存储有基本输入输出系统BIOS文件,BMC中预存有至少一个版本的BIOS镜像文件,该方法包括:计算机上电后,CPU检测存储于BIOS芯片中的BIOS文件与计算机硬件是否匹配;若不匹配,则CPU从BMC中查找出版本与计算机硬件匹配的BIOS文件,把查找到的BIOS文件发送到BIOS芯片中,以对BIOS芯片中的BIOS文件进行更新;CPU以更新后的BIOS文件启动计算机。通过本发明实施例,可增强计算机启动的可靠性。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种计算机启动方法及计算机。
背景技术
基板管理控制器(Baseboard Management Controller,BMC)支持行业标准的IPM智能平台管理接口(Intelligent Platform Management Interface,IPMI)规范。该规范描述了已经内置到主板上的管理功能,这些功能包括:本地和远程诊断、控制台支持、配置管理、硬件管理和故障排除等。BMC系统提供了包括BIOS在内的多个组件的升级、更新功能。BIOS作为基本输入输出系统,固化保存在专用的FLASH上,用于保存BIOS的FLASH一旦出现故障,则通常情况下,系统便不能正常工作,为避免此类情况的出现,业界采用多种方法来解决此类情况。如双BIOS备份、双镜像等方法。
当前较为广泛的一个方法是采用双BIOS备份的形式,即采用两块FLASH分别保存主、备两份BIOS,然而双BIOS备份的方式虽然在一定概率上解决了BIOS故障导致的不能启动的风险,但是会导致硬件成本增加,而且双BIOS镜像均是直接保存在FLASH中,故两块FLASH出现故障的可能性是相等的,该方案并不能真正的解决问题。
现有技术二采用的方法是在同一块FLASH中对BIOS的关键参数进行双备份,当采用主参数不能正常启动时,采用备份参数启动,并依据其来恢复主参数区的数据,但是该方案虽然没有使用额外的硬件电路和FLASH,但是该方案仅仅可以对参数区进行恢复操作,且因为主、备参数均保存在同一FLASH中,故二者具有同等的损坏概率,再者本方案在BIOS的非参数区出现故障时不能实现恢复作用。
发明内容
本发明实施例公开了一种计算机启动方法及计算机,能够增强计算机启动的可靠性。
第一方面,提供一种计算机方法,计算机有CPU、BIOS芯片以及基板管理控制器BMC,CPU分别与所述BMC以及所述BIOS芯片连接,其中,所述BIOS芯片中存储有基本输入输出系统BIOS文件,其特征在于,所述BMC中预存有至少一个版本的BIOS镜像文件,所述方法包括:
计算机上电后,CPU检测存储于BIOS芯片中的BIOS文件与计算机硬件是否匹配;
若不匹配,则CPU从所述BMC中查找出版本与所述计算机硬件匹配的BIOS文件,把查找到的BIOS文件发送到所述BIOS芯片中,以对所述BIOS芯片中的BIOS文件进行更新;
CPU以更新后的BIOS文件启动所述计算机。
在第一方面的第一种可能的实现方式中,所述方法还包括:
所述BMC中预存有至少一个版本的BIOS镜像文件,具体为:所述BMC中预存有至少一个版本的压缩后的BIOS镜像文件;
相应的,所述CPU从所述BMC中查找出版本与所述计算机硬件匹配的BIOS文件具体包括:CPU发送查询请求给所述BMC,BMC解压BIOS镜像文件并发送给所述CPU,CPU查找版本与所述计算机硬件匹配的BIOS文件。
结合第一方面或第一方面的第一可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
BMC查询网络管理服务器上是否存在新版本的BIOS镜像文件;
若存在,则下载所述新版本的BIOS镜像文件,并将所述新版本的BIOS镜像文件存储到所述BMC中。
结合第一方面第二种可能的实现方式,在第三种可能的实现方式中,该方法进一步包括:
所述CPU创建线程,在所BMC下电时,将所述新版本的BIOS镜像文件更新到所述BIOS芯片中。
结合第一方面或上述任一种可能的实现方式,在第四种可能的实现方式中,所述CPU以更新后的BIOS文件启动所述计算机包括:
所述CPU检测更新后的BIOS文件是否成功运行;
若未成功运行,则所述CPU指令所述BMC将所述BMC中的BIOS文件发送到所述BIOS芯片中,以对所述BIOS芯片中的更新后的BIOS文件进行修复;所述CPU以修复后的BIOS文件启动所述计算机。
结合第一方面第四种可能的实现方式,在第五种可能的实现方式中,所述CPU指令所述BMC将所述BMC中的BIOS文件发送到所述BIOS芯片中,以对所述BIOS芯片中的更新后的BIOS文件进行修复包括:
所述CPU检测所述BMC中的BIOS文件中是否存在与更新后的BIOS文件同版本的镜像;
若存在,则所述CPU指令所述BMC将所述BMC中与更新后的BIOS文件同版本的BIOS文件传送到所述BIOS芯片中,以保护现有参数区的方式升级更新后的BIOS文件;
若不存在,则所述CPU指令所述BMC将所述BMC中与更新后的所述BIOS文件不同版本的BIOS文件传送到所述BIOS芯片中,以全擦除模式升级更新后的BIOS文件。
第二方面,提供一种计算机,所述计算机有CPU、BIOS芯片以及基板管理控制器BMC,CPU分别与所述BMC以及所述BIOS芯片连接,其中,所述BIOS芯片中存储有基本输入输出系统BIOS文件,其特征在于,所述BMC中预存有至少一个版本的BIOS镜像文件;
所述CPU用于在所述计算机上电后,检测存储于BIOS芯片中的BIOS文件与计算机硬件是否匹配,若不匹配,则从所述BMC中查找出版本与所述计算机硬件匹配的BIOS文件,把查找到的BIOS文件发送到所述BIOS芯片中,以对所述BIOS芯片中的BIOS文件进行更新,并以更新后的BIOS文件启动所述计算机。
在第二方面的第一种可能的实现方式中,所述BMC中预存有至少一个版本的BIOS镜像文件,具体为:所述BMC中预存有至少一个版本的压缩后的BIOS镜像文件;
相应的,所述CPU从所述BMC中查找出版本与所述计算机硬件匹配的BIOS文件具体包括:CPU发送查询请求给所述BMC,BMC解压BIOS镜像文件并发送给所述CPU,CPU查找版本与所述计算机硬件匹配的BIOS文件。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述BMC还用于查询网络管理服务器上是否存在新版本的BIOS镜像文件;若存在,则下载所述新版本的BIOS镜像文件,并将所述新版本的BIOS镜像文件存储到所述BMC中。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述CPU还用于创建线程,在所述BMC下电时,将所述新版本的BIOS镜像文件更新到所述BIOS芯片中。
结合第二方面或上述第二方面的任一种可能的实现方式,在第四种可能的实现方式中,所述CPU以更新后的BIOS文件启动所述计算机包括:
所述CPU检测更新后的BIOS文件是否成功运行;
若未成功运行,则所述CPU指令所述BMC将所述BMC中的BIOS文件发送到所述BIOS芯片中,以对所述BIOS芯片中的更新后的BIOS文件进行修复;
所述CPU以修复后的BIOS文件启动所述计算机。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述CPU指令所述BMC将所述BMC中的BIOS文件发送到所述BIOS芯片中,以对所述BIOS芯片中的更新后的BIOS文件进行修复包括:
所述CPU检测所述BMC中的BIOS文件中是否存在与更新后的BIOS文件同版本的镜像;
若存在,则所述CPU指令所述BMC将所述BMC中与更新后的BIOS文件同版本的BIOS文件传送到所述BIOS芯片中,以保护现有参数区的方式升级更新后的所述BIOS文件;
若不存在,则所述CPU指令所述BMC将所述BMC中与更新后的BIOS文件不同版本的BIOS文件传送到所述BIOS芯片中,以全擦除模式升级更新后的所述BIOS文件。
本发明实施例中,CPU可在计算机上电后检测存储于BIOS芯片中的BIOS文件与计算机硬件是否匹配,若不匹配,则CPU从BMC中查找出版本与计算机硬件匹配的BIOS文件,把查找到的BIOS文件发送到所述BIOS芯片中,以对BIOS芯片中的BIOS文件进行更新,然后CPU以更新后的BIOS文件启动所述计算机。通过本发明实施例,可增强计算机启动的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种计算机启动方法的流程图;
图2是本发明实施例提供的另一种计算机启动方法的流程图;
图3是本发明实施例提供的计算机启动方法中远程更新BIOS文件的流程图;
图4是本发明实施例提供的一种计算机的结构示意图;
图5是本发明实施例提供的一种远程更新BIOS文件的系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种计算机启动方法及计算机,能够增强计算机启动的可靠性。以下分别进行详细说明。
参见图1,图1示出了本发明实施例提供的一种计算机启动方法的流程图。如图1所示,该计算机启动方法可以包括以下步骤:
S101:计算机上电后,CPU检测存储于BIOS芯片中的BIOS文件与计算机硬件是否匹配;
具体地,CPU可在计算机上电后对存储于BIOS芯片中的BIOS文件与计算机硬件是否匹配检测,BIOS文件与计算机硬件匹配指的是BIOS文件符合计算机硬件的运行需要,理论上可在计算机硬件上运行。
S102:若不匹配,则CPU从BMC中查找出版本与计算机硬件匹配的BIOS文件,把查找到的BIOS文件发送到BIOS芯片中,以对BIOS芯片中的BIOS文件进行更新;
具体地,由于BMC中预存有至少一个版本的BIOS镜像文件,进一步地,BMC中预存有至少一个版本的压缩后的BIOS镜像文件,若CPU在步骤S101中检测到存储于BIOS芯片中的BIOS文件与计算机硬件不匹配,则CPU从BMC中查找出版本与计算机硬件匹配的BIOS文件,把查找到的BIOS文件发送到BIOS芯片中,以对BIOS芯片中的BIOS文件进行更新;CPU从BMC中查找出版本与计算机硬件匹配的BIOS文件的具体方法可以为:CPU发送查询请求给BMC,BMC解压BIOS镜像文件并发送给CPU,CPU查找版本与计算机硬件匹配的BIOS文件。
S103:CPU以更新后的BIOS文件启动所述计算机;
具体地,在步骤S102中对BIOS芯片中的BIOS文件进行更新后,CPU以BIOS芯片中的更新后的BIOS文件启动计算机;CPU以更新后的BIOS文件启动计算机可以包括:CPU检测更新后的BIOS文件是否成功运行,若未成功运行,则CPU指令BMC将BMC中的BIOS文件发送到BIOS芯片中,以对BIOS芯片中的更新后的BIOS文件进行修复,然后CPU以修复后的BIOS文件启动所述计算机;进一步,CPU指令BMC将BMC中的BIOS文件发送到BIOS芯片中,以对BIOS芯片中的更新后的BIOS文件进行修复可以包括:CPU检测BMC中的BIOS文件中是否存在与更新后的BIOS文件同版本的镜像,若存在,则CPU指令BMC将BMC中与更新后的BIOS文件同版本的BIOS文件传送到BIOS芯片中,以保护现有参数区的方式升级更新后的BIOS文件;若不存在,则CPU指令BMC将BMC中与更新后的BIOS文件不同版本的BIOS文件传送到BIOS芯片中,以全擦除模式升级更新后的BIOS文件。
在图1提供的计算机启动方法中,CPU可在检测到存储于BIOS芯片中的BIOS文件与计算机硬件未匹配时,从BMC中查找出版本与计算机硬件匹配的BIOS文件,把查找到的BIOS文件发送到BIOS芯片中,以对BIOS芯片中的BIOS文件进行更新,并以更新后的BIOS文件启动计算机,从而可增强计算机启动的可靠性。
参见图2,图2示出了本发明实施例提供的另一种计算机启动方法的流程图。如图2所示,该计算机启动方法可以包括以下步骤:
S201:BMC中预存至少一个版本的BIOS镜像文件;
具体地,BMC中的存储介质可以为闪存(FLASH),BMC的FLASH通过并行总线(LocalBus)直接与BMC的CPU相连,BMC的FLASH中可保存BIOS镜像文件,BMC在这个FLASH中构建了JFFS2文件系统;BMC的FLASH至少有64MB的空间,由于其通常情况下有32MB的空闲数据区域闲置,又因为有BMC的文件系统的维护,固件的镜像可以采用压缩文件的形式进行保存(压缩比例可以为8:1),从而BMC中可预存至少一个版本的压缩后的BIOS镜像文件,这种压缩形式的BIOS镜像文件所占空间小、安全系数高,能及时发现文件是否被损坏。
S202:CPU检测存储于BIOS芯片中的BIOS文件与计算机硬件是否匹配?
具体地,在计算机上电后,CPU可检测存储于BIOS芯片中的BIOS文件与计算机硬件是否匹配;如果检测到BIOS文件与计算机硬件匹配,则本流程转至步骤S205;如果检测到BIOS文件与计算机硬件不匹配,则本流程转至步骤S203。
S203:CPU从BMC中查找出版本与计算机硬件匹配的BIOS文件,把查找到的BIOS文件发送到BIOS芯片中,以对BIOS芯片中的BIOS文件进行更新;
具体地,CPU从BMC中查找出版本与计算机硬件匹配的BIOS文件的具体方法可以为:CPU发送查询请求给BMC,BMC解压BIOS镜像文件并发送给CPU,CPU查找版本与计算机硬件匹配的BIOS文件。
S204:CPU以更新后的BIOS文件启动所述计算机;
具体地,CPU以更新后的BIOS文件启动计算机可以包括:CPU检测更新后的BIOS文件是否成功运行,若未成功运行,则CPU指令BMC将BMC中的BIOS文件发送到BIOS芯片中,以对BIOS芯片中的更新后的BIOS文件进行修复,CPU以修复后的BIOS文件启动所述计算机;进一步,CPU指令BMC将BMC中的BIOS文件发送到BIOS芯片中,以对BIOS芯片中的更新后的BIOS文件进行修复可以包括:CPU检测BMC中的BIOS文件中是否存在与更新后的BIOS文件同版本的镜像,若存在,则CPU指令BMC将BMC中与更新后的BIOS文件同版本的BIOS文件传送到BIOS芯片中,以保护现有参数区的方式升级更新后的BIOS文件;若不存在,则CPU指令BMC将BMC中与更新后的BIOS文件不同版本的BIOS文件传送到BIOS芯片中,以全擦除模式升级更新后的BIOS文件。
S205:CPU以BIOS文件启动计算机;
具体地,当在步骤S202中检测到BIOS芯片中的BIOS文件与计算机硬件匹配时,则CPU以BIOS芯片中的BIOS文件启动计算机,具体方法可以为:CPU检测BIOS芯片中的BIOS文件是否成功运行,若未成功运行,则CPU指令BMC将BMC中的BIOS文件发送到BIOS芯片中,以对BIOS芯片中的BIOS文件进行修复,CPU以修复后的BIOS文件启动所述计算机;进一步,CPU指令BMC将BMC中的BIOS文件发送到BIOS芯片中,以对BIOS芯片中的BIOS文件进行修复可以包括:CPU检测BMC中的BIOS文件中是否存在与BIOS芯片中的BIOS文件同版本的镜像,若存在,则CPU指令BMC将BMC中与BIOS芯片中的BIOS文件同版本的BIOS文件传送到BIOS芯片中,以保护现有参数区的方式升级BIOS芯片中的BIOS文件;若不存在,则CPU指令BMC将BMC中与BIOS芯片中的BIOS文件不同版本的BIOS文件传送到BIOS芯片中,以全擦除模式升级BIOS芯片中的BIOS文件。
在图2提供的计算机启动方法中,可通过在BMC中预存至少一个版本的BIOS镜像文件,利用BIOS镜像文件使储存在BIOS芯片中的BIOS文件与系统硬件版本相匹配,并可通过BIOS镜像文件对运行异常的BIOS文件进行修复,以启动计算机,从而可增强计算机启动的可靠性。
参见图3,图3示出了本发明实施例提供的计算机启动方法中远程更新BIOS文件的流程图。如图3所示,该远程更新BIOS文件的流程可以包括以下步骤:
S301:查询网络服务器上的BIOS版本状态;
具体地,BMC可周期性地向网络服务器发送查询指令,以便探知BIOS文件的版本的更新情况。
S302:BIOS版本是否有更新;
具体地,当BMC查询到网络服务器上有新的BIOS文件的版本时,则本流程转至步骤S303;若查询到网络服务器上没有新的BIOS文件的版本时,则本流程返回至步骤S301以继续查询网络服务器上的BIOS文件的版本状态。
S303:是否允许BIOS自动下载;
具体地,如果BMC查询到网络服务器上有新的BIOS文件的版本时,则可判断当前BMC是否允许网络更新BMC中的BIOS镜像文件,如果允许,则本流程转至步骤S304;如果不允许,则本流程返回至步骤S301。
S304:下载最新的BIOS,并更新BIOS镜像文件;
具体地,如果允许更新BMC中的BIOS镜像文件,则可通过文本传输协议(FTP)在网络服务器上下载新的版本的BIOS文件,并利用下载的新的版本的BIOS文件更新BMC中的BIOS镜像文件。
S305:是否允许BIOS自动升级;
具体地,在更新BMC中的BIOS镜像文件后,需要判断当前状态下是否允许立即通过新版本的BIOS镜像文件对BIOS芯片中的BIOS文件进行更新,如果允许则本流程转至步骤S306;如果不允许,则本流程返回至步骤S301。
S306:创建线程以在BMC下电时将新版本的BIOS镜像文件更新到BIOS芯片中;
具体地,CPU可创建线程以设置任务,从而可等待BMC下电时,通过BMC中的新版本的BIOS镜像文件完成对BIOS芯片中的BIOS文件的更新升级操作,例如,完成参数保留形式的BIOS文件的升级操作。
在图3提供的远程更新BIOS文件的方法中,BMC可通过网络管理服务器对BMC中的BIOS镜像文件进行更新,并可通过CPU创建线程,以在BMC下电时,将新版本的BIOS镜像文件更新到BIOS芯片中,从而可增强CPU以BIOS芯片中的BIOS文件启动计算机的可靠性。
请参阅图4,图4示出了本发明实施例提供的一种计算机的结构示意图。如图4所示,该计算机40包括CPU401、BMC402和BIOS芯片403,其中:
CPU401分别连接BMC402和BIOS芯片403,BIOS芯片403中存储有BIOS文件,BMC402中预存有至少一个版本的BIOS镜像文件。
进一步,BMC402包括BMC402的CPU4021(即BMC CPU4021)和BMC402的FLASH4022(即BMC FLASH4022);其中,BMC CPU4021通过Local Bus与BMC FLASH4022通信连接,BMCCPU4021通过块传输(Block Transmission,BT)通道与CPU401通信,BMC CPU4021通过串行外设接口(Serial Peripheral Interface,SPI)通道与BIOS芯片403相连,CPU401通过SPI通道与BIOS芯片403相连。
CPU401用于在计算机40上电后,检测存储于BIOS芯片403中的BIOS文件与计算机硬件是否匹配,若不匹配,则从BMC402中查找出版本与计算机硬件匹配的BIOS文件,把查找到的BIOS文件发送到BIOS芯片403中,以对BIOS芯片403中的BIOS文件进行更新,并以更新后的BIOS文件启动计算机40。
在本发明的一个实施例中,BMC FLASH4022中预存有至少一个版本的压缩后的BIOS镜像文件,CPU401从BMC402中查找出版本与计算机硬件匹配的BIOS文件的方法可以为:CPU401发送查询请求给BMC402,BMC402解压BIOS镜像文件并发送给CPU401,CPU401查找版本与计算机硬件匹配的BIOS文件。
在本发明的一个实施例中,CPU401以更新后的BIOS文件启动计算机40的具体方法可以为:CPU401检测更新后的BIOS文件是否成功运行,若未成功运行,则CPU401指令BMC402将BMC402中的BIOS文件发送到BIOS芯片403中,以对BIOS芯片403中的更新后的BIOS文件进行修复,然后CPU401以修复后的BIOS文件启动计算机40。
进一步,CPU401指令BMC402将BMC402中的BIOS文件发送到BIOS芯片403中,以对BIOS芯片403中的更新后的BIOS文件进行修复可以包括:CPU401检测BMC402中的BIOS文件中是否存在与更新后的BIOS文件同版本的镜像,若存在,则CPU401指令BMC402将BMC402中与更新后的BIOS文件同版本的BIOS文件传送到BIOS芯片403中,以保护现有参数区的方式升级更新后的BIOS文件;若不存在,则CPU401指令BMC402将BMC402中与更新后的BIOS文件不同版本的BIOS文件传送到BIOS芯片403中,以全擦除模式升级更新后的BIOS文件。
其中,图4提供的计算机可通过在BMC中预存至少一个版本的BIOS镜像文件,利用BIOS镜像文件使储存在BIOS芯片中的BIOS文件与系统硬件版本相匹配,并可通过BIOS镜像文件对运行异常的BIOS文件进行修复,以启动计算机,从而可增强计算机启动的可靠性。
请参阅图5,图5示出了本发明实施例提供的一种远程更新BIOS文件的系统的结构示意图。如图5所示,该系统包括网络管理服务器50和如图4所示的计算机40,其中:
计算机40中的BMC402还用于查询网络管理服务器50上是否存在新版本的BIOS镜像文件;若存在,则下载新版本的BIOS镜像文件,并将BIOS镜像文件的新版本存储到BMC402中,即将BIOS镜像文件的新版本存储到BMC FLASH4022中,以更新BMC FLASH4022中的BIOS镜像文件的列表。
进一步,计算机40中的CPU401还用于创建线程,在BMC402下电时,将新版本的BIOS镜像文件更新到BIOS芯片403中;具体地,CPU401可创建线程以设置任务,从而可等待BMC402下电时,通过BMC402中的新版本的BIOS镜像文件完成对BIOS芯片403中的BIOS文件的更新升级操作,例如,完成参数保留形式的BIOS文件的升级操作。
在图5提供的远程更新BIOS文件的系统中,计算机中的BMC可通过网络管理服务器对BMC中的BIOS镜像文件进行更新,且计算机中的CPU可创建线程,以在BMC下电时,将新版本的BIOS镜像文件更新到BIOS芯片中,从而可增强CPU以BIOS芯片中的BIOS文件启动计算机的可靠性。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上对本发明实施例所提供的计算机启动方法及计算机进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种计算机启动方法,计算机有CPU、BIOS芯片以及基板管理控制器BMC,CPU分别与所述BMC以及所述BIOS芯片连接,其中,所述BIOS芯片中存储有基本输入输出系统BIOS文件,其特征在于,所述BMC中预存有至少一个版本的BIOS镜像文件,所述方法包括:
计算机上电后,CPU检测存储于BIOS芯片中的BIOS文件与计算机硬件是否匹配;
若不匹配,则CPU从所述BMC中查找出版本与所述计算机硬件匹配的BIOS文件,把查找到的BIOS文件发送到所述BIOS芯片中,以对所述BIOS芯片中的BIOS文件进行更新;
CPU以更新后的BIOS文件启动所述计算机;
其中,所述CPU以更新后的BIOS文件启动所述计算机包括:
所述CPU检测更新后的BIOS文件是否成功运行;
若未成功运行,则所述CPU指令所述BMC将所述BMC中的BIOS文件发送到所述BIOS芯片中,以对所述BIOS芯片中的更新后的BIOS文件进行修复;以及
所述CPU以修复后的BIOS文件启动所述计算机;
其中,所述CPU指令所述BMC将所述BMC中的BIOS文件发送到所述BIOS芯片中,以对所述BIOS芯片中的更新后的BIOS文件进行修复包括:
所述CPU检测所述BMC中的BIOS文件中是否存在与更新后的BIOS文件同版本的镜像;
若存在,则所述CPU指令所述BMC将所述BMC中与更新后的BIOS文件同版本的BIOS文件传送到所述BIOS芯片中,以保护现有参数区的方式升级更新后的BIOS文件;
若不存在,则所述CPU指令所述BMC将所述BMC中与更新后的所述BIOS文件不同版本的BIOS文件传送到所述BIOS芯片中,以全擦除模式升级更新后的BIOS文件。
2.根据权利要求1所述的计算机启动方法,其特征在于,所述方法还包括:
所述BMC中预存有至少一个版本的BIOS镜像文件,具体为:所述BMC中预存有至少一个版本的压缩后的BIOS镜像文件;
相应的,所述CPU从所述BMC中查找出版本与所述计算机硬件匹配的BIOS文件具体包括:CPU发送查询请求给所述BMC,BMC解压BIOS镜像文件并发送给所述CPU,CPU查找版本与所述计算机硬件匹配的BIOS文件。
3.根据权利要求1所述的计算机启动方法,其特征在于,所述方法还包括:
BMC查询网络管理服务器上是否存在新版本的BIOS镜像文件;
若存在,则下载所述新版本的BIOS镜像文件,并将所述新版本的BIOS镜像文件存储到所述BMC中。
4.根据权利要求3所述的计算机启动方法,其特征在于,该方法进一步包括:
所述CPU创建线程,在所述BMC下电时,将所述新版本的BIOS镜像文件更新到所述BIOS芯片中。
5.一种计算机,其特征在于,所述计算机有CPU、BIOS芯片以及基板管理控制器BMC,CPU分别与所述BMC以及所述BIOS芯片连接,其中,所述BIOS芯片中存储有基本输入输出系统BIOS文件,其特征在于,所述BMC中预存有至少一个版本的BIOS镜像文件;
所述CPU用于在所述计算机上电后,检测存储于BIOS芯片中的BIOS文件与计算机硬件是否匹配,若不匹配,则从所述BMC中查找出版本与所述计算机硬件匹配的BIOS文件,把查找到的BIOS文件发送到所述BIOS芯片中,以对所述BIOS芯片中的BIOS文件进行更新,并以更新后的BIOS文件启动所述计算机;
所述BMC中预存有至少一个版本的BIOS镜像文件,
其中,所述CPU以更新后的BIOS文件启动所述计算机包括:
所述CPU检测更新后的BIOS文件是否成功运行;
若未成功运行,则所述CPU指令所述BMC将所述BMC中的BIOS文件发送到所述BIOS芯片中,以对所述BIOS芯片中的更新后的BIOS文件进行修复;以及
所述CPU以修复后的BIOS文件启动所述计算机;
其中,所述CPU指令所述BMC将所述BMC中的BIOS文件发送到所述BIOS芯片中,以对所述BIOS芯片中的更新后的BIOS文件进行修复包括:
所述CPU检测所述BMC中的BIOS文件中是否存在与更新后的BIOS文件同版本的镜像;
若存在,则所述CPU指令所述BMC将所述BMC中与更新后的BIOS文件同版本的BIOS文件传送到所述BIOS芯片中,以保护现有参数区的方式升级更新后的所述BIOS文件;
若不存在,则所述CPU指令所述BMC将所述BMC中与更新后的BIOS文件不同版本的BIOS文件传送到所述BIOS芯片中,以全擦除模式升级更新后的所述BIOS文件。
6.根据权利要求5所述的计算机,其特征在于,所述BMC中预存有至少一个版本的BIOS镜像文件,具体为:所述BMC中预存有至少一个版本的压缩后的BIOS镜像文件;
相应的,所述CPU从所述BMC中查找出版本与所述计算机硬件匹配的BIOS文件具体包括:CPU发送查询请求给所述BMC,BMC解压BIOS镜像文件并发送给所述CPU,CPU查找版本与所述计算机硬件匹配的BIOS文件。
7.根据权利要求5所述的计算机,其特征在于,所述BMC还用于查询网络管理服务器上是否存在新版本的BIOS镜像文件;若存在,则下载所述新版本的BIOS镜像文件,并将所述新版本的BIOS镜像文件存储到所述BMC中。
8.根据权利要求7所述的计算机,其特征在于,所述CPU还用于创建线程,在所述BMC下电时,将所述新版本的BIOS镜像文件更新到所述BIOS芯片中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310396254.5A CN103488498B (zh) | 2013-09-03 | 2013-09-03 | 一种计算机启动方法及计算机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310396254.5A CN103488498B (zh) | 2013-09-03 | 2013-09-03 | 一种计算机启动方法及计算机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103488498A CN103488498A (zh) | 2014-01-01 |
CN103488498B true CN103488498B (zh) | 2017-02-22 |
Family
ID=49828755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310396254.5A Expired - Fee Related CN103488498B (zh) | 2013-09-03 | 2013-09-03 | 一种计算机启动方法及计算机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103488498B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3690653A1 (en) * | 2019-01-31 | 2020-08-05 | Quanta Computer Inc. | Bios recovery and update |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102517B (zh) * | 2014-07-22 | 2019-01-04 | 技嘉科技股份有限公司 | 写入基本输入输出系统程序代码的电路与写入方法 |
CN104834543A (zh) * | 2015-04-24 | 2015-08-12 | 曙光信息产业(北京)有限公司 | 带外刷新bios固件的方法及装置 |
TWI602121B (zh) * | 2015-07-30 | 2017-10-11 | 神雲科技股份有限公司 | 更新伺服器映像檔的技術 |
CN106484442B (zh) * | 2015-08-25 | 2020-07-21 | 佛山市顺德区顺达电脑厂有限公司 | 服务器系统及更新开机映像档的方法 |
CN105159808B (zh) * | 2015-09-21 | 2019-02-19 | 苏州中太服务器有限公司 | 一种对bios进行审计的方法 |
CN106547645B (zh) * | 2015-09-22 | 2020-12-08 | 佛山市顺德区顺达电脑厂有限公司 | 自动修复映像档的方法及服务器系统 |
US10055296B2 (en) * | 2015-10-30 | 2018-08-21 | Quanta Computer Inc. | System and method for selective BIOS restoration |
CN107179898B (zh) * | 2016-03-09 | 2020-07-24 | 佛山市顺德区顺达电脑厂有限公司 | 电脑内嵌产品资料同步更新的方法 |
CN105955857A (zh) * | 2016-04-29 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种检验bios的方法及装置 |
CN107357602B (zh) * | 2016-05-10 | 2020-11-06 | 佛山市顺德区顺达电脑厂有限公司 | 数据加载方法及主板 |
CN107967196A (zh) * | 2016-10-20 | 2018-04-27 | 英业达科技有限公司 | 检测系统及检测方法 |
CN106776399A (zh) * | 2016-12-30 | 2017-05-31 | 郑州云海信息技术有限公司 | 基于基板管理控制器的bios闪存数据读写系统及方法 |
CN107562470B (zh) * | 2017-08-21 | 2021-05-18 | 联想(北京)有限公司 | 一种电子设备启动的优化方法及装置 |
CN108170451B (zh) * | 2017-12-28 | 2020-11-20 | 曙光信息产业股份有限公司 | 一种服务器bmc控制bios版本升级的方法及系统 |
CN108376087B (zh) * | 2018-03-09 | 2020-11-20 | 联想(北京)有限公司 | 一种电子设备的启动控制方法、装置及服务器 |
TWI659295B (zh) * | 2018-03-29 | 2019-05-11 | 神雲科技股份有限公司 | 伺服器及伺服器開機初始化方法 |
CN110471704B (zh) * | 2018-05-11 | 2022-07-12 | 佛山市顺德区顺达电脑厂有限公司 | 服务器及服务器开机初始化方法 |
CN109710319B (zh) * | 2018-12-06 | 2022-07-19 | 郑州云海信息技术有限公司 | 一种计算机在位硬盘的识别方法及系统 |
CN109992312B (zh) * | 2019-03-26 | 2021-09-14 | 联想(北京)有限公司 | 电子设备的启动方法、装置以及系统 |
CN111475007A (zh) * | 2020-04-08 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种服务器下电方法、装置及其相关设备 |
CN111858428B (zh) * | 2020-06-24 | 2022-03-22 | 山东云海国创云计算装备产业创新中心有限公司 | 一种服务器及其bios的通信管理电路 |
CN112463244B (zh) * | 2020-10-29 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 一种cpu启动方法、装置、电子设备及计算机可读存储介质 |
CN113645412B (zh) * | 2021-10-15 | 2021-12-24 | 北京创米智汇物联科技有限公司 | 启动方法、装置、摄像机及计算机可读存储介质 |
CN114428963B (zh) * | 2022-04-06 | 2022-07-08 | 浪潮(山东)计算机科技有限公司 | 一种服务器启动方法、装置、设备及存储介质 |
CN115291957B (zh) * | 2022-10-08 | 2022-12-30 | 北京大禹智芯科技有限公司 | 多处理器主板的初始化方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030867A (zh) * | 2006-02-28 | 2007-09-05 | 联想(北京)有限公司 | 一种bios刷新升级的系统和方法 |
US7440998B2 (en) * | 2003-06-18 | 2008-10-21 | Intel Corporation | Provisioning for a modular server |
CN101350990A (zh) * | 2008-08-20 | 2009-01-21 | 上海闻泰电子科技有限公司 | 智能手机的cp升级方法 |
CN101364193A (zh) * | 2007-08-06 | 2009-02-11 | 英业达股份有限公司 | 自动恢复bios的方法以及使用该方法的电脑与系统 |
US7809836B2 (en) * | 2004-04-07 | 2010-10-05 | Intel Corporation | System and method for automating bios firmware image recovery using a non-host processor and platform policy to select a donor system |
-
2013
- 2013-09-03 CN CN201310396254.5A patent/CN103488498B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7440998B2 (en) * | 2003-06-18 | 2008-10-21 | Intel Corporation | Provisioning for a modular server |
US7809836B2 (en) * | 2004-04-07 | 2010-10-05 | Intel Corporation | System and method for automating bios firmware image recovery using a non-host processor and platform policy to select a donor system |
CN101030867A (zh) * | 2006-02-28 | 2007-09-05 | 联想(北京)有限公司 | 一种bios刷新升级的系统和方法 |
CN101364193A (zh) * | 2007-08-06 | 2009-02-11 | 英业达股份有限公司 | 自动恢复bios的方法以及使用该方法的电脑与系统 |
CN101350990A (zh) * | 2008-08-20 | 2009-01-21 | 上海闻泰电子科技有限公司 | 智能手机的cp升级方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3690653A1 (en) * | 2019-01-31 | 2020-08-05 | Quanta Computer Inc. | Bios recovery and update |
Also Published As
Publication number | Publication date |
---|---|
CN103488498A (zh) | 2014-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103488498B (zh) | 一种计算机启动方法及计算机 | |
CN102238093B (zh) | 防止业务中断的方法和装置 | |
CN100518082C (zh) | 一种具有自恢复功能的远程在线升级方法 | |
CN103546914B (zh) | 一种hss主备管理的方法及装置 | |
CN100492305C (zh) | 一种计算机系统的快速恢复方法及设备 | |
CN101196823B (zh) | 一种开放应用架构中软件在线升级的方法、系统及设备 | |
CN104750515A (zh) | 固件版本升级的方法及系统 | |
CN102244669B (zh) | 一种堆叠设备中软件升级的方法和堆叠设备 | |
CN104503782A (zh) | 一种就地化继电保护装置远程软件升级的方法 | |
CN102023876A (zh) | 一种可软件在线升级的嵌入式系统及在线升级方法 | |
CN102243594A (zh) | 一种嵌入式linux系统软件安全远程升级的方法 | |
CN105677380A (zh) | 一种双主控隔离的逐板升级的方法及装置 | |
CN102214114B (zh) | 一种双cpu系统客户机程序的升级方法及系统 | |
JP2013164842A (ja) | Bmcファームウェアの修復機能を持つ電子装置及びその修復方法 | |
CN103139308A (zh) | 一种数据库系统及其数据同步方法 | |
CN104750516A (zh) | 终端设备操作系统升级方法 | |
CN101114935A (zh) | 系统升级的方法、升级系统及监控实体 | |
CN102073523B (zh) | 实现软件版本同步的方法及装置 | |
US11505082B2 (en) | Charging device for electric vehicles and automatic trobleshooting method thereof | |
CN102063319A (zh) | 软件更新方法 | |
CN103888283A (zh) | 一种sctp通信方法及装置 | |
TWI497319B (zh) | 基板管理控制器的更新方法 | |
CN103713911A (zh) | 一种单版本升级方法和装置 | |
CN111431788B (zh) | 一种高可靠的网络通信系统及方法 | |
CN107729032A (zh) | 开机动画更新方法、智能终端及可存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170222 Termination date: 20180903 |