一种获取UEFIOS启动项的方法、装置及服务器与流程

文档序号:14950489发布日期:2018-07-17 22:26阅读:390来源:国知局

本申请涉及服务器技术领域,特别是涉及一种获取uefios启动项的方法、装置及服务器。



背景技术:

uefi(unifiedextensiblefirmwareinterface,统一的可扩展固件接口)是一种详细描述接口类型的标准,该接口可以使操作系统自动从预启动的操作环境,加载到一种操作系统上。

随着uefi技术的不断发展,uefios(operatingsystem,操作系统)的应用也持续增长。例如,某些互联网公司在其数据中心部署中使用uefios,其为了更好的发挥应用软件的性能,通常基于内部业务对uefios进行定制化修改。在此种情形下,uefios启动项路径也会被定制,使得传统的启动方案不适用于定制化的uefios,造成数据中心的业务系统不能及时恢复,给客户造成不可挽回的损失。



技术实现要素:

本申请实施例中提供了一种获取uefios启动项的方法、装置及服务器,以解决现有技术中的启动方案不适用于定制化的uefios,造成数据中心的业务系统不能及时恢复的问题。

第一方面,本申请实施例提供了一种获取uefios启动项的方法,所示方法包括:

搜索硬盘启动分区中的启动项目录;

在所述启动项目录中查找有效的启动项文件;

根据所述有效的启动项文件创建uefios启动项。

优选地,所述搜索硬盘启动分区中启动项目录,包括:

在预设的白名单的启动项路径中查找有效的启动项文件;

若在预设的白名单的启动项路径中查找到有效的启动项文件,则根据所述有效的启动项文件创建uefios启动项;

若在预设的白名单的启动项路径中未查找到有效的启动项文件,则搜索硬盘启动分区中启动项目录。

优选地,在第一次安装完成biosos后,biosos在biosnvram中写入biosos启动项信息;

所述在预设的白名单的启动项路径中查找有效的启动项文件,包括:若在biosnvram中未查找到biosos启动项信息,则在预设的白名单的启动项路径中查找有效的启动项文件。

第二方面,本申请实施例提供了一种获取uefios启动项的装置,包括:

搜索模块,用于搜索硬盘启动分区中启动项目录;

查找模块,用于在所述启动项目录中查找有效的启动项文件;

创建模块,用于根据所述有效的启动项文件创建uefios启动项。

优选地,所述搜索硬盘启动分区中启动项目录,包括:

在预设的白名单的启动项路径中查找有效的启动项文件;

若在预设的白名单的启动项路径中查找到有效的启动项文件,则根据所述有效的启动项文件创建uefios启动项;

若在预设的白名单的启动项路径中未查找到有效的启动项文件,则搜索硬盘启动分区中启动项目录。

优选地,在第一次安装完成biosos后,biosos在biosnvram中写入biosos启动项信息;

所述在预设的白名单的启动项路径中查找有效的启动项文件,包括:若在biosnvram中未查找到biosos启动项信息,则在预设的白名单的启动项路径中查找有效的启动项文件。

第三方面,本申请实施例提供了一种服务器,包括:

处理器;

用于存储处理器的执行指令的存储器;

其中,所述处理器被配置为执行上述第一方面任一项所述的方法。

采用本申请实施例所提供的技术方案,当在做bios升级或在已有uefios的系统上更换主板等操作时,不会因nvram被擦除而造成无法进入uefios的情况;而自动搜索的方式,覆盖定制化的uefios启动路径,白名单无法找到的有效的uefios启动项也不会被漏掉,保证系统的正常启动。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种获取uefios启动项的方法流程示意图;

图2为本申请实施例提供的另一种获取uefios启动项的方法的流程示意图;

图3为本申请实施例提供的一种获取uefios启动项的装置结构示意图;

图4为本申请实施例提供的一种服务器的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

下面首先对本申请实施例涉及的概念进行简单说明。

uefi:unifiedextensiblefirmwareinterface,统一的可扩展固件接口;

bios:basicinputoutputsystem,基本输入输出系统;

nvram:non-volatilerandomaccessmemory,非易失性随机访问存储器;

os:operatingsystem,操作系统。

在第一次安装完成uefios后,os会在biosnvram中写入uefios启动项信息,以保证os能够正常启动。具体为,将uefios的启动项内容bootxxxx写入到biosnvram中,bios在启动过程中会根据nvram中bootxxxx的内容创建启动项并进行系统引导的动作。

但是,根据运维需求,当更换主板或更新bios时,os在biosnvram中创建的uefios启动项信息会被擦除。在完成运维操作后,系统再次上电,在biosnvram中查找不到uefios启动项信息会导致引导失败。

在这种情况下,可以通过白名单中记录的uefios启动项路径为已安装的uefios创建启动项。白名单包含所有发行版的uefios启动项路径。但是,如果用户为了更好的发挥应用软件的性能,对uefios进行了定制化修改,那么uefios的启动项路径也会被定制化修改。例如,一般标准redhat的uefios启动路径为\efi\redhat\grub.efi,或通用路径\efi\boot\bootx64.efi。用户为更好的发挥应用软件的性能,定制的uefios启动路径为\efi\int\grubx64.efi(int代表用户公司名称),这样的路径是与所有发行版uefios的启动路径不同,则通过白名单的方式无法找到定制的uefios启动项路径,进而无法找到有效的启动项文件,导致启动失败。

针对上述问题,本申请实施例采用自动搜索的方式,在硬盘启动分区中读取有效的启动项文件,从而正确的创建出uefios启动项,完成系统正常启动。以下结合附图进行说明。

