一种基本输入输出系统启动的方法技术方案

技术编号:2852666 阅读:241 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基本输入输出系统启动的方法。该方法在一个系统中有两个BIOS程序:一个主引导程序,一个扩展引导程序。扩展引导程序可以在线更新,从而方便完成系统BIOS程序的更新,主引导程序不能随意更新,保证了其不被破坏。由于主引导程序的存在,保证了即使BIOS程序更新失败,系统仍然可以在主引导程序的引导下正常运行。该方法避免了BIOS程序更新带来的风险,同时也大大减小了BIOS程序的维护和更新成本。

【技术实现步骤摘要】

本专利技术涉及基本输入输出系统(BIOS)技术,尤指。
技术介绍
众所周知,基本输入输出系统(BIOS)是一个程序,BIOS程序的主要功能是对硬件进行管理。BIOS程序是开机运行的第一个程序,它一般固化在一个叫做引导存储器(BOOTROM)的芯片中,这种芯片主要是紫外线擦除电可编程只读存储器(EPROM)或电擦除可编程只读存储器(E2PROM)。BIOS程序肩负着系统开机自检、初始化硬件等重要使命。系统应用程序的启动是靠BIOS程序来引导的,习惯上称BIOS程序为引导程序。BIOS程序终究是一个软件,它必然存在BUG或需要新增或删减某些功能,这样就需要对已有的BIOS程序进行更新。更新可以采用更换BIOS程序芯片或在线下载两种方法。其中在线下载是指远程对可电擦除存储区的程序进行更新,下载结束之后,可以通过远程软复位来采用更新后的BIOS程序引导系统启动。由于BIOS程序是系统启动最基本的保证,更新BIOS程序之后,BIOS是否能正常启动,直接影响到系统能否正常运行。目前,系统的引导工作由一个BIOS程序来完成,图1是现有技术BIOS程序启动流程图,这里假设该引导程序能正常引导系统。图1的启动流程包括如下步骤步骤101系统上电硬启动或系统复位软启动。步骤102运行引导程序,完成开机自检、初始化硬件等。步骤103至步骤104将应用程序搬移到系统内存中,开始运行应用程序。从现有技术BIOS程序启动方法可以看出,由于系统的引导工作由一个引导程序来完成,当系统需要更新BIOS程序时,如果该引导程序由于在线更新失败,那么系统复位后将不能正常启动,导致系统瘫痪。这时,只有工作人员到现场重新更换BOOTROM芯片之后才能重新启动系统。可见,这种BIOS程序启动方法在BIOS程序更新的时候,有启动失败的风险,而且一旦启动失败,就需要工作人员到现场更换芯片后才能恢复正常工作,这样增加了工作人员的工作量,也增加了维护成本。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供。该方法能够保证在BIOS程序更新后,即使更新失败,仍然能够确保系统可以安全成功启动。为达到上述目的,本专利技术的技术方案具体是这样实现的一种基本输入输出系统BIOS启动的方法,其特征在于在系统设置主引导程序和扩展引导程序两个BIOS程序,启动流程包括如下步骤a.系统复位后,主引导程序对系统进行最小系统初始化,然后判断扩展引导程序是否存在,若存在则进入步骤b;否则进入步骤c;b.主引导程序启动扩展引导程序,扩展引导程序对系统硬件进行初始化并引导应用程序;c.主引导程序对系统硬件进行初始化并引导应用程序。步骤a所述判断扩展引导程序是否存在的方法包括a1.判断扩展存储区是否存在已格式化标志字,若存在,进入步骤a2;否则,对扩展存储区进行格式化,并判定扩展引导程序不存在;a2.判断扩展存储区是否存在文件头,若存在,则判定扩展引导程序存在;若文件头不存在,则判定扩展引导程序不存在。步骤b中,所述主引导程序启动扩展引导程序前进一步对扩展引导程序进行校验,若通过校验,主引导程序启动扩展引导程序后执行步骤b;否则,执行步骤c。步骤b中,所述主引导程序启动扩展引导程序前对扩展引导程序进行校验,若通过校验,主引导程序启动扩展引导程序后执行步骤b;否则,执行步骤c。所述主引导程序对扩展引导程序进行校验是对扩展引导程序的标志字和文件头信息进行校验。步骤b中,所述主引导程序启动扩展引导程序之后进一步判断扩展引导程序是否启动成功,若启动成功,则扩展引导程序对系统硬件进行初始化并引导应用程序;否则,执行步骤c。所述主引导程序启动扩展引导程序时进一步记录启动次数在扩展引导程序启动失败时,进一步判断启动次数是否超过预定次数,若超过,执行步骤c;否则,重新执行步骤b。所述步骤b进一步包括扩展引导程序将应用程序搬移到系统内存,并在应用程序开始运行时复位记录下的启动次数;所述步骤c进一步包括主引导程序将应用程序搬移到系统内存,并在应用程序开始运行时复位记录下的启动次数;如果系统不存在应用程序,系统将停留在扩展引导程序下,并在设定停留时间到达时复位启动次数。步骤a1所述的最小系统初始化是主引导程序仅对CPU初始化。所述主引导程序存储在不可电擦除非挥发性存储器中;扩展引导程序存储在可电擦除非挥发性存储器中,采用在线下载的方法更新所述扩展引导程序。由上述的技术方案可见,本专利技术的这种BIOS程序启动方法,是通过在系统中设置主引导程序和扩展引导程序两个引导程序,并由主引导程序和扩展引导程序两个BIOS程序来担当引导系统的方法。该方法对系统BIOS程序的更新是指对扩展引导程序的更新,而主引导程序是不能通过在线更新随意更改的,所以不论BIOS程序更新是否成功,本专利技术都能正常引导系统,减小了由于系统BIOS更新带来的风险,是一种安全可靠的BIOS程序启动方法,保证了系统的正确引导。同时降低了BIOS程序维护和更新成本。附图说明图1是现有技术BIOS程序启动流程图;图2是本专利技术BIOS程序启动流程图。具体实施例方式本专利技术的核心思想是系统采用主引导程序和扩展引导程序共同引导系统,主引导程序不能在线更新,而扩展引导程序可以通过在线更新。正常情况下,启动扩展引导程序来引导系统,当系统更新BIOS程序失败后,启动主引导程序来引导系统。本专利技术的BIOS程序启动方法,在系统中设置两个BIOS程序存储空间,其中一个存储空间是如EPROM这种不可电擦除且非挥发性的芯片,称之为主存储区,在主存储区存储主引导程序。另一个存储空间是如E2PROM、非易失性存储器(NVRAM)、快速存储器(FLASHRAM)等电可擦除非挥发性存储芯片,称之为扩展存储区,在扩展存储区中存储扩展引导程序。扩展存储区的原始状态,可以是存储有与主引导程序一样的BIOS程序,也可以只是保留一个扩展存储空间,需要时再对扩展存储区进行在线下载。当需要对系统的BIOS程序进行更新时,由于主存储区存储器不支持电可擦除操作,所以主引导程序是不可在线更新的,这样可以保证主引导程序不被破坏。而扩展引导程序可以方便地进行在线更新,如可以利用应用程序的远程下载业务对扩展引导程序进行更新。为使本专利技术的目的、技术方案及优点更加清楚明白,以下参照附图并举一实施例,对本专利技术进一步详细说明。图2是本专利技术BIOS程序启动流程图。这里假设该系统的EPROM芯片中已经存储了能正确引导系统的主引导程序;扩展引导程序存储在某E2PROM芯片中并刚通过远程下载更新了BIOS程序。此时,要重新启动系统,具体实施步骤如下步骤201系统上电硬启动,或系统复位软启动。步骤202系统运行主引导程序,主引导程序完成一些能够让扩展引导程序运行的最小系统初始化,如CPU的简单初始化。步骤203主引导程序读扩展存储区,判断扩展引导程序是否存在,具体包括如下步骤A.主引导程序读扩展存储区,判断标志字是否存在。如果标志字存在,表示扩展存储区被格式化过,进入B;如果标志字不存在,则对扩展引导存储区进行格式化,格式化完成之后标志字就已写入了扩展存储区,进入步骤209;B.主引导程序读扩展存储区,判断文件头信息是否存在。如果文件头信息存在,表示扩展存储区被加载过,进入步骤204;否则进入步骤209。步骤204主引导程序对本文档来自技高网
...

【技术保护点】
一种基本输入输出系统BIOS启动的方法,其特征在于:在系统设置主引导程序和扩展引导程序两个BIOS程序,启动流程包括如下步骤:a.系统复位后,主引导程序对系统进行最小系统初始化,然后判断扩展引导程序是否存在,若存在则进入步骤b;否则 进入步骤c;b.主引导程序启动扩展引导程序,扩展引导程序对系统硬件进行初始化并引导应用程序;c.主引导程序对系统硬件进行初始化并引导应用程序。

【技术特征摘要】

【专利技术属性】
技术研发人员:牛思及陈昀
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1