一种BIOS中硬盘的启动方法、启动系统及相关装置与流程

文档序号:17474399发布日期:2019-04-20 06:01阅读:227来源:国知局
本申请涉及服务器领域,特别涉及一种bios中硬盘的启动方法、启动系统及相关装置。
背景技术
::目前,比较常见的硬盘类型包括sas类型,sata类型,raid类型,nvme类型。一台服务器配置中可以同时存在这些类型的硬盘。legacy模式下,bios检测到硬盘的在位顺序决定了硬盘的启动顺序,如果系统下先检测到了sata类型硬盘,那么sata类型的硬盘启动顺序排在第一位,当sata硬盘出现了损坏,再更换一个新的硬盘时,此时会出现sata启动顺序排到了末位的情况,这时如果想还原原来的硬盘启动顺序,就需要重新插拔硬盘以改变硬盘的在位顺序,给用户带来不便。技术实现要素:本申请的目的是提供一种bios中硬盘的启动方法、启动系统、一种计算机可读存储介质和一种服务器,解决了切换硬盘启动顺序时依赖人工插拔带来的插拔不便问题。为解决上述技术问题,本申请提供一种bios中硬盘的启动方法,具体技术方案如下:接收到所述bios的开机指令时,获取所有类型的硬盘启动项;根据ipmi命令确定需求启动顺序;根据所述需求启动顺序对所有所述硬盘启动项排序,并按照排序后的顺序启动所述bios。其中,获取所有类型的硬盘启动项包括:获取所有的开机启动项;从所有所述开机启动项中确定所有类型的硬盘启动项。其中,从所有所述开机启动项中确定所有类型的硬盘启动项包括:根据所有所述开机启动项的classcode确定所有的硬盘种类启动项;根据所有所述硬盘种类启动项的subclasscode确定硬盘类型。其中,根据ipmi命令确定需求启动顺序之前,还包括:接收包含所述需求启动顺序的ipmi命令。其中,所述bios以legacy模式启动。本申请还提供一种bios中硬盘的启动系统,包括:获取模块,用于接收到所述bios的开机指令时,获取所有类型的硬盘启动项;启动顺序确定模块,用于根据ipmi命令确定需求启动顺序;启动模块,用于根据所述需求启动顺序对所有所述硬盘启动项排序,并按照排序后的顺序启动所述bios。其中,所述获取模块包括:获取单元,用于获取所有的开机启动项;确定单元,用于从所有所述开机启动项中确定所有类型的硬盘启动项。其中,所述确定单元包括:第一确定子单元,用于根据所有所述开机启动项的classcode确定所有的硬盘种类启动项;第二确定子单元,用于根据所有所述硬盘种类启动项的subclasscode确定硬盘类型。本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的启动方法的步骤。本申请还提供一种服务器,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的启动方法的步骤。本申请提供的一种bios中硬盘的启动方法,包括:接收到所述bios的开机指令时,获取所有的启动项;从所有所述启动项中确定所有类型的硬盘启动项;根据ipmi命令确定需求启动顺序;根据所述需求启动顺序对所有所述硬盘启动项排序,并按照排序后的顺序启动所述bios。本申请通过确定所有的硬盘启动项,并对硬盘启动项进行排序,进而实现了bios在启动过程中按照排序后的硬盘启动项进行启动,无需在改变硬盘启动顺序时进行手动插拔硬盘并手动排序,减少了用户操作性,使得bios可以不按照硬盘的在位顺序启动,增加了服务器系统的可用性。本申请还提供一种bios中硬盘的启动系统、一种计算机可读存储介质和一种服务器,具有上述有益效果,此处不再赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例所提供的一种bios中硬盘的启动方法的流程图;图2为本申请实施例所提供的一种bios中硬盘的启动系统结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。请参考图1,图1为本申请实施例所提供的一种bios中硬盘的启动方法的流程图,该启动方法包括:s101:接收到所述bios的开机指令时,获取所有类型的硬盘启动项;本步骤旨在开机时获取硬盘启动项。容易理解的是,服务器在开机时,包括诸多开机启动项,例如网络连接服务、端口服务、系统日志服务等相关的开机启动项。而本步骤旨在获取的是所有类型的硬盘启动项。所有类型的硬盘启动项指的是开机启动项中包含硬盘启动内容的启动项,而硬盘启动项又根据不同类型的硬盘作区分,常见的包括ssd(固态硬盘)、hdd(机械硬盘)、hhd(混合硬盘)等。则本步骤一种优选的实施过程可以包括如下两个步骤:获取所有的开机启动项;从所有所述开机启动项中确定所有类型的硬盘启动项。在接收到bios的开机指令时,先获取所有的开机启动项,再从所有的开机启动项中确定包含所有硬盘类型的硬盘启动项。此时可以将各个启动项加入到bbstable中,其中bbstable是个结构体类型的指针,它包含了各个启动项的classcode和subclasscode。则此时可以根据所有所述开机启动项的classcode确定所有的硬盘种类启动项,再根据所有所述硬盘种类启动项的subclasscode确定硬盘类型。每个硬盘类型的classcode是一致的,但subclasscode是不一样的,通过classcode可以确定某个开机启动项是否为硬盘启动项,通过subclasscode可以区分不同类型的硬盘。当然,还可以采用其他方法确定包含所有硬盘类型的硬盘启动项,在此不一一举例限定,只要该方法可以从开机启动项中确定硬盘启动项,均应在本申请的保护范围内。s102:根据ipmi命令确定需求启动顺序;本步骤旨在根据ipmi命令确定启动顺序。这里的启动顺序指的是硬盘的启动顺序,可以理解的是,根据功能需求不同,硬盘的启动顺序也不同。例如,通常情况下,ssd的启动顺序优于hdd。而本步骤需要根据ipmi命令确定需求启动顺序。ipmi指的是intelligentplatformmanagementinterface,即智能型平台管理接口,ipmi命令通过bmc(位于ipmi规格的硬件组件上)进行信息交互。本实施例默认本步骤之前存在“接收包含所述需求启动顺序的ipmi命令”这一步骤,即需要接受该ipmi命令。通常,该ipmi命令可以由用户根据需求的硬盘启动顺序进行编辑,并发送至bmc。在此对于ipmi命令的具体形式和内容不作更多限定,仅要求ipmi命令中包括需求启动顺序即可。需要说明的是,需求启动顺序可以是用户实时编辑的,也可以为系统中预设的启动顺序,在此不作具体限定。容易理解的是,本步骤与步骤s101并不存在既定的顺序关系,即本步骤可以在s101之前执行,也可以与s101同时执行,还可以在s101之后执行,只需要s101和s102在执行s103之前均以执行完毕即可。s103:根据所述需求启动顺序对所有所述硬盘启动项排序,并按照排序后的顺序启动所述bios。在s101和s102均执行完毕后,本步骤即可根据需求启动顺序对已经确定的硬盘启动项进行排序,并按排序后的顺序启动。需要说明的是,本步骤的排序可以仅按硬盘类型排序,也可以具体针对到每一块硬盘进行排序。例如,若对于bios而言,同一类型的硬盘ssd0和ssd1无论哪一个先启动均无影响,而仅要求ssd需要在hdd前启动时,则此时仅按照硬盘类型排序。当然也可以具体针对到每一块硬盘,为每一块硬盘设定启动顺序,这都要根据ipmi命令中的需求启动顺序而定。特别需要注意的是,本申请中各实施例中bios均以legacy模式启动,而不能以uefi模式启动。本申请实施例提供了一种bios的启动方法,通过确定所有的硬盘启动项,并对硬盘启动项进行排序,进而实现了bios在启动过程中按照排序后的硬盘启动项进行启动,无需在改变硬盘启动顺序时进行手动插拔硬盘并手动排序,减少了用户操作性,使得bios可以不按照硬盘的在位顺序启动,增加了服务器系统的可用性。下面对本申请实施例提供的一种bios中硬盘的启动系统进行介绍,下文描述的启动系统与上文描述的一种bios中硬盘的启动方法可相互对应参照。参见图2,图2为本申请实施例所提供的一种bios中硬盘的启动系统结构示意图,本申请还提供一种bios中硬盘的启动系统,包括:获取模块100,用于接收到所述bios的开机指令时,获取所有类型的硬盘启动项;启动顺序确定模块200,用于根据ipmi命令确定需求启动顺序;启动模块300,用于根据所述需求启动顺序对所有所述硬盘启动项排序,并按照排序后的顺序启动所述bios。基于上述实施例,作为优选的实施例,所述获取模块100包括:获取单元,用于获取所有的开机启动项;确定单元,用于从所有所述开机启动项中确定所有类型的硬盘启动项。基于上述实施例,作为优选的实施例,所述确定单元包括:第一确定子单元,用于根据所有所述开机启动项的classcode确定所有的硬盘种类启动项;第二确定子单元,用于根据所有所述硬盘种类启动项的subclasscode确定硬盘类型。本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的一种bios中硬盘的启动方法的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。本申请还提供了一种服务器,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的一种bios中硬盘的启动方法的步骤。当然所述服务器还可以包括各种网络接口,电源等组件。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1