本发明涉及计算机,特别涉及一种菜单设置方法、一种菜单设置装置、一种电子设备和一种计算机可读存储介质。
背景技术:
1、bios(basic input output system,基本输入输出系统)是服务器的一个独立系统。在服务器应用场景中,用户经常对bios系统的setup(菜单)选项进行设置,通过设置不同的setup选项来完成某些功能要求。
2、一般地,设置setup选项是通过带内方式或者带外方式来实现。其中,带内方式要么是通过进入setup选项来修改,然后保存并重启生效;要么通过系统工具设置setup选项并重启生效。而带外方式是通过bmc(baseboard management controller,基板管理控制器)发送重启命令给bios,在开机过程中bios系统设置setup选项并重启生效。
3、可见,上述方式都是通过重启来实现setup选项对应的功能,这无疑会花费较多重启时间。另外,有些时候由于设置setup选项而导致无法重启,此时带内方式或者带外方式在设置setup选项后就无法重启,进而无法实现setup选项对应的功能。
技术实现思路
1、鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的菜单设置方法。
2、本发明实施例还提供了一种菜单设置装置、电子设备和存储介质,以保证上述方法的实施。
3、为了解决上述问题,本发明实施例公开了一种菜单设置方法,应用于基本输入输出bios系统,所述bios系统与基板管理控制器bmc系统通信连接,所述bios系统具有菜单选项和数据存储容器hob,所述方法包括:
4、接收所述bmc系统发送的智能平台管理接口ipmi命令;
5、对所述ipmi命令进行解析,得到菜单设置信息;
6、在驱动执行环境dxe阶段前,将所述菜单设置信息保存至所述hob中,并根据所述菜单设置信息执行对应的功能;
7、当到达所述dxe阶段时,从所述hob中提取所述菜单设置信息,并将所述菜单设置信息设置到所述菜单选项中。
8、可选地,所述菜单设置信息包括目标选项和目标值;所述在dxe阶段前,将所述菜单设置信息保存至所述hob中,包括:
9、在dxe阶段前,将所述目标选项和所述目标值保存至所述hob中。
10、可选地,所述bios系统具有的菜单选项包括多个;所述根据所述菜单设置信息执行对应的功能,包括:
11、从所述多个菜单选项中,确定与所述目标选项匹配的目标菜单选项;
12、读取所述目标菜单选项中的当前值;
13、根据所述目标值和所述当前值执行对应的功能。
14、可选地,所述根据所述目标值和所述当前值执行对应的功能,包括:
15、判断所述目标值与所述当前值是否一致;
16、若所述目标值与所述当前值不一致,则将所述当前值替换为所述目标值;
17、执行所述目标值对应的功能。
18、可选地,所述根据所述目标值和所述当前值执行对应的功能,包括:
19、判断所述目标值与所述当前值是否一致;
20、若所述目标值与所述当前值一致,则执行所述当前值对应的功能。
21、可选地,所述当到达所述dxe阶段时,从所述hob中提取所述菜单设置信息,并将所述菜单设置信息设置到所述菜单选项中,包括:
22、当到达所述dxe阶段时,从所述hob中提取所述目标值;
23、将所述目标值设置到所述目标菜单选项中。
24、可选地,所述hob为所述bios系统在可扩展固件接口前期初始化pei阶段向所述dxe阶段传输数据的载体。
25、本发明实施例还公开了一种菜单设置装置,应用于bios系统,所述bios系统与bmc系统通信连接,所述bios系统具有菜单选项和hob,所述装置包括:
26、ipmi命令接收模块,用于接收所述bmc系统发送的ipmi命令;
27、ipmi命令解析模块,用于对所述ipmi命令进行解析,得到菜单设置信息;
28、功能执行模块,用于在dxe阶段前,将所述菜单设置信息保存至所述hob中,并根据所述菜单设置信息执行对应的功能;
29、菜单选项设置模块,用于当到达所述dxe阶段时,从所述hob中提取所述菜单设置信息,并将所述菜单设置信息设置到所述菜单选项中。
30、可选地,所述菜单设置信息包括目标选项和目标值;所述功能执行模块包括:
31、菜单设置信息保存子模块,用于在dxe阶段前,将所述目标选项和所述目标值保存至所述hob中。
32、可选地,所述bios系统具有的菜单选项包括多个;所述功能执行模块包括:
33、匹配子模块,用于从所述多个菜单选项中,确定与所述目标选项匹配的目标菜单选项;
34、读取子模块,用于读取所述目标菜单选项中的当前值;
35、功能执行子模块,用于根据所述目标值和所述当前值执行对应的功能。
36、可选地,所述功能执行子模块包括:
37、第一判断单元,用于判断所述目标值与所述当前值是否一致;
38、替换单元,用于若所述目标值与所述当前值不一致,则将所述当前值替换为所述目标值;
39、第一功能执行单元,用于执行所述目标值对应的功能。
40、可选地,所述功能执行子模块包括:
41、第二判断单元,用于判断所述目标值与所述当前值是否一致;
42、第二功能执行单元,用于若所述目标值与所述当前值一致,则执行所述当前值对应的功能。
43、可选地,所述菜单选项设置模块包括:
44、目标值提取子模块,用于当到达所述dxe阶段时,从所述hob中提取所述目标值;
45、目标菜单选项设置子模块,用于将所述目标值设置到所述目标菜单选项中。
46、可选地,所述hob为所述bios系统在pei阶段向所述dxe阶段传输数据的载体。
47、本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
48、所述存储器,用于存放计算机程序;
49、所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的菜单设置方法。
50、本发明实施例还公开了一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的菜单设置方法。
51、与现有技术相比,本发明实施例包括以下优点:
52、在本发明实施例中,接收bmc系统发送的ipmi命令;对ipmi命令进行解析,得到菜单设置信息;在dxe阶段前,将菜单设置信息保存至bios系统的hob中,并根据菜单设置信息执行对应的功能;当到达dxe阶段时,从hob中提取菜单设置信息,并将菜单设置信息设置到bios系统的菜单选项中。本发明实施例通过bmc系统发送菜单设置信息给bios系统,bios系统将菜单设置信息保存到hob后,直接执行对应的功能,从而直接生效,由此既解决重启才能生效的问题,也在实现功能前使用菜单设置信息来执行,使得功能能够依据用户需求立即执行生效,节省重启时间。当达到dxe阶段时,再将hob保存的菜单设置信息设置到bios系统的菜单选项中,从而解决因选项值导致无法重启进而无法生效的问题。