一种传统启动引导模式下生成启动项的方法、装置、设备与流程

文档序号:33713432发布日期:2023-04-01 01:57阅读:68来源:国知局
一种传统启动引导模式下生成启动项的方法、装置、设备与流程

1.本发明涉及bios技术领域,具体涉及一种传统启动引导模式下生成启动项的方法、装置、设备。


背景技术:

2.bios(basic input/output system,基本输入输出系统),它是一组固化到计算机内主板上一个rom芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从cmos中读写系统设置的具体信息。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。简单来说就是电脑开机后最先启动的一种程序,为操作系统的启动做准备,比如初始化cpu、内存、主板等各个部分,然后将操作系统加载到内存启动操作系统,这个过程就是我们从按开机键开始到最后进系统的整个过程。
3.bios的启动引导模式分为uefi和legacy两种,uefi是一种新的bios,具有启动速度快、安全性高和支持大容量硬盘的特点,legacy是指传统的bios的启动引导模式,在uefi模式下安装的系统,只能用uefi模式引导;同理,在legacy模式下安装的系统,也只能在legacy模式下进入系统。
4.当前服务器的bios也是包括uefi模式引导启动和legacy模式引导启动,并且可以通过选项进行切换,legacy作为一种传统的bios,存在多种弊端,例如:shadow ram占据了系统主存的一部分地址空间。其编址范围为c0000~fffff,即为1mb主存中的768kb~1024kb区域,shadow ram的功能是用来存放各种rom bios的内容。或者说shadow ram中的内容是rom bios的拷贝,其中c8000~effff这10个16kb块可作为其它适配器的rom bios的shadow区。一般存放各个外设的oprom。对于早期的服务器,由于外设数量少,占用该区域比较少,所以该区域已经完全够用,但是随着外设的逐步增多,各种设备fw的不断升级,导致该区域出现超出的问题,从而导致启动项不能生成的问题。


技术实现要素:

