一种检验bios的方法及装置的制造方法

文档序号:10593966阅读:471来源:国知局
一种检验bios的方法及装置的制造方法
【专利摘要】本发明提供了一种检验BIOS的方法及装置,该方法,包括:预先设置检验脚本;运行所述检验脚本;按照所述检验脚本的第一指令,获取BMC中的目标单元的第一UUID;按照所述检验脚本的第二指令,利用BIOS获取所述目标单元的第二UUID;按照所述检验脚本的第三指令,判断第一UUID与第二UUID是否相同,如果是,则确定BIOS获取UUID成功,否则,确定BIOS获取UUID失败。本发明提供了一种检验BIOS的方法及装置,能够提高检验BIOS的速度。
【专利说明】
-种检验BI OS的方法及装置
技术领域
[0001 ] 本发明设及计算机技术领域,特别设及一种检验BI0S(Basic Input Output System,基本输入输出系统)的方法及装置。
【背景技术】
[0002] UUID(Universally Unique Identifier,通用唯一识别码)是在一台机器上生成 的数字,它保证对在同一时空中的所有机器都是唯一的。UUID作为唯一的辨识资讯,越来越 多的设备需要在出厂时预设UUID。
[0003] 在BIOS阶段,BIOS需要读取UUID来识别相应的硬件,例如:通过读取主板的UUID来 识别主板。但是,当BIOS在读取UUID时发送错误时,BIOS可能无法正确识别相应的硬件,因 此,需要对BIOS进行检验,验证BIOS读取的UUID是否准确。现有技术中,一般通过人工来进 行检验,具体地,人工获取BIOS中的UUID,通过比较获取的UUID与正确的UUID来检验BIOS。
[0004] 通过上述描述可见,现有技术中,由人工来检验BIOS的方法的速度比较慢。

【发明内容】

