1.本技术涉及计算机技术,尤其涉及一种控制方法及装置、存储介质。
背景技术:
2.相关技术中,非易失性记忆体存储装置(non volatile memory express,nvme)或硬盘驱动器(hard disk drive,hdd)接在背板(back plate,bp)上,可能都因hdd布局(layout)的限制无法按照周边设备高速连接标准(peripheral component interconnect express,pcie)总线(bus)的顺序(order)进行排列,导致使用者在做大量部署想安装操作系统(operating system,os)到特定nvme或hdd时需要去做os内核(kernel)修改来决定哪个hdd要排在最前面或是修改脚本来选择需要的硬盘。
技术实现要素:
3.本技术的技术方案是这样实现的:
4.一种控制方法,所述方法包括:
5.获取用于安装操作系统的表征目标硬盘槽的目标位置信息;
6.基于配置列表,确定所述目标位置信息对应的目标硬盘信息,所述配置列表中包括至少一条配置关系,所述配置关系为硬盘的硬盘信息与安装所述硬盘的位置信息之间的关系,不同的位置信息对应不同的硬盘槽;所述目标硬盘信息为第一硬盘的硬盘信息;
7.将至少一个第二硬盘移除,所述至少一个第二硬盘包括所述电子设备具备的至少两个硬盘中所述第一硬盘之外的硬盘;
8.基于所述第一硬盘安装所述操作系统。。
9.上述方案中,所述将至少一个第二硬盘移除,包括:
10.确定所述至少一个第二硬盘中各第二硬盘的驱动根端口;
11.去使能所述至少一个第二硬盘中各第二硬盘的驱动根端口。
12.上述方案中,在基于配置列表,确定所述目标位置对应的目标硬盘信息之后,所述方法还包括:
13.检测所述第一硬盘是否安装有所述操作系统;其中,在所述第一硬盘未安装所述操作系统的情况下,将至少一个第二硬盘移除。
14.上述方案中,所述方法还包括:
15.在所述第一硬盘安装所述操作系统的情况下,去使能所述第一硬盘的功能,并使能所述至少一个第二硬盘的驱动根端口。
16.上述方案中,所述方法还包括:
17.加载所述至少两个硬盘至对应的至少两个硬盘槽;
18.对于所述至少两个硬盘中的各硬盘,确定所述硬盘的硬盘信息和加载所述硬盘的硬盘槽的位置信息;
19.根据硬盘的硬盘信息和所述位置信息,得到所述配置关系,所述至少两个硬盘中
各硬盘对应的所述配置关系构成所述配置列表。
20.上述方案中,所述方法还包括:
21.通过固件接口获取所述电子设备执行的至少两个随选内存的执行顺序,不同的随选内存对应不同的硬盘;
22.基于所述至少两个随选内存的执行顺序,确定所述至少两个硬盘的加载顺序。
23.上述方案中,所述方法还包括:
24.接收针对所述至少两个随选内存的执行设置信息,所述执行设置信息包括所述至少两个随选内存中各随选内存的执行次序;
25.基于所述执行设置信息,执行所述至少两个随选内存。
26.上述方案中,所述硬盘信息包括:硬盘标识,
27.在所述硬盘从所述硬盘对应的硬盘槽上进行热插拔的情况下,所述硬盘标识在所述硬盘热插拔之前和热插拔之后不变。
28.一种控制装置,包括:
29.获取单元,用于获取用于安装操作系统的表征目标硬盘槽的目标位置信息;
30.第一确定单元,用于基于配置列表,确定所述目标位置信息对应的目标硬盘信息,所述配置列表中包括至少一条配置关系,所述配置关系为硬盘的硬盘信息与安装所述硬盘的位置信息之间的关系,不同的位置信息对应不同的硬盘槽;所述目标硬盘信息为第一硬盘的硬盘信息;
31.移除单元,用于将至少一个第二硬盘移除,所述至少一个第二硬盘包括所述电子设备具备的至少两个硬盘中所述第一硬盘之外的硬盘;
32.安装单元,用于基于所述第一硬盘安装所述操作系统。
33.一种电子设备,所述电子设备可以包括:处理器、存储器和通信总线,其中:
34.通信总线用于实现处理器和存储器之间的通信连接;
35.处理器用于执行存储器中存储的处理程序,以实现以下步骤:
36.获取单元,用于获取用于安装操作系统的表征目标硬盘槽的目标位置信息;
37.第一确定单元,用于基于配置列表,确定所述目标位置信息对应的目标硬盘信息,所述配置列表中包括至少一条配置关系,所述配置关系为硬盘的硬盘信息与安装所述硬盘的位置信息之间的关系,不同的位置信息对应不同的硬盘槽;所述目标硬盘信息为第一硬盘的硬盘信息;
38.移出单元,用于将至少一个第二硬盘移除,所述至少一个第二硬盘包括所述电子设备具备的至少两个硬盘中所述第一硬盘之外的硬盘;
39.安装单元,用于基于所述第一硬盘安装所述操作系统。
40.一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述所述的控制方法中的步骤。
41.本技术的实施例所提供的控制方法和装置、存储介质,获取用于安装操作系统的表征目标硬盘槽的目标位置信息;基于配置列表,确定所述目标位置信息对应的目标硬盘信息,所述配置列表中包括至少一条配置关系,所述配置关系为硬盘的硬盘信息与安装所述硬盘的位置信息之间的关系,不同的位置信息对应不同的硬盘槽;所述目标硬盘信息为第一硬盘的硬盘信息;将至少一个第二硬盘移除,所述至少一个第二硬盘包括所述电子设
备具备的至少两个硬盘中所述第一硬盘之外的硬盘;基于所述第一硬盘安装所述操作系统,如此,在不修改os内核、或脚本的前提下,将操作系统安装在基于用户需求确定的硬盘槽上。
附图说明
42.图1为本技术的实施例提供的一种控制方法的流程示意图;
43.图2为本技术的实施例提供的另一种控制方法的流程示意图;
44.图3为本技术的实施例提供的又一种控制方法的流程示意图;
45.图4为本技术的另一实施例提供的一种控制方法的流程示意图;
46.图5为本技术的另一实施例提供的另一种控制方法的流程示意图;
47.图6为本技术的实施例提供的一种控制装置的结构示意图;
48.图7为本技术的实施例提供的一种电子设备的结构示意图。
具体实施方式
49.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
50.应理解,说明书通篇中提到的“本技术实施例”或“前述实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“本技术实施例中”或“在前述实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中应。在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
51.在未做特殊说明的情况下,电子设备执行本技术实施例中的任一步骤,可以是电子设备的处理器执行该步骤。还值得注意的是,本技术实施例并不限定电子设备执行下述步骤的先后顺序。另外,不同实施例中对数据进行处理所采用的方式可以是相同的方法或不同的方法。还需说明的是,本技术实施例中的任一步骤是电子设备可以独立执行的,即电子设备执行下述实施例中的任一步骤时,可以不依赖于其它步骤的执行。
52.应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
53.本技术实施例提供一种控制方法,该方法应用于控制装置,控制装置中的各功能模块可以由电子设备(如终端设备、服务器或服务器集群)的硬件资源,如处理器等计算资源、传感器等探测资源、通信资源协同实现。
54.电子设备可以是任何具有信息处理能力的电子设备,在一种实施例中,电子设备可以是智能终端,例如可以是笔记本等具有无线通信能力的移动终端。在另一种实施例中,电子设备还可以是不便移动的具有计算功能的终端设备,比如台式计算机、桌面电脑、服务器等。
55.在实际应用中,电子设备中运行有控制应用程序,本技术实施例提供的控制方法可由该控制应用程序实现。
56.当然,本技术实施例不局限于提供为方法和硬件,还可有多种实现方式,例如提供
为存储介质(存储有用于执行本技术实施例提供的控制方法的指令)。
57.图1为本技术实施例提供的控制方法的实现流程示意图,如图1所示,该方法包括以下步骤:
58.步骤101、电子设备获取用于安装操作系统的表征目标硬盘槽的目标位置信息。
59.电子设备开机后,进行自检过程即上电自检(power on self test,post)。电子设备在上电自检过程中,检测硬件设置中是否设置有用于安装操作系统的目标位置信息,其中,目标位置信息表征目标硬盘槽,可为驱动器顺序编号(driver order number)、硬盘槽即槽位编号等信息。当硬件设置中设置有目标位置信息,则指示将操作系统安装至目标位置信息指示的目标硬盘槽上的硬盘。
60.本技术实施例中,在电子设备上电自检过程中,电子设备中的基本输入输出系统bios(basic input output system,bios)或高级配置和电源管理(advanced configuration power interface,acpi)可检测硬件设置中是否设置有用于安装操作系统的目标位置信息。
61.本技术实施例中,电子设备可设置至少两个硬盘槽(slot),且不同的硬盘操作安装不同的硬盘。硬盘槽上安装的硬盘的硬盘类型可包括:硬盘驱动器(hard disk drive,hdd)、使用非易失性内存(non-volatile memory express,nvme)接口规范的固态硬盘(solid state drive,ssd)和使用平台控制器集线器(platform controller hub,pch)m.2接口的ssd。本技术是实施例中,将使用nvme的ssd简称为nvme硬盘,将使用pch m.2接口的ssd简称为pch m.2硬盘。
62.本技术实施例中,当电子设备安装有bmc的情况下,电子设备的bios或acpi可通过bmc检测硬件设置中是否设置有用于安装操作系统的目标位置信息。
63.本技术实施例中,目标位置信息可在电子设备上电自检过程中由用户输入,也可在电子设备上电自检之前的工作状态时获得,当目标位置信息为电子设备上电自检之前的工作状态时获得,则电子设备可将获得的目标位置信息存储在指定路径,电子设备在上电自检过程中,从指定路径读取目标位置信息。
64.步骤102、电子设备基于配置列表,确定所述目标位置信息对应的目标硬盘信息,所述配置列表中包括至少一条配置关系,所述配置关系为硬盘的硬盘信息与安装所述硬盘的位置信息之间的关系,不同的位置信息对应不同的硬盘槽;所述目标硬盘信息为第一硬盘的硬盘信息。
65.电子设备在确定目标位置信息后,读取配置列表,并将位置信息与配置列表中各配置关系中的位置信息进行匹配,其中,配置列表中包括多条配置关系,一条配置关系对应一个硬盘。配置关系为表征硬盘安装位置的位置信息和硬盘的硬盘信息之间的关联关系。其中,配置关系中硬盘的硬盘信息包括:表征硬盘的功能的功能信息、表征硬盘的供应商的供应商信息等能够表征硬盘的信息,其中,功能信息包括以下信息中的一个或多个:总线、设备(device)、功能(function)、供应商信息可包括:供应商标识(venodr id)、设备标识(device id)。本技术实施例中,功能信息还可包括:为硬盘设置的一致性名称,该一致性名称在硬盘所对应的硬盘槽未发生变化的情况下,保持不变。
66.本技术实施例中,配置列表可存放在bios或acpi中。电子设备中的bios或acpi可从bios或acpi中读取配置列表。
67.电子设备将目标位置和各配置关系中的位置信息进行匹配,将包括的位置信息为目标配置信息的配置关系确定为目标配置关系,此时,目标配置关系中的硬盘信息称为目标硬盘信息,目标硬盘信息表征的硬盘为第一硬盘。
68.在一示例中,配置列表中包括:配置关系1、配置关系2、配置关系3,其中,配置关系1对应硬盘1,配置关系1包括硬盘1的位置信息1和硬盘信息1,配置关系2对应硬盘2,配置关系2包括硬盘2的位置信息1和硬盘信息2,配置关系3对应硬盘3,配置关系3包括硬盘3的位置信息3和硬盘信息3,当电子设备获取的目标位置信息为位置信息3,则硬盘信息3为目标硬盘信息,硬盘信息3所表征的硬盘3为第一硬盘。
69.步骤103、电子设备将至少一个第二硬盘移除,所述至少一个第二硬盘包括所述电子设备具备的至少两个硬盘中所述第一硬盘之外的硬盘。
70.电子设备确定第一硬盘后,则将电子设备所具备的多个硬盘中第一硬盘之外的硬盘移出,仅保留第一硬盘。
71.在一示例中电子设备中具备的硬盘包括:硬盘1、硬盘2和硬盘3,其中,在s102中确定的第一硬盘为硬盘3,则硬盘1、硬盘2为第二硬盘。电子设备将硬盘1和硬盘2移除。
72.本技术实施例中的移除可理解为虚拟移除,即将硬盘关闭。本技术实施例中,电子设备在保持第二硬盘的功能不变的情况下,关闭第二硬盘。其中,电子设备移除第二硬盘的方式可包括:断开与第二硬盘之间的连接、或者屏蔽第二硬盘的访问等。
73.本技术实施例中,电子设备中的bios或acpi移出第二硬盘,在移出第二硬盘后,仅保留对第一硬盘的操作。
74.步骤104、电子设备基于所述第一硬盘安装所述操作系统。
75.电子设备在移出第二硬盘,仅剩余第一硬盘的情况下,电子设备将操作系统安装在第一硬盘上。
76.本技术实施例中,电子设备将操作系统安装在第一硬盘上后,可生成启动变量(boot variable)和文件系统(filesystem),并将启动变量和文件系统存储在第一硬盘上。
77.本技术实施例提供的控制方法可应用于以下场景:当电子设备需要将操作系统安装在指定槽位3的硬盘上,则向电子设备表征槽位3的位置信息,电子设备在上电自检过程中,基于槽位3的位置信息和配置列表确定槽位3上的硬盘为硬盘b,则将电子设备所具备的硬盘:硬盘a、硬盘b、硬盘c和硬盘d中的硬盘b以外的硬盘:硬盘a、硬盘c和硬盘d移出,仅保留硬盘b,从而将操作系统安装在槽位3上的硬盘b,从而将操作系统安装在指定槽位。
78.本技术的实施例所提供的控制方法,获取用于安装操作系统的表征目标硬盘槽的目标位置信息;基于配置列表,确定所述目标位置信息对应的目标硬盘信息,所述配置列表中包括至少一条配置关系,所述配置关系为硬盘的硬盘信息与安装所述硬盘的位置信息之间的关系,不同的位置信息对应不同的硬盘槽;所述目标硬盘信息为第一硬盘的硬盘信息;将至少一个第二硬盘移除,所述至少一个第二硬盘包括所述电子设备具备的至少两个硬盘中所述第一硬盘之外的硬盘;基于所述第一硬盘安装所述操作系统,如此,在不修改os内核、或脚本的前提下,将操作系统安装在基于用户需求确定的硬盘槽上。
79.在一实施例中,如图2所示,步骤103所述将至少一个第二硬盘移除的实施包括:
80.步骤1031、确定所述至少一个第二硬盘中各第二硬盘的驱动根端口。
81.步骤1032、去使能所述至少一个第二硬盘中各第二硬盘的驱动根端口。
82.电子设备确定第二硬盘后,确定各第二硬盘的驱动根端口(driver root port),并去使能(disable)各第二硬盘的driver root port,从而断开与各第二硬盘之间的连接,不再对第二硬盘进行访问。
83.本技术实施例中,去使能第二硬盘的driver root port可以理解为使第二硬盘的driver root port无效,当一个第二硬盘的driver root port去使能之后,则该driver root port无法运行,使得该第二硬盘无法被使用。本技术实施例中,去使能driver root port的方式可包括:将driver root port的端口状态的设置为不启动,还可包括:屏蔽driver root port的调用等。本技术实施例中对去使能第二硬盘的driver root port的方式不进行任何限定。
84.在一实施例中,如图3所示,在s102基于配置列表,确定所述目标位置对应的目标硬盘信息之后,所述方法还包括:
85.s105、电子设备检测所述第一硬盘是否安装有所述操作系统。
86.其中,在所述第一硬盘未安装所述操作系统的情况下,电子设备将至少一个第二硬盘移除。
87.本技术实施例中,电子设备在确定目标硬盘信息后,确定目标硬盘信息对应的第一硬盘,并检测第一硬盘中是否安装有操作系统,当第一硬盘未安装操作系统的情况下,需要在第一硬盘中安装操作系统。
88.本技术实施例中,电子设备判断第一硬盘中是否安装操作系统的方式包括以下至少之一:
89.判断方式一、判断第一硬盘上是否存在启动变量。
90.判断方式二、判断第一硬盘上是否存在文件系统。
91.对于判断方式一,当第一硬盘上存在启动变量,则表征第一硬盘上已经安装操作系统;当第一硬盘上未存在启动变量,则表征第一硬盘上未安装操作系统;
92.对于判断方式二、当第一硬盘上存在文件系统,则表征第一硬盘上已经安装操作系统;当第一硬盘上不存在文件系统,则表征第一硬盘上未安装操作系统。
93.当电子设备确定第一硬盘未安装操作系统的情况下,则确定在第一硬盘上安装操作系统,此时,移除第二硬盘。
94.在一实施例中,基于图1或图3所示的控制方法,电子设备执行的处理还包括:
95.在所述第一硬盘安装所述操作系统的情况下,去使能所述第一硬盘的功能,并使能所述至少一个第二硬盘的驱动根端口。
96.本技术实施例中,当电子设备确定第一操作系统已经安装操作系统的情况下,则去使能第一硬盘的功能,并使能移除的第二硬盘的根端口,使得第二硬盘开启。
97.本技术实施例中,电子设备确定第一硬盘中安装操作系统的方式包括:执行基于第一硬盘安装操作系统的操作,或者判断第一硬盘中安装操作系统。
98.在一示例中,在s104电子设备基于第一硬盘安装操作系统之后,电子设备去使能所述第一硬盘的功能,并使能所述至少一个第二硬盘的驱动根端口。
99.在一示例中,电子设备判断第一硬盘是否安装操作系统,且确定第一硬盘中安装操作系统的情况下,去使能所述第一硬盘的功能,并使能所述至少一个第二硬盘的驱动根端口,其中,电子设备判断第一硬盘是否安装操作系统的方式包括上述判断方式一和判断
方式二中的一种或两种。
100.本技术实施例中,当一个第二硬盘的driver root port使能(enable)之后,则该driver root port有效,使得该第二硬盘能够被使用。本技术实施例中,使能driver root port的方式可包括:将driver root port的端口状态的设置为启动,还可包括:解除对driver root port的屏蔽等。本技术实施例中对使能第二硬盘的driver root port的方式不进行任何限定。
101.这里,电子设备可在s104之后再次进行上电自检,并在再次上电自检过程中,再次执行s101和s102,此时,确定第一硬盘,但此时的第一硬盘中已经安装了操作系统,通过第一硬盘中是否安装操作系统的判断,电子设备确定第一硬盘中已经安装了操作系统,则去使能第一硬盘的功能,第一硬盘仅作为操作系统的安装硬盘,并使能第二硬盘的根端口,从而恢复启动过程对第二硬盘的访问,并恢复第二硬盘与系统的连接,使得电子设备支持第二硬盘的功能。
102.本技术实施例中,电子设备在第一次启动自检过程中,执行s101至s104的步骤,从而在第一硬盘上安装操作系统,在完成操作系统在第一硬盘上的安装后,重新启动电子设备即执行第二次启动自检过程,在第二次启动自检过程中,确定第一硬盘,并确定第一硬盘已经安装操作系统的情况下,去使能第一硬盘的功能,并使能第二硬盘的根端口,在去使能第一硬盘的功能并开启第二硬盘后,再次执行启动,以使得电子设备基于第二硬盘进入工作状态。
103.此时,如图4所示,电子设备执行以下步骤:
104.s401、电子设备一次上电自检。
105.s402、电子设备获取目标位置信息。
106.s403、电子设备判断目标位置信息对应的第一硬盘是否安装操作系统?
107.在电子设备未安装操作系统的情况下,执行s404。
108.s404、电子设备将第一硬盘之外的第二硬盘关闭。
109.s405、电子设备基于第一硬盘安装操作系统。
110.s406、电子设备二次上电自检。
111.s407、电子设备获取目标位置信息。
112.s408、电子设备判断目标位置信息对应的第一硬盘是否安装操作系统?
113.在电子设备安装操作系统的情况下,执行s409。
114.s409、电子设备去使能第一硬盘的功能,并打开第二硬盘。
115.s410、电子设备进行重启。
116.在实际应用中,电子设备在每次上电自检过程中,在获取目标位置信息后,可判断目标位置信息对应的第一硬盘是否安装有操作系统,在未安装操作系统的情况下,将其他的第二硬盘移除,在安装操作系统的情况下,将移除的第二硬盘恢复,并去使能第一硬盘的功能。
117.在一实施例中,在s101之前,本技术实施例提供的控制方法还包括:加载所述至少两个硬盘至对应的至少两个硬盘槽;对于所述至少两个硬盘中的各硬盘,确定所述硬盘的硬盘信息和加载所述硬盘的硬盘槽的位置信息;根据硬盘的硬盘信息和所述位置信息,得到所述配置关系,所述至少两个硬盘中各硬盘对应的所述配置关系构成所述配置列表。
118.这里,电子设备在s101的上电自检的上电自检过程中,获取各硬盘的硬盘信息和各硬盘对应的硬盘槽,并将根据硬盘和硬盘槽之间的对应关系将硬盘加载是对应的硬盘槽。本技术实施例中,在进行硬盘和硬盘槽加载时,可基于硬盘槽的物理顺序顺序加载硬盘槽和对应的硬盘,也可根据硬盘加载顺序顺序加载硬盘至对应的硬盘槽。
119.在将硬盘加载至对应的硬盘槽后,可基于硬盘的加载顺序生成各硬盘对应的位置信息,该位置信息可包括:顺序编号、硬盘槽的编号等。对于各硬盘,建立该硬盘的硬盘信息和对应的位置信息之间的关系,从而得到配置关系。这里,所有的硬盘对应的配置关系构成配置列表。
120.本技术实施例中在,建立配置关系之前,针对各硬盘可生成一个一致性硬盘标识,该一致性硬盘标识可在硬盘插入的硬盘槽不发生变化的情况下,保持不变。当电子设备生成一致性硬盘标识后,将硬盘标识添加在硬盘的硬盘信息中,与该硬盘对应的位置信息生成配置关系。其中,硬盘标识还可称为驱动名称。
121.在一示例中,对于一个硬盘,该硬盘的配置关系所包括的信息如表1所示,包括:驱动顺序编号、功能信息、供应商信息(venodr id/device id)和一致性硬件标识(consistent driver name)。其中,功能信息可包括:总线、设备和功能中的一种或多种。供应商信息可包括:供应商标识或设备标识。
122.表1、配置关系示例
123.驱动顺序编号功能信息供应商信息硬件名称
124.电子设备在确定配置列表后,可将配置列表存在指定路径,使得电子设备在下次上电自检过程中从指定路径读取配置列表。
125.本技术实施例中,当硬盘的硬盘信息中包括:表征硬盘的功能的功能信息、表征硬盘的供应商的供应商信息,功能信息和供应商信息可通过固件接口来获取,固件接口将获取的功能信息或固件信息传递给acpi或bios。在一示例中,固件接口可为统一可扩展固件接口(unified extensible firmware interface,uefi),本技术实施例中对固件接口的类型不进行任何限定。
126.本技术实施例中,当电子设备基于硬盘加载顺序进行硬盘至对应的硬盘槽的加载时,硬盘加载顺序可为设定的加载顺序,也可为关联随选内存即随选只读存储器(option read-only memory,oprom)的执行顺序。
127.在一实施例中,所述方法还包括:
128.通过固件接口获取所述电子设备执行的至少两个随选内存的执行顺序,不同的随选内存对应不同的硬盘;基于所述至少两个随选内存的执行顺序,确定所述至少两个硬盘的加载顺序。
129.本技术实施例中,随选内存还可称为外设部件互连标准(peripheral component interconnect,pci)扩展(expansion)rom。
130.其中,每个硬盘都存在对应的oprom,且oprom能够确定自身在电子设备的哪个槽位上。
131.电子设备在加载硬盘之前,通过固件接口获取oprom的执行次序,并将uefi发送至acpi或bios,acpi或bios基于oprom的执行次序确定硬盘的加载顺序。
132.在一示例中,硬盘1对应oprom1、硬盘2对应oprom2、硬盘3对应oprom3、硬盘4对应oprom4,且oprom的执行次序为:oprom2、oprom3、oprom1、oprom4,则硬盘1、硬盘2、硬盘3和硬盘4的加载顺序为:硬盘2、硬盘3、硬盘4和硬盘4。
133.本技术实施例中,一个电子设备的背板上可设置有至少一个底板(bay),一个bay上设置有至少一个槽位,固件接口可确定各硬盘对应的槽位,并将各硬盘对应的槽位发送至acpi或bios。acpi或bios基于硬盘的加载顺序将各硬盘加载至对应的槽位。
134.在一实施例中,所述方法还包括:接收针对所述至少两个随选内存的执行设置信息,所述执行设置信息包括所述至少两个随选内存中各随选内存的执行次序;基于所述执行设置信息,执行所述至少两个随选内存。
135.本技术实施例中,在确定加载顺序之前,可在当前的上电自检过程中输出设置界面,并在设置界面上输出设置信息接收接口,以通过设置信息接收接口接收用户输入的oprom的执行次序。
136.本技术实施例中,通过oprom的执行次序的人为控制,可间接控制硬盘的加载顺序,使得硬盘的加载顺序符合用户的预期。
137.在一实施例中,所述硬盘信息包括:硬盘标识,
138.在所述硬盘从所述硬盘对应的硬盘槽位上进行热插拔的情况下,所述硬盘标识在所述硬盘热插拔之前和热插拔之后不变。
139.本技术实施例中,对于一个硬盘,当配置关系中,硬盘的硬盘信息包括硬盘标识即一致性标识的情况下,电子设备可基于硬盘的物理信息对一个硬盘进行有效识别。
140.相关技术中,对于各个硬盘,可在加载时设置逻辑名称,且当一个硬盘拔下,并插入时,该硬盘的逻辑名称发生变化。本技术实施例中,当一个硬盘重新插入硬盘槽后,当硬盘槽未发生变化,则该硬盘的硬盘名称也未发生变化,从而使得硬盘的硬盘标识固定。
141.下面,对本技术实施例提供的控制方法进行进一步描述。
142.相关技术中,接在bp上的硬盘(nvme或hdds)因硬件(hardware,hw)布局(layout)限制无法按照pcie bus order顺序排列,导致使用者在做大量部署想安装os到特定nvme或hdd时需要去做os kernel修改来决定哪个hdd要排在最前面或是修改脚本来选择需要的硬盘。举例来说,如果电子设备具有32个nvme和一个pch m.2,使用者想将os安装在pch m.2,但根据hw layout,可能pch m.2会排在32个nvme中间,且32个nvme中包括不同厂商的nvme,,os驱动加载的顺序也不会按照bp bay number顺序来排列,这样使用者必须了解哪一颗是他想安装的,因此,用户不能直观去选择特定硬盘。
143.uefi每次开机时根据oprom order顺序来加载相应的nvme及槽位(slot),这确保nvme的排序顺序是符合我们预期的,因uefi可以透过fpga及bmc资讯来得知现在nvme是属于哪个slot以及哪个bay id,所以uefi可以整理出一个表(acpi或是系统管理基本输入输出系统(system management basic input output system,smbios))来让os参考哪个device需要先加载以及固定的名称。
144.uefi会让使用者选择透过setup或xcc來決定os要安装在哪个硬盘上,uefi在开机过程中会关掉其他属于存储类型的根端口(root port)以确保os只会存在需要安装的硬盘
上,等下次开机后,uefi检查硬盘里边有文件系统或引导项变量,则开启其他关掉的硬盘的根端口。
145.本技术实施例提供的控制方法,如图5所示,包括:
146.s501、上电自检。
147.s502、判断是否存在用于安装os的指定的安装hdd。
148.这里,可询问bmc客户有没有设置指定的hdd顺序编号,如果没有设置,则执行s503,如果设置,则执行s506。
149.这里,当设置有指定的hdd顺序编号,则表征需要将os安装到该指定的hdd顺序编号对应的hdd中,这里,将指定的hdd顺序编号对应的hdd称为指定的安装hdd。
150.s503、通过uefi收集uefi中的扩展rom的执行顺序,并获取各硬盘的硬盘信息。
151.这里,通过uefi收集扩展rom的执行顺序,并获取各硬盘的硬盘相关信息,将获取的硬盘相关信息发送至acpi或者smbios。其中,获取的硬盘相关信息可包括:表征设备的硬盘的功能信息、表征硬盘的供应商的供应商信息,其中,功能信息可包括:总线(bus)、设备(device)、功能(function)等,供应商信息可包括:供应商标识(venodr id)、设备标识(device id)等。
152.这里,uefi可通过fpga和bmc来得知各硬盘属于哪个slot以及哪个bay id。
153.s504、启动并进入到os。
154.这里,在启动过程中,基于扩展rom的执行顺序确定各硬盘的加载顺序,并基于确定的加载顺序来加载各硬盘以及各硬盘所插入的槽位(slot)。
155.s505、基于硬盘的加载顺序和各硬盘的硬盘信息生成配置列表。
156.这里,在配置列表中包括各硬盘对应的配置关系,其中,在配置关系为基于加载顺序的驱动顺序编号和硬盘信息,其中,硬盘信息包括获取的硬盘相关信息和驱动名称,其中,驱动名称具有一致性,在硬盘热插拔前后,驱动名称保持不变。
157.s506、检查指定的安装hdd是否已经安装操作系统。
158.这里可检查指定的安装hdd是否存在引导变量(boot variable)或者文件系统,如果存在,则表征该指定的安装hdd中已经安装os,且基于该指定的安装hdd的开机路径已经建立。如果不存在,则表征该指定的安装hdd并未安装os。
159.这里,如果存在,则执行s507,如果不在,则执行s509。
160.s507、去使能其他hdd。
161.基于指定的安装hdd,并确定电子设备具备的hdd中除指定的安装hdd之外的其他hdd,并去使能其他hdd。
162.这里,可去使能(disable)其他hdd的驱动根端口。
163.s508、部署os。
164.此时,仅指定的安装hdd使能,则在指定的安装hdd中安装os。
165.s509、去使能指定的安装hdd的功能,并使能其他hdd。
166.这里,当指定的安装hdd已经安装os后,去使能该hdd的功能,不再次执行os的安装,并通过使能其他hdd的驱动根端口,来打开其他hdd。
167.在取使能指定hdd的功能并使能其他hdd后,进行重新启动(reboot)。
168.基于上述控制方法,本技术的实施例提供一种控制装置,参照图6所示,装置600包
括:
169.获取单元601,用于获取用于安装操作系统的表征目标硬盘槽的目标位置信息;
170.第一确定单元602,用于基于配置列表,确定所述目标位置信息对应的目标硬盘信息,所述配置列表中包括至少一条配置关系,所述配置关系为硬盘的硬盘信息与安装所述硬盘的位置信息之间的关系,不同的位置信息对应不同的硬盘槽;所述目标硬盘信息为第一硬盘的硬盘信息;
171.移除单元603,用于将至少一个第二硬盘移除,所述至少一个第二硬盘包括所述电子设备具备的至少两个硬盘中所述第一硬盘之外的硬盘;
172.安装单元604,用于基于所述第一硬盘安装所述操作系统。
173.在一些实施例中,移除单元603,还用于:
174.确定所述至少一个第二硬盘中各第二硬盘的驱动根端口;
175.去使能所述至少一个第二硬盘中各第二硬盘的驱动根端口。
176.在一些实施例中,装置600还包括:
177.检测单元,用于在基于配置列表,确定所述目标位置对应的目标硬盘信息之后,检测所述第一硬盘是否安装有所述操作系统;其中,在所述第一硬盘未安装所述操作系统的情况下,将至少一个第二硬盘移除。
178.在一些实施例中,装置600还包括:恢复单元,用于:
179.在所述第一硬盘安装所述操作系统的情况下,去使能所述第一硬盘的功能,并使能所述至少一个第二硬盘的驱动根端口。
180.在一些实施例中,装置600还包括:
181.加载单元,用于加载所述至少两个硬盘至对应的至少两个硬盘槽;
182.第二确定单元,用于对于所述至少两个硬盘中的各硬盘,确定所述硬盘的硬盘信息和加载所述硬盘的硬盘槽的位置信息;
183.第三确定单元,用于根据硬盘的硬盘信息和所述位置信息,得到所述配置关系,所述至少两个硬盘中各硬盘对应的所述配置关系构成所述配置列表。
184.在一些实施例中,装置600还包括:
185.顺序获取单元,用于通过固件接口获取所述电子设备执行的至少两个随选内存的执行顺序;
186.第四确定单元,用于基于所述至少两个随选内存的执行顺序,确定所述至少两个硬盘的加载顺序。
187.在一些实施例中,装置600还包括:
188.接收单元,用于接收针对所述至少两个随选内存(oprom)的执行设置信息,所述执行设置信息包括所述至少两个随选内存中各随选内存的执行次序;
189.执行单元,用于基于所述执行设置信息,执行所述至少两个随选内存。
190.在一些实施例中,在所述硬盘从所述硬盘对应的硬盘槽位上进行热插拔的情况下,所述物理信息中的硬盘标识在所述硬盘热插拔之前和热插拔之后不变。
191.需要说明的是,本实施例中各个单元之间的交互过程可以参照图1~5对应的实施例提供的控制方法中的实现过程,此处不再赘述。
192.本技术的实施例所提供的控制装置,在不修改os内核、或脚本的前提下,将操作系
统安装在基于用户需求确定的硬盘槽上。
193.基于前述实施例,本技术的实施例提供一种电子设备,如图7所示,该电子设备700可以包括:处理器701、存储器702和通信总线703,其中:
194.通信总线703用于实现处理器701和存储器702之间的通信连接;
195.处理器701用于执行存储器702中存储的处理程序,以实现以下步骤:
196.获取用于安装操作系统的表征目标硬盘槽的目标位置信息;
197.基于配置列表,确定所述目标位置信息对应的目标硬盘信息,所述配置列表中包括至少一条配置关系,所述配置关系为硬盘的硬盘信息与安装所述硬盘的位置信息之间的关系,不同的位置信息对应不同的硬盘槽;所述目标硬盘信息为第一硬盘的硬盘信息;
198.将至少一个第二硬盘移除,所述至少一个第二硬盘包括所述电子设备具备的至少两个硬盘中所述第一硬盘之外的硬盘;
199.基于所述第一硬盘安装所述操作系统。
200.在本技术的其他实施例中,处理器701还用于实现以下步骤:
201.确定所述至少一个第二硬盘中各第二硬盘的驱动根端口;
202.去使能所述至少一个第二硬盘中各第二硬盘的驱动根端口。
203.在本技术的其他实施例中,处理器701还用于实现以下步骤:
204.在基于配置列表,确定所述目标位置对应的目标硬盘信息之后,检测所述第一硬盘是否安装有所述操作系统;其中,在所述第一硬盘未安装所述操作系统的情况下,将至少一个第二硬盘移除。
205.在本技术的其他实施例中,处理器701还用于实现以下步骤:
206.在所述第一硬盘安装所述操作系统的情况下,去使能所述第一硬盘的功能,并使能所述至少一个第二硬盘的驱动根端口。
207.在本技术的其他实施例中,处理器701还用于实现以下步骤:
208.加载所述至少两个硬盘至对应的至少两个硬盘槽;
209.对于所述至少两个硬盘中的各硬盘,确定所述硬盘的硬盘信息和加载所述硬盘的硬盘槽的位置信息;
210.根据硬盘的硬盘信息和所述位置信息,得到所述配置关系,所述至少两个硬盘中各硬盘对应的所述配置关系构成所述配置列表。
211.在本技术的其他实施例中,处理器701还用于实现以下步骤:
212.通过固件接口获取所述电子设备执行的至少两个随选内存的执行顺序,不同的随选内存对应不同的硬盘;
213.基于所述至少两个随选内存的执行顺序,确定所述至少两个硬盘的加载顺序。
214.在本技术的其他实施例中,处理器701还用于实现以下步骤:
215.接收针对所述至少两个随选内存的执行设置信息,所述执行设置信息包括所述至少两个随选内存中各随选内存的执行次序;
216.基于所述执行设置信息,执行所述至少两个随选内存。
217.在本技术的其他实施例中,处理器701还用于实现以下步骤:
218.在所述硬盘从所述硬盘对应的硬盘槽位上进行热插拔的情况下,所述硬盘信息中的硬盘标识在所述硬盘热插拔之前和热插拔之后不变。
219.需要说明的是,本实施例中处理器所执行的步骤的具体实现过程,可以参照图1~5对应的实施例提供的控制方法中的实现过程,此处不再赘述。
220.基于前述实施例,本技术的实施例提供一种存储介质即计算机可读存储介质,该计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现本技术实施例提供的控制方法中的步骤。
221.需要说明的是,本实施例中处理器所执行的步骤的具体实现过程,可以参照本技术实施例提供的控制方法中的实现过程,此处不再赘述。
222.以上电子设备和计算机可读存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术电子设备、存储系统和计算机可读存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
223.本技术实施例中,如果以软件功能模块的形式实现上述的控制方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read only memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本技术实施例不限制于任何特定的硬件和软件结合。
224.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
225.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
226.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
227.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
228.另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
229.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
230.或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
231.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
技术特征:
1.一种控制方法,应用于电子设备,包括:获取用于安装操作系统的表征目标硬盘槽的目标位置信息;基于配置列表,确定所述目标位置信息对应的目标硬盘信息,所述配置列表中包括至少一条配置关系,所述配置关系为硬盘的硬盘信息与安装所述硬盘的位置信息之间的关系,不同的位置信息对应不同的硬盘槽;所述目标硬盘信息为第一硬盘的硬盘信息;将至少一个第二硬盘移除,所述至少一个第二硬盘包括所述电子设备具备的至少两个硬盘中所述第一硬盘之外的硬盘;基于所述第一硬盘安装所述操作系统。2.根据权利要求1所述的方法,其中,所述将至少一个第二硬盘移除,包括:确定所述至少一个第二硬盘中各第二硬盘的驱动根端口;去使能所述至少一个第二硬盘中各第二硬盘的驱动根端口。3.根据权利要求1所述的方法,其中,在基于配置列表,确定所述目标位置对应的目标硬盘信息之后,所述方法还包括:检测所述第一硬盘是否安装有所述操作系统;其中,在所述第一硬盘未安装所述操作系统的情况下,将至少一个第二硬盘移除。4.根据权利要求1或3所述的方法,其中,所述方法还包括:在所述第一硬盘安装所述操作系统的情况下,去使能所述第一硬盘的功能,并使能所述至少一个第二硬盘的驱动根端口。5.根据权利要求1所述的方法,其中,所述方法还包括:加载所述至少两个硬盘至对应的至少两个硬盘槽;对于所述至少两个硬盘中的各硬盘,确定所述硬盘的硬盘信息和加载所述硬盘的硬盘槽的位置信息;根据硬盘的硬盘信息和所述位置信息,得到所述配置关系,所述至少两个硬盘中各硬盘对应的所述配置关系构成所述配置列表。6.根据权利要求5所述的方法,其中,所述方法还包括:通过固件接口获取所述电子设备执行的至少两个随选内存的执行顺序,不同的随选内存对应不同的硬盘;基于所述至少两个随选内存的执行顺序,确定所述至少两个硬盘的加载顺序。7.根据权利要求6所述的方法,其中,所述方法还包括:接收针对所述至少两个随选内存的执行设置信息,所述执行设置信息包括所述至少两个随选内存中各随选内存的执行次序;基于所述执行设置信息,执行所述至少两个随选内存。8.根据权利要求1或5所述的方法,其中,所述硬盘信息包括:硬盘标识,在所述硬盘从所述硬盘对应的硬盘槽上进行热插拔的情况下,所述硬盘标识在所述硬盘热插拔之前和热插拔之后不变。9.一种控制装置,应用于电子设备,包括:获取单元,用于获取用于安装操作系统的表征目标硬盘槽的目标位置信息;第一确定单元,用于基于配置列表,确定所述目标位置信息对应的目标硬盘信息,所述配置列表中包括至少一条配置关系,所述配置关系为硬盘的硬盘信息与安装所述硬盘的位
置信息之间的关系,不同的位置信息对应不同的硬盘槽;所述目标硬盘信息为第一硬盘的硬盘信息;移出单元,用于将至少一个第二硬盘移除,所述至少一个第二硬盘包括所述电子设备具备的至少两个硬盘中所述第一硬盘之外的硬盘;安装单元,用于基于所述第一硬盘安装所述操作系统。10.一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述所述的控制方法中的步骤。
技术总结
本申请实施例公开了一种控制方法,所述控制方法包括:获取用于安装操作系统的表征目标硬盘槽的目标位置信息;基于配置列表,确定所述目标位置信息对应的目标硬盘信息,所述配置列表中包括至少一条配置关系,所述配置关系为硬盘的硬盘信息与安装所述硬盘的位置信息之间的关系,不同的位置信息对应不同的硬盘槽;所述目标硬盘信息为第一硬盘的硬盘信息;将至少一个第二硬盘移除,所述至少一个第二硬盘包括所述电子设备具备的至少两个硬盘中所述第一硬盘之外的硬盘;基于所述第一硬盘安装所述操作系统。本申请实施例还公开了一种控制装置、存储介质。存储介质。存储介质。
技术研发人员:邱泰瑜 杜克宏
受保护的技术使用者:联想(北京)有限公司
技术研发日:2021.11.26
技术公布日:2022/3/8