本技术涉及计算机,特别是涉及一种硬盘优先级设置方法、装置、计算机设备和存储介质。
背景技术:
1、在计算机领域中,bios(基本输入输出系统)负责启动过程中硬件的初始化以及加载操作系统。bios的启动引导模式分为传统legacy模式和较新的uefi模式,在uefi模式下安装的系统,只能用uefi模式引导;同理,在legacy模式下安装的系统,也只能在legacy模式下进入系统。其中legacy模式因其历史原因,在许多旧系统中仍被广泛采用。
2、然而,随着计算机硬件的发展和多样化,legacy模式在处理复杂配置时暴露出一些不足之处。在legacy模式下,bios会按照预设顺序对连接的存储设备进行轮询,查找可用的操作系统来启动,这一过程不仅耗时较长,而且当系统中存在多个不必要的启动项时,可能会导致系统启动延迟。此外,在legacy模式下实施的各种wa(workarounds,工作绕过)方案可能会干扰正常的启动流程,例如,某些设备即使没有安装操作系统也会被列为启动项,这可能导致系统轮询时间超出最大允许值或有效启动项被错误地移除。尽管uefi模式能够较好地解决这些问题,但由于兼容性和习惯因素,许多用户仍然倾向于使用legacy模式。
3、因此,如何提出一种legacy模式下根据盘类型设置系统优先启动的方案是本领域技术人员亟需解决的。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够在legacy模式下根据硬盘类型设置启动优先级的硬盘优先级设置方法、装置、计算机设备和存储介质。
2、一方面,提供一种硬盘优先级设置方法,所述方法包括:
3、响应于服务器开机,生成启动设备列表;
4、获取预先创建的硬盘引导顺序选项的当前值,其中所述硬盘引导顺序选项用于根据硬盘类型设置启动优先级;
5、根据所述硬盘引导顺序选项的当前值确定硬盘排序策略;
6、根据所述硬盘排序策略调整所述启动设备列表中的硬盘类型优先级,生成最终启动设备列表,并根据所述最终启动设备列表依次生成启动项。
7、在其中一个实施例中,所述响应于服务器开机,生成启动设备列表,包括:
8、响应于服务器开机,获取所有的开机启动项,并根据所述开机启动项生成启动设备列表;
9、判断所述服务器的当前启动模式是否为传统模式;
10、若否,则直接根据所述启动设备列表生成启动项。
11、在其中一个实施例中,所述方法还包括:
12、响应于接收到用户的第一设置命令,获取所述第一设置命令对所述硬盘引导顺序选项的设置值;
13、判断所述设置值是否与bios默认值一致;
14、若一致,则无需修改所述硬盘引导顺序选项的当前值;
15、若不一致,则检查所述设置值是否在所述硬盘引导顺序选项的选项值范围内;
16、若是,则根据所述设置值修改所述硬盘引导顺序选项的当前值。
17、在其中一个实施例中,所述硬盘引导顺序选项的选项值包括禁止、允许、指定硬盘类型及其他;所述根据所述硬盘引导顺序选项的当前值确定硬盘排序策略,包括:
18、响应于所述硬盘引导顺序选项的当前值为禁止,按照硬盘的总线编号对硬盘进行排序;
19、响应于所述硬盘引导顺序选项的当前值为允许,按照预设的硬盘类型启动顺序对硬盘进行排序;
20、响应于所述硬盘引导顺序选项的当前值为指定硬盘类型,将所述指定硬盘类型的启动优先级设置为最高;
21、响应于所述硬盘引导顺序选项的当前值为其他,通过查询命令获取用户自定义的硬盘优先级信息,并根据所述硬盘优先级信息确定各硬盘类型的启动优先级。
22、在其中一个实施例中,所述通过查询命令获取用户自定义的硬盘优先级信息,并根据所述硬盘优先级信息确定各硬盘类型的启动优先级,包括:
23、响应于接收到查询命令,获取所述查询命令的头部信息;
24、通过验证所述头部信息判断所述查询命令是否有效;
25、根据所述查询命令从所述非易失性存储器的指定位置获取硬盘优先级信息,所述硬盘优先级信息是通过用户的第二设置命令设置的。
26、在其中一个实施例中,所述方法还包括:
27、响应于接收到用户的第二设置命令,获取所述第二设置命令的头部信息;
28、通过验证所述头部信息判断所述第二设置命令是否有效;
29、若是,则根据所述第二设置命令获取目标硬盘优先级信息,所述目标硬盘优先级信息包括硬盘类型及启动优先级;
30、读取非易失性存储器中存储的硬盘优先级信息,获取所述非易失性存储器中有效信息的数量n,并检查所述非易失性存储器中是否存在与所述目标硬盘优先级信息相同的启动优先级,其中n为正整数;
31、若所述有效信息的数量n大于等于预设阈值,则所述非易失性存储器中的存储信息已达上限,需要删除信息后再写入;
32、若所述非易失性存储器中存在与所述目标硬盘优先级信息相同的启动优先级,则所述第二设置命令无效;
33、若所述有效信息的数量n小于预设阈值,且所述非易失性存储器中不存在与所述目标硬盘优先级信息相同的启动优先级,则将所述目标硬盘优先级信息写入到所述非易失性存储器第n+1个位置。
34、在其中一个实施例中,所述根据所述硬盘排序策略调整所述启动设备列表中的硬盘类型优先级,生成最终启动设备列表,包括:
35、轮询所述启动设备列表,获取所述启动设备列表中的启动项类型及当前优先级;
36、通过所述硬盘排序策略获取硬盘优先级信息;
37、将所述硬盘优先级信息与所述启动设备列表进行匹配;
38、若所述启动设备列表中存在与所述硬盘优先级信息匹配的启动项类型,则根据所述硬盘优先级信息更新所述启动项类型的当前优先级;
39、若所述启动设备列表中存在与所述硬盘优先级信息不匹配的启动项类型,则为所述启动项类型的当前优先级增加预设值;
40、按照更新后的优先级对所述启动设备列表进行排序,生成最终启动设备列表。
41、另一方面,提供了一种硬盘优先级设置装置,所述装置包括:
42、生成模块,用于响应于服务器开机,生成启动设备列表;
43、获取模块,用于获取预先创建的硬盘引导顺序选项的当前值,其中所述硬盘引导顺序选项用于根据硬盘类型设置启动项优先级;
44、确定模块,用于根据所述硬盘引导顺序选项的当前值确定硬盘排序策略;
45、排序模块,用于根据所述硬盘排序策略调整所述启动设备列表中的硬盘类型优先级,生成最终启动设备列表,并根据所述最终启动设备列表依次生成启动项。
46、再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
47、响应于服务器开机,生成启动设备列表;
48、获取预先创建的硬盘引导顺序选项的当前值,其中所述硬盘引导顺序选项用于根据硬盘类型设置启动优先级;
49、根据所述硬盘引导顺序选项的当前值确定硬盘排序策略;
50、根据所述硬盘排序策略调整所述启动设备列表中的硬盘类型优先级,生成最终启动设备列表,并根据所述最终启动设备列表依次生成启动项。
51、又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
52、响应于服务器开机,生成启动设备列表;
53、获取预先创建的硬盘引导顺序选项的当前值,其中所述硬盘引导顺序选项用于根据硬盘类型设置启动优先级;
54、根据所述硬盘引导顺序选项的当前值确定硬盘排序策略;
55、根据所述硬盘排序策略调整所述启动设备列表中的硬盘类型优先级,生成最终启动设备列表,并根据所述最终启动设备列表依次生成启动项。
56、上述硬盘优先级设置方法、装置、计算机设备和存储介质,为客户预留了接口,客户可以根据自己的需求来设置硬盘排序策略,根据硬盘排序策略设置需要进行系统启动的设备信息,减少了不必要的启动轮询时间,同时解决各种legacy模式下wa方案对系统启动的影响,节省了对定制版本的维护,使得启动过程更加高效,提升了系统启动效率。
1.一种硬盘优先级设置方法,其特征在于,包括:
2.根据权利要求1所述的硬盘优先级设置方法,其特征在于,所述响应于服务器开机,生成启动设备列表,包括:
3.根据权利要求1所述的硬盘优先级设置方法,其特征在于,所述方法还包括:
4.根据权利要求1至3任意一项所述的硬盘优先级设置方法,其特征在于,所述硬盘引导顺序选项的选项值包括禁止、允许、指定硬盘类型及其他;所述根据所述硬盘引导顺序选项的当前值确定硬盘排序策略,包括:
5.根据权利要求4所述的硬盘优先级设置方法,其特征在于,所述通过查询命令获取用户自定义的硬盘优先级信息,并根据所述硬盘优先级信息确定各硬盘类型的启动优先级,包括:
6.根据权利要求5所述的硬盘优先级设置方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的硬盘优先级设置方法,其特征在于,所述根据所述硬盘排序策略调整所述启动设备列表中的硬盘类型优先级,生成最终启动设备列表,包括:
8.一种硬盘优先级设置装置,其特征在于,所述装置包括:
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