[0005] 本发明实施例提供了一种检验BIOS的方法及装置,能够提高检验BIOS的速度。
[0006] -方面,本发明实施例提供了一种检验BIOS的方法,包括:
[0007] 预先设置检验脚本;
[000引 Sl:运行所述检验脚本;
[0009] S2 :按照所述检验脚本的第一指令,获取BMC(Baset)Oard Management Controller,基板管理控制器)中的目标单元的第一 UUID;
[0010] S3:按照所述检验脚本的第二指令,利用BIOS获取所述目标单元的第二UUID;
[0011] S4:按照所述检验脚本的第S指令,判断第一UUID与第二UUID是否相同,如果是, 则确定BIOS获取UUID成功,否则,确定BIOS获取UUID失败。
[0012] 进一步地,所述预先设置检验脚本,包括:
[0013] 通过血idecode设置所述检验脚本的第一指令;
[0014] 通过血idecode设置所述检验脚本的第二指令。
[0015] 进一步地,所述S3中的所述利用BIOS获取所述目标单元的第二UUID,包括:
[0016] 利用BIOS从所述BMC对应的存储器中读取所述目标单元的所述第二UUID。
[0017] 进一步地,在所述S2之后,还包括:
[0018] 按照所述检验脚本的第四指令,将所述第一 UUID更新到系统管理输出输出系统 affiios 中。
[0019] 进一步地,在所述Sl之前,还包括:
[0020] 获取所述目标单元所在的系统的root权限;
[00別]所述SI,包括:
[0022]在所述目标单元所在的系统的root权限下运行所述检验脚本。
[0023] 另一方面,本发明实施例提供了一种检验BIOS的装置,包括:
[0024] 设置单元,用于设置检验脚本;
[0025] 运行单元,用于运行所述检验脚本;
[0026] 第一获取单元,用于按照所述检验脚本的第一指令,获取BMC中的目标单元的第一 UUID ;
[0027] 第二获取单元,用于按照所述检验脚本的第二指令,利用BIOS获取所述目标单元 的第二UUID;
[00%]检验单元,用于按照所述检验脚本的第S指令,判断第一UUID与第二UUID是否相 同,当判断结果为是时,确定BIOS获取UUID成功,当判断结果为否时,确定BIOS获取UUID失 败。
[0029] 进一步地,所述设置单元,用于通过dmidecode设置所述检验脚本的第一指令,通 过血idecode设置所述检验脚本的第二指令。
[0030] 进一步地,所述第二获取单元,在执行所述利用BIOS获取所述目标单元的第二 UUID时,用于利用BIOS从所述BMC对应的存储器中读取所述目标单元的所述第二UUID。
[0031 ] 进一步地,还包括:
[0032] 更新单元,用于按照所述检验脚本的第四指令,将所述第一UUID更新到系统管理 输出输出系统SMBIOS中。
[0033] 进一步地,还包括:权限单元,用于获取所述目标单元所在的系统的root权限;
[0034] 所述运行单元,用于在所述目标单元所在的系统的root权限下运行所述检验脚 本。
[0035] 在本发明实施例中,预先设置检验脚本,通过执行检验脚本中的指令获取BMC中目 标单元的第一 UUID,并利用BIOS获取目标单元的第二UUID,将二者进行比较,通过比较结果 来检验BIOS,检验过程无线人工参与,通过检验脚本即可实现,提高了检验BIOS的速度。
【附图说明】
[0036] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据 运些附图获得其他的附图。
[0037] 图1是本发明一实施例提供的一种检验BIOS的方法的流程图;
[0038] 图2是本发明一实施例提供的另一种检验BIOS的方法的流程图;
[0039] 图3是本发明一实施例提供的一种检验BIOS的装置的示意图;
[0040] 图4是本发明一实施例提供的另一种检验BIOS的装置的示意图。
【具体实施方式】
[0041] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员 在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0042] 如图I所示,本发明实施例提供了一种检验BIOS的方法,该方法可W包括W下步 骤:
[0043] SO:预先设置检验脚本;
[0044] Sl:运行所述检验脚本;
[0045] S2:按照所述检验脚本的第一指令,获取基板管理控制器BMC中的目标单元的第一 UUID ;
[0046] S3:按照所述检验脚本的第二指令,利用BIOS获取所述目标单元的第二UUID;
[0047] S4:按照所述检验脚本的第S指令,判断第一UUID与第二UUID是否相同,如果是, 则确定BIOS获取UUID成功,否则,确定BIOS获取UUID失败。
[0048] 在本发明实施例中,预先设置检验脚本,通过执行检验脚本中的指令获取BMC中目 标单元的第一 UUID,并利用BIOS获取目标单元的第二UUID,将二者进行比较,通过比较结果 来检验BIOS,检验过程无线人工参与,通过检验脚本即可实现,提高了检验BIOS的速度。
[0049] 在本发明一实施例中,所述预先设置检验脚本,包括:
[0050] 通过血idecode设置所述检验脚本的第一指令;
[0051 ] 通过血idecode设置所述检验脚本的第二指令。
[0052] 在运行检验脚本后,通过dmidecode形式的第一指令获取第一UUID,通过 血idecode形式的第二指令获取第二UUID。
[0053] 在本发明一实施例中,所述S3中的所述利用BIOS获取所述目标单元的第二UUID, 包括:
[0054] 利用BIOS从所述BMC对应的存储器中读取所述目标单元的所述第二UUID。
[0055]运里的存储器可W是EPROM化rasabIe Programmable Read Only Memoiy,可擦除 可编程只读寄存器)dBMC在设置目标单元的UUID时,会将UUID保存到对应的存储器中,BIOS 可W从该存储器中获取第二UUID。
[0056] 在本发明一实施例中,在所述S2之后,还包括:
[0057] 按照所述检验脚本的第四指令,将所述第一 UUID更新到SMBIOS中。
[005引通过该实现方式可W使得BIOS能够获取到正确的UUID。
[0059] 在本发明一实施例中,在所述Sl之前,还包括:
[0060] 获取所述目标单元所在的系统的root权限;
[0061 ] 所述SI,包括:
[0062] 在所述目标单元所在的系统的root权限下运行所述检验脚本。
[0063] 为了能够实现检验脚本中的指令,需要获取系统的root权限,在root权限下,可W 实现检验脚本中的所有指令,避免出现在检验脚本运行过程中,没有权限执行相应指令的 情况。
[0064] 如图2所示,本发明实施例提供了一种检验BIOS的方法,在本发明实施例中,目标 单元为主板,该方法可W包括W下步骤:
[0065] 步骤201:预先设置检验脚本。
[0066] 具体地,在检验脚本中设置第一指令、第二指令、第=指令和第四指令。
[0067] 其中,检验脚本中的第一指令和第二指令可W通过血idecode来实现。
[0068] 步骤202:获取主板所在的系统的root权限。
[0069] 步骤203:在主板所在的系统的root权限下运行检验脚本。
[0070] 步骤204:按照检验脚本的第一指令,获取主板对应的BMC中的主板的第一 UUID。
[OOW BMC中的UUID是准确的,因此,可W用来与BIOS获取的UUID进行比较。
[0072] 步骤205:按照检验脚本的第二指令,利用BIOS从BMC对应的存储器中读取主板的 第二 UUID。
[0073] BIOS无法从BMC中获取目标单元的UUID,可W从存储器中读取UUID。
[0074] BMC会将目标单元的UUID存储到对应的存储器中,但是,由于BMC中的UUID更新后, 存储器中的UUID可能没有及时更新,或者,BIOS在读取的时候发生错误等原因,导致BMC中 的UUID与BIOS获取的UUID不一致。
[0075] 步骤206:按照检验脚本的第S指令,判断第一UUID与第二UUID是否相同,如果是, 则执行步骤206,否则,执行步骤207。
[0076] 步骤207:确定BIOS获取UUID成功。
[0077] 步骤208:确定BIOS获取UUID失败。
[007引在步骤204之后,还可W包括:
[0079] 步骤209:按照检验脚本的第四指令,将第一 UUID更新到SMBIOS中。
[0080] 通过该步骤可W使得BIOS中的UUID是正确的。
[0081] 本发明实施例中的检验脚本可W通过W下代码实现:
[0082]
[0OS31
[QQ84」本发明买施例nj 应用巧Linux《统中。
[0085] 如图3、图4所示,本发明实施例提供了一种检验BIOS的装置。装置实施例可W通过 软件实现,也可W通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本 发明实施例提供的一种检验BIOS的装置所在设备的一种硬件结构图,除了图3所示的处理 器、内存、网络接口、W及非易失性存储器之外,实施例中装置所在的设备通常还可W包括 其他硬件,如负责处理报文的转发忍片等等。W软件实现为例,如图4所示,作为一个逻辑意 义上的装置,是通过其所在设备的CP闲尋非易失性存储器中对应的计算机程序指令读取到 内存中运行形成的。本实施例提供的一种检验BIOS的装置,包括:
[0086] 设置单元401,用于设置检验脚本;
[0087] 运行单元402,用于运行所述检验脚本;
[0088] 第一获取单元403,用于按照所述检验脚本的第一指令,获取基板管理控制器BMC 中的目标单元的第一通用唯一识别码UUID;
[0089] 第二获取单元404,用于按照所述检验脚本的第二指令,利用BIOS获取所述目标单 元的第二UUID;
[0090] 检验单元405,用于按照所述检验脚本的第S指令,判断第一 UUID与第二UUID是否 相同,当判断结果为是时,确定BIOS获取UUID成功,当判断结果为否时,确定BIOS获取UUID 失败。
[0091] 在本发明一实施例中,所述设置单元401,用于通过dmidecode设置所述检验脚本 的第一指令,通过血idecode设置所述检验脚本的第二指令。
[0092 ]在本发明一实施例中,所述第二获取单元404,在执行所述利用BI OS获取所述目标 单元的第二UUID时,用于利用BIOS从所述BMC对应的存储器中读取所述目标单元的所述第 二UUID。
[0093] 在本发明一实施例中,该装置还包括:
[0094] 更新单元,用于按照所述检验脚本的第四指令,将所述第一UUID更新到系统管理 输出输出系统SMBIOS中。
[00%]在本发明一实施例中,该装置还包括:权限单元,用于获取所述目标单元所在的系 统的root权限;
[0096] 所述运行单元402,用于在所述目标单元所在的系统的root权限下运行所述检验 脚本。
[0097] 上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施 例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再寶述。
[0098] 本发明实施例至少具有如下有益效果:
[0099] 1、在本发明实施例中,预先设置检验脚本,通过执行检验脚本中的指令获取BMC中 目标单元的第一 UUID,并利用BIOS获取目标单元的第二UUID,将二者进行比较,通过比较结 果来检验BIOS,检验过程无线人工参与,通过检验脚本即可实现,提高了检验BIOS的速度。
[0100] 2、在本发明实施例中,通过检验脚本来实现对BIOS的检验,可W避免由人工检验 造成的错误,提高检验结果的准确性。
[0101] 需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体 或者操作与另一个实体或操作区分开来,而不一定要求或者暗示运些实体或操作之间存在 任何运种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意在涵盖非 排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素, 而且还包括没有明确列出的其他要素,或者是还包括为运种过程、方法、物品或者设备所固 有的要素。在没有更多限制的情况下,由语句"包括一个......"限定的要素,并不排 除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
[0102] 本领域普通技术人员可W理解:实现上述方法实施例的全部或部分步骤可W通过 程序指令相关的硬件来完成,前述的程序可W存储在计算机可读取的存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:R〇M、RAM、磁碟或者光 盘等各种可W存储程序代码的介质中。
[0103]最后需要说明的是:W上所述仅为本发明的较佳实施例,仅用于说明本发明的技 术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、 等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1. 一种检验基本输入输出系统BIOS的方法,其特征在于,包括: 预先设置检验脚本; SI:运行所述检验脚本; S2:按照所述检验脚本的第一指令,获取基板管理控制器BMC中的目标单元的第一通用 唯一识别码UUID; S3:按照所述检验脚本的第二指令,利用BIOS获取所述目标单元的第二UUID; S4:按照所述检验脚本的第三指令,判断第一 UUID与第二UUID是否相同,如果是,则确 定BIOS获取UUID成功,否则,确定BIOS获取UUID失败。2. 根据权利要求1所述的方法,其特征在于, 所述预先设置检验脚本,包括: 通过dmidecode设置所述检验脚本的第一指令; 通过dmidecode设置所述检验脚本的第二指令。3. 根据权利要求1所述的方法,其特征在于, 所述S3中的所述利用BIOS获取所述目标单元的第二UUID,包括: 利用BIOS从所述BMC对应的存储器中读取所述目标单元的所述第二UUID。4. 根据权利要求1所述的方法,其特征在于,在所述S2之后,还包括: 按照所述检验脚本的第四指令,将所述第一 UUID更新到系统管理输出输出系统SMBIOS 中。5. 根据权利要求1所述的方法,其特征在于, 在所述Sl之前,还包括: 获取所述目标单元所在的系统的root权限; 所述Sl,包括: 在所述目标单元所在的系统的root权限下运行所述检验脚本。6. -种检验基本输入输出系统BIOS的装置,其特征在于,包括: 设置单元,用于设置检验脚本; 运行单元,用于运行所述检验脚本; 第一获取单元,用于按照所述检验脚本的第一指令,获取基板管理控制器BMC中的目标 单元的第一通用唯一识别码UUID; 第二获取单元,用于按照所述检验脚本的第二指令,利用BIOS获取所述目标单元的第 二UUID; 检验单元,用于按照所述检验脚本的第三指令,判断第一UUID与第二UUID是否相同,当 判断结果为是时,确定BIOS获取UUID成功,当判断结果为否时,确定BIOS获取UUID失败。7. 根据权利要求6所述的装置,其特征在于,所述设置单元,用于通过dmidecode设置所 述检验脚本的第一指令,通过dmidecode设置所述检验脚本的第二指令。8. 根据权利要求6所述的装置,其特征在于, 所述第二获取单元,在执行所述利用BIOS获取所述目标单元的第二UUID时,用于利用 BIOS从所述BMC对应的存储器中读取所述目标单元的所述第二UUID。9. 根据权利要求6-8中任一所述的装置,其特征在于,还包括: 更新单元,用于按照所述检验脚本的第四指令,将所述第一UUID更新到系统管理输出 输出系统SMBIOS中。10.根据权利要求6-8中任一所述的装置,其特征在于, 还包括:权限单元,用于获取所述目标单元所在的系统的root权限; 所述运行单元,用于在所述目标单元所在的系统的root权限下运行所述检验脚本。
【文档编号】G06F11/22GK105955857SQ201610280666
【公开日】2016年9月21日
【申请日】2016年4月29日
【发明人】姜庆臣
【申请人】浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1