图1为本申请实施例提供的一种获取uefios启动项的方法流程示意图,如图1所述,该方法主要包括以下步骤。

步骤s101:搜索硬盘启动分区中启动项目录。该启动项目录中包含启动项文件,例如硬盘启动分区中的/efi目录。

步骤s102:在所述启动项目录中查找有效的启动项文件。例如,*.efi文件。

步骤s103:根据所述有效的启动项文件创建uefios启动项。

采用本申请实施例所提供的技术方案,当在做bios升级或在已有uefios的系统上更换主板等操作时,不会因nvram被擦除而造成无法进入uefios的情况;而自动搜索的方式,覆盖定制化的uefios启动路径,白名单无法找到的有效的uefios启动项也不会被漏掉,保证系统的正常启动。

当然,对于非定制化的uefios,bios未升级,或者未更换主板的情况,仍然可以利用nvram或白名单中的启动项信息进行启动,以提高系统性能。

图2为本申请实施例提供的另一种获取uefios启动项的方法的流程示意图,如图2所示,其主要包括以下步骤。

步骤s201:在biosnvram中查找biosos启动项信息。

在第一次安装完成uefios后,os会在biosnvram中写入uefios启动项信息,以保证os能够正常启动。具体为,将uefios的启动项内容bootxxxx写入到biosnvram中,bios在启动过程中会根据nvram中bootxxxx的内容创建启动项并进行系统引导的动作。

步骤s202:判断在biosnvram中是否查找到biosos启动项信息。

若在biosnvram中查找到biosos启动项信息,则进入步骤s203;若在biosnvram中未查找到biosos启动项信息,说明os在biosnvram中创建的uefios启动项信息被擦除,其可能是由于更换主板或更新bios造成的,则进入步骤s204。

步骤s203:根据biosnvram中的uefios启动项信息创建启动项并进行系统引导的动作。

步骤s204:在预设的白名单的启动项路径中查找有效的启动项文件。其中,白名单包含所有发行版的uefios启动项路径。

步骤s205:判断在预设的白名单的启动项路径中是否查找到有效的启动项文件。

若在预设的白名单的启动项路径中查找到有效的启动项文件,则进入步骤s206;若在预设的白名单的启动项路径中未查找到有效的启动项文件,说明uefios启动项路径已经被定制化修改,则进入步骤s207。

步骤s206:根据所述有效的启动项文件创建uefios启动项。需要指出的是,此处的有效的启动项文件是指通过白名单的启动项路径查找到的有效的启动项文件。

步骤s207:搜索硬盘启动分区中启动项目录。

步骤s208:在所述启动项目录中查找有效的启动项文件。

步骤s209:根据所述有效的启动项文件创建uefios启动项。

在本申请实施例中,优先利用biosnvram中写入uefios启动项信息创建启动项,其次利用白名单中的uefios启动项信息创建启动项,最后采用自动搜索的方式创建启动项,多种启动策略并存,在保证系统可以正常启动的同时,提高系统的启动效率。

在上述方法实施例的基础上,本申请还提供了一种获取uefios启动项的装置,图3为本申请实施例提供的一种获取uefios启动项的装置结构示意图,如图3所示,该装置包括以下模块。

搜索模块301,用于搜索硬盘启动分区中启动项目录;

查找模块302,用于在所述启动项目录中查找有效的启动项文件;

创建模块303,用于根据所述有效的启动项文件创建uefios启动项。

采用本申请实施例所提供的技术方案,当在做bios升级或在已有uefios的系统上更换主板等操作时,不会因nvram被擦除而造成无法进入uefios的情况;而自动搜索的方式,覆盖定制化的uefios启动路径,白名单无法找到的有效的uefios启动项也不会被漏掉,保证系统的正常启动。

在一种可选实施例中,所述搜索硬盘启动分区中启动项目录,包括:

在预设的白名单的启动项路径中查找有效的启动项文件;

若在预设的白名单的启动项路径中查找到有效的启动项文件,则根据所述有效的启动项文件创建uefios启动项;

若在预设的白名单的启动项路径中未查找到有效的启动项文件,则搜索硬盘启动分区中启动项目录。

在一种可选实施例中,在第一次安装完成biosos后,biosos在biosnvram中写入biosos启动项信息;

所述在预设的白名单的启动项路径中查找有效的启动项文件,包括:若在biosnvram中未查找到biosos启动项信息,则在预设的白名单的启动项路径中查找有效的启动项文件。

在本申请实施例中,优先利用biosnvram中写入uefios启动项信息创建启动项,其次利用白名单中的uefios启动项信息创建启动项,最后采用自动搜索的方式创建启动项,多种启动策略并存,在保证系统可以正常启动的同时,提高系统的启动效率。

在上述实施例的基础上,本申请还提供了一种服务器。图4为本申请实施例提供的一种服务器的结构示意图,如图4所示,所述服务器400可以包括:处理器410、存储器420及通信单元430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本申请的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,所述通信单元430,用于建立通信信道,从而使所述存储设备可以与其它设备进行通信。接收其他设备发送的用户数据或者向其他设备发送用户数据。

所述处理器410,为存储设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子设备的各种功能和/或处理数据。所述处理器可以由集成电路(integratedcircuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器410可以仅包括中央处理器(centralprocessingunit,简称cpu)。在本申请实施方式中,cpu可以是单运算核心,也可以包括多运算核心。

所述存储器420,用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

当存储器420中的执行指令由处理器410执行时,使得终端400能够执行上述方法实施例中的部分或全部步骤。

具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。

本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

以上所述的本申请实施方式并不构成对本申请保护范围的限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1