5.shadow ram一般存放各个外设的oprom,对于早期的服务器,由于外设数量少,占用该区域比较少,所以该区域已经完全够用,但是随着外设的逐步增多,各种设备fw的不断升级,导致该区域出现超出的问题,从而导致启动项不能生成的问题。本发明提供一种传统启动引导模式下生成启动项的方法、装置、设备。
6.第一方面,本发明技术方案提供一种传统启动引导模式下生成启动项的方法,包括如下步骤:
7.在传统启动引导模式下bios post过程中,当判断oprom维护表未维护完成时,获取所有外设的oprpm并保存每个外设的oprom大小到oprom维护表;
8.判断所有oprom大小大于或等于设定阈值时,根据oprom维护表输出提示信息;
9.根据提示信息判断未放到影子内存的设备是否是生成启动项的设备;
10.若是,选择是否更换设备;
11.当不更换设备时,选择不需要生成启动项的设备更新oprom维护表;
12.设置服务器重启,执行步骤:判断oprom维护表未维护完成时,获取所有外设的oprpm并保存每个外设的oprom大小到oprom维护表;
13.若否,忽略提示信息继续开机直至开机完成。
14.作为本发明技术方案的进一步限定,该方法包括:
15.oprom维护表维护完成后设置维护完成标识位的值。
16.作为本发明技术方案的进一步限定,所述方法还包括:
17.oprom维护表维护完成后,设置是否存放到影子内存的字段值。
18.作为本发明技术方案的进一步限定,在传统启动引导模式下bios post过程中,判断oprom维护表未维护完成时,获取所有外设的oprpm并保存每个外设的oprom大小到oprom维护表的步骤包括:
19.在传统启动引导模式下bios post过程中,判断oprom维护表的维护完成标识位是否为0;
20.若是,获取所有外设的oprpm并保存到oprom维护表,并设置维护完成标识位为1;同时设置是否存放到影子内存的字段值为1;
21.若否,根据oprom维护表完成影子内存的填充。
22.作为本发明技术方案的进一步限定,判断所有oprom大小大于或等于设定阈值时,输出提示信息的步骤包括:
23.当是否存放到影子内存的字段值为1时,判断所有oprom大小是否小于设定阈值;
24.若是,将oprom维护表全部放入影子内存;
25.若否,输出提示信息。
26.作为本发明技术方案的进一步限定,选择是否更换设备的步骤之后包括:
27.若否,选择不需要生成启动项的设备更新oprom维护表;
28.对应选择的设备设置是否放到影子内存字段值为0;
29.若是,设置服务器关机,根据需要更换或减少设备;
30.执行步骤:设置服务器重启。
31.作为本发明技术方案的进一步限定,该方法还包括:
32.bios接收到清空命令时,bios开机过程将先清空oprom维护表所有数据,并将维护完成标识位设置为0。
33.作为本发明技术方案的进一步限定,该方法还包括:
34.当配置更改或者需要重新设置时,bmc通过ipmi命令发送清空命令给bios。
35.第二方面,本发明技术方案还提供一种传统启动引导模式下生成启动项的装置,包括oprom维护表设置模块、输出提示模块、更新模块、重启设置模块;
36.oprom维护表设置模块,用于在传统启动引导模式下bios post过程中,判断oprom维护表未维护完成时,获取所有外设的oprpm并保存每个外设的oprom大小到oprom维护表;
37.输出提示模块,用于判断所有oprom大小大于或等于设定阈值时,根据oprom维护表输出提示信息;
38.更新模块,用于根据提示信息判断未放到影子内存的设备是生成启动项的设备,且选择不更换设备时,选择不需要生成启动项的设备更新oprom维护表;
39.重启设置模块,用于oprom维护表更新完成后设置服务器重启。
40.作为本发明技术方案的进一步限定,该装置包括标识位设置模块和字段值设置模块;
41.标识位设置模块,用于oprom维护表维护完成后设置维护完成标识位的值;
42.字段值设置模块,oprom维护表维护完成后,设置是否存放到影子内存的字段值。
43.作为本发明技术方案的进一步限定,该装置还包括标识位判断模块和写入模块;
44.标识位判断模块,用于在传统启动引导模式下bios post过程中,获取维护完成标识位,判断oprom维护表的维护完成标识位是否为0;
45.oprom维护表设置模块,用于获取所有外设的oprpm并保存到oprom维护表,标识位设置模块设置维护完成标识位为1;同时字段值设置模块设置是否存放到影子内存的字段值为1;
46.写入模块,用于当维护完成标识位为1时,根据oprom维护表完成影子内存的填充。
47.作为本发明技术方案的进一步限定,该装置还包括第一判断模块,用于当是否存放到影子内存的字段值为1时,判断所有oprom大小是否小于设定阈值;
48.写入模块,用于当第一判断模块输出oprom大小小于设定阈值时,将oprom维护表全部放入影子内存。
49.作为本发明技术方案的进一步限定,该装置还包括设备更减模块,用于根据需要更换或减少设备
50.更新模块,具体用于选择不需要生成启动项的设备更新oprom维护表;
51.字段值设置模块,对应选择的设备设置是否放到影子内存字段值为0;
52.作为本发明技术方案的进一步限定,该装置还包括清空设置模块,用于接收到清空命令时,bios开机过程将先清空oprom维护表所有数据,并触发标识位判断模块将维护完成标识位设置为0。
53.第三方面,本发明技术方案还提供一种传统启动引导模式下生成启动项的系统,包括bios和与bios通信的bmc;
54.当配置更改或者需要重新设置时,bmc通过ipmi命令发送清空命令给bios;
55.bios接收到清空命令时,开机过程将先清空oprom维护表所有数据,并触发标识位判断模块将维护完成标识位设置为0;
56.bios端包括oprom维护表设置模块、输出提示模块、更新模块、重启设置模块;
57.oprom维护表设置模块,用于在传统启动引导模式下bios post过程中,判断oprom维护表未维护完成时,获取所有外设的oprpm并保存每个外设的oprom大小到oprom维护表;
58.输出提示模块,用于判断所有oprom大小大于或等于设定阈值时,根据oprom维护表输出提示信息;
59.更新模块,用于根据提示信息判断未放到影子内存的设备是生成启动项的设备,且选择不更换设备时,选择不需要生成启动项的设备更新oprom维护表;
60.重启设置模块,用于oprom维护表更新完成后设置服务器重启。
61.作为本发明技术方案的进一步限定,该装置包括标识位设置模块和字段值设置模块;
62.标识位设置模块,用于oprom维护表维护完成后设置维护完成标识位的值;
63.字段值设置模块,oprom维护表维护完成后,设置是否存放到影子内存的字段值。
64.作为本发明技术方案的进一步限定,该装置还包括标识位判断模块和写入模块;
65.标识位判断模块,用于在传统启动引导模式下bios post过程中,获取维护完成标识位,判断oprom维护表的维护完成标识位是否为0;
66.oprom维护表设置模块,用于获取所有外设的oprpm并保存到oprom维护表,标识位设置模块设置维护完成标识位为1;同时字段值设置模块设置是否存放到影子内存的字段值为1;
67.写入模块,用于当维护完成标识位为1时,根据oprom维护表完成影子内存的填充。
68.作为本发明技术方案的进一步限定,该装置还包括第一判断模块,用于当是否存放到影子内存的字段值为1时,判断所有oprom大小是否小于设定阈值;
69.写入模块,用于当第一判断模块输出oprom大小小于设定阈值时,将oprom维护表全部放入影子内存。
70.作为本发明技术方案的进一步限定,该装置还包括设备更减模块,用于根据需要更换或减少设备
71.更新模块,具体用于选择不需要生成启动项的设备更新oprom维护表;
72.字段值设置模块,对应选择的设备设置是否放到影子内存字段值为0;
73.从以上技术方案可以看出,本发明具有以下优点:用于解决客户存储设备过多时,不能生成启动项的问题,使客户更加满意,又能使我们同行业中更有竞争力。
74.此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
75.由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
76.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
77.图1是本发明一个实施例的方法的示意性流程图。
78.图2是本发明另一个实施例的方法的示意性流程图。
79.图3是本发明一个实施例的装置的示意性框图。
具体实施方式
80.当前服务器的bios也是包括uefi模式引导启动和legacy模式引导启动,并且可以通过选项进行切换,legacy作为一种传统的bios,存在多种弊端,例如:shadow ram占据了系统主存的一部分地址空间。其编址范围为c0000~fffff,即为1mb主存中的768kb~1024kb区域,shadow ram的功能是用来存放各种rom bios的内容。或者说shadow ram中的内容是rom bios的拷贝,其中c8000~effff这10个16kb块可作为其它适配器的rom bios的shadow区。一般存放各个外设的oprom。对于早期的服务器,由于外设数量少,占用该区域比较少,所以该区域已经完全够用,但是随着外设的逐步增多,各种设备fw的不断升级,导致该区域出现超出的问题,从而导致启动项不能生成的问题。
81.为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
82.如图1所示,本发明实施例提供一种传统启动引导模式下生成启动项的方法,包括如下步骤:
83.步骤1:在传统启动引导模式下bios post过程中,当判断oprom维护表未维护完成时,获取所有外设的oprpm并保存每个外设的oprom大小到oprom维护表;
84.步骤2:判断所有oprom大小大于或等于设定阈值时,根据oprom维护表输出提示信息;
85.步骤3:根据提示信息判断未放到影子内存的设备是否是生成启动项的设备;
86.若是,执行步骤4;
87.若否,执行步骤7;
88.步骤4:选择是否更换设备;
89.步骤5:当不更换设备时,选择不需要生成启动项的设备更新oprom维护表;
90.步骤6:设置服务器重启,执行步骤2;
91.步骤7:忽略提示信息继续开机直至开机完成。
92.如图2所示,本发明实施例提供一种传统启动引导模式下生成启动项的方法,包括如下步骤:
93.s1:服务器开机,bios切换启动模式为传统启动引导模式,bios post过程中,判断oprom维护表的维护完成标识位是否为0;
94.若否,执行步骤s2;
95.若是,执行步骤s3;
96.s2:根据oprom维护表完成影子内存的填充;执行步骤s14;
97.s3:获取所有外设的oprpm并保存到oprom维护表,并设置维护完成标识位为1;同时设置是否存放到影子内存的字段值为1;
98.s4:判断所有oprom大小是否小于设定阈值;
99.若是,执行步骤s5;
100.若否,执行步骤s6;
101.s5:将oprom维护表全部放入影子内存;执行步骤s14;
102.s6:根据oprom维护表输出提示信息;
103.s7:根据提示信息判断未放到影子内存的设备是否是生成启动项的设备;
104.若是,执行s9;
105.若否,执行s8;
106.s8:忽略提示信息继续开机;执行步骤s14;
107.s9:选择是否更换设备;
108.若否,执行步骤s10;
109.若是,执行步骤s13;
110.s10:选择不需要生成启动项的设备更新oprom维护表;
111.s11:对应选择的设备设置是否放到影子内存字段值为0;
112.s12:设置重启服务器;执行步骤s1;
113.s13:设置服务器关机,根据需要更换或减少设备;执行步骤s12;
114.s14:开机完成,结束。
115.在有些实施例中,该方法还包括:
116.bios接收到清空命令时,bios开机过程将先清空oprom维护表所有数据,并将维护完成标识位设置为0。
117.具体的实施过程包括:1)服务器开机,bios切换启动模式为传统启动引导模式,在这里,传统启动引导模式为legacy模式。2)在bios post过程中,判断oprom维护表的flag是否为0,如果flag=0,当轮询每个外设时,获取所有外设的oprom,并保存每个外设的oprom size到oprom维护表中,该表的是否放到shadow区域字段默认设置为1;如果flag=1,说明已经有设置好shadow区数据,将根据oprom维护表设置完成shadow区的填充,继续步骤6)。在这里flag为维护完成标志位。3)判断所有oprom的size是否小于160k,如果“是”,不做任何处理,全部放到shadow区,如果“否”,根据oprom维护表弹出提示信息,包括每个外设信息、oprom size、总oprom size、已经放到shadow区的设备及未放到shadow区的设备。4)选择是否接受,根据提示信息,可以看到未放到shadow区的设备,如果是不关注是否生成启动项的设备,可以接受,选择“是”,忽略提示继续开机,跳到步骤6);如果关注,选择“否”。5)选择是否更换设备,如果更换设备或者减少设备,选择“是”,服务器关机,根据需要更换或减少设备后再开机;如果选择“否”,对于不需要生成启动项的设备,例如:数据盘、不需要启动项的网卡等,可以选择不放到shadow ram区的设备,点击确定后,更新oprom维护表,对应选择的设备,是否放到shadow区字段设置为0,下次开机将忽略oprom维护表中排除的设备,shadow ram区不再存放该设备的oprom,重启,跳转到步骤2)。6)结束。
118.如图3所示,本发明实施例还提供一种传统启动引导模式下生成启动项的装置,包括oprom维护表设置模块、输出提示模块、更新模块、重启设置模块;
119.oprom维护表设置模块,用于在传统启动引导模式下bios post过程中,判断oprom维护表未维护完成时,获取所有外设的oprpm并保存每个外设的oprom大小到oprom维护表;
120.输出提示模块,用于判断所有oprom大小大于或等于设定阈值时,根据oprom维护表输出提示信息;
121.更新模块,用于根据提示信息判断未放到影子内存的设备是生成启动项的设备,且选择不更换设备时,选择不需要生成启动项的设备更新oprom维护表;
122.重启设置模块,用于oprom维护表更新完成后设置服务器重启。
123.本发明实施例还提供一种传统启动引导模式下生成启动项的装置,包括oprom维护表设置模块、输出提示模块、更新模块、重启设置模块;
124.oprom维护表设置模块,用于在传统启动引导模式下bios post过程中,判断oprom维护表未维护完成时,获取所有外设的oprpm并保存每个外设的oprom大小到oprom维护表;
125.输出提示模块,用于判断所有oprom大小大于或等于设定阈值时,根据oprom维护表输出提示信息;
126.更新模块,用于根据提示信息判断未放到影子内存的设备是生成启动项的设备,
且选择不更换设备时,选择不需要生成启动项的设备更新oprom维护表;
127.重启设置模块,用于oprom维护表更新完成后设置服务器重启。
128.该装置包括标识位设置模块和字段值设置模块;
129.标识位设置模块,用于oprom维护表维护完成后设置维护完成标识位的值;
130.字段值设置模块,oprom维护表维护完成后,设置是否存放到影子内存的字段值。
131.该装置还包括标识位判断模块和写入模块;
132.标识位判断模块,用于在传统启动引导模式下bios post过程中,获取维护完成标识位,判断oprom维护表的维护完成标识位是否为0;
133.oprom维护表设置模块,用于获取所有外设的oprpm并保存到oprom维护表,标识位设置模块设置维护完成标识位为1;同时字段值设置模块设置是否存放到影子内存的字段值为1;
134.写入模块,用于当维护完成标识位为1时,根据oprom维护表完成影子内存的填充。
135.该装置还包括第一判断模块,用于当是否存放到影子内存的字段值为1时,判断所有oprom大小是否小于设定阈值;
136.写入模块,用于当第一判断模块输出oprom大小小于设定阈值时,将oprom维护表全部放入影子内存。
137.该装置还包括设备更减模块,用于根据需要更换或减少设备;
138.更新模块,具体用于选择不需要生成启动项的设备更新oprom维护表;
139.字段值设置模块,对应选择的设备设置是否放到影子内存字段值为0;
140.作为本发明技术方案的进一步限定,该装置还包括清空设置模块,用于接收到清空命令时,bios开机过程将先清空oprom维护表所有数据,并触发标识位判断模块将维护完成标识位设置为0。
141.本发明实施例还提供一种传统启动引导模式下生成启动项的系统,包括bios和与bios通信的bmc;
142.当配置更改或者需要重新设置时,bmc通过ipmi命令发送清空命令给bios;
143.bios接收到清空命令时,开机过程将先清空oprom维护表所有数据,并触发标识位判断模块将维护完成标识位设置为0;
144.在bios端具体的实施过程包括:1)服务器开机,bios切换启动模式为传统启动引导模式,在这里,传统启动引导模式为legacy模式。2)在bios post过程中,判断oprom维护表的flag是否为0,如果flag=0,当轮询每个外设时,获取所有外设的oprom,并保存每个外设的oprom size到oprom维护表中,该表的是否放到shadow区域字段默认设置为1;如果flag=1,说明已经有设置好shadow区数据,将根据oprom维护表设置完成shadow区的填充,继续步骤6)。在这里flag为维护完成标志位。3)判断所有oprom的size是否小于160k,如果“是”,不做任何处理,全部放到shadow区,如果“否”,根据oprom维护表弹出提示信息,包括每个外设信息、oprom size、总oprom size、已经放到shadow区的设备及未放到shadow区的设备。4)选择是否接受,根据提示信息,可以看到未放到shadow区的设备,如果是不关注是否生成启动项的设备,可以接受,选择“是”,忽略提示继续开机,跳到步骤6);如果关注,选择“否”。5)选择是否更换设备,如果更换设备或者减少设备,选择“是”,服务器关机,根据需要更换或减少设备后再开机;如果选择“否”,对于不需要生成启动项的设备,例如:数据盘、
不需要启动项的网卡等,可以选择不放到shadow ram区的设备,点击确定后,更新oprom维护表,对应选择的设备,是否放到shadow区字段设置为0,下次开机将忽略oprom维护表中排除的设备,shadow ram区不再存放该设备的oprom,重启,跳转到步骤2)。6)结束。
145.在bmc端具体执行过程包括:
146.设置是否清空shadow区配置的开关。如果配置更改或者需要重新设置,选择清空。bmc通过ipmi命令发送清空命令给bios,bios开机过程将先清空oprom维护表所有数据,flag设置为0。结束。
147.尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1