掌桥专利:专业的专利平台
掌桥专利
首页

操作系统的安装方法、装置、存储介质和计算设备

文献发布时间:2024-04-18 19:58:26


操作系统的安装方法、装置、存储介质和计算设备

技术领域

本公开的实施方式涉及计算机技术领域,更具体地,本公开的实施方式涉及一种操作系统的安装方法、装置、存储介质和计算设备。

背景技术

本部分旨在为本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

在计算机中,操作系统(Operating System,OS)是最基本、最重要的基础性系统软件。用户想要使用计算机需要安装相应的操作系统。

在相关技术中,为了便于安装操作系统,提供有远程安装方式。远程安装方式允许计算机在没有本地安装介质(如U盘或光盘)的情况下,通过网络启动和安装操作系统。

由于不同计算机需要安装特定的操作系统,因此为了在远程安装过程中能够安装正确的操作系统,需要提前获取计算机中网卡的MAC地址,并生成与MAC地址对应的引导配置文件,进而基于引导配置文件进行操作系统安装。

然而,获取计算机的MAC地址实施起来相对比较困难,成本较高。例如对于新采购的设备,从生产厂家处获取计算机中网卡的MAC地址需要支付相应的费用(采集成本高);例如对于现网设备,在网卡调整时需要及时更新调整后网卡的MAC地址(维护成本高)。

发明内容

在本公开实施方式的第一方面中,提供了一种操作系统的安装方法。应用于客户端,所述方法包括:

基于网络启动协议向第一服务端发起第一请求;其中,所述第一请求携带有所述客户端的处理器架构类型;

接收所述第一服务端返回的与所述处理器架构类型对应的网络引导程序;

响应于所述网络引导程序的执行,获取所述客户端的设备唯一性信息,向第二服务端发起携带有所述设备唯一性信息的第二请求,以获取所述第二服务端中存储的与所述设备唯一性信息关联的装机信息;

获取基于所述装机信息生成的定制化的引导配置文件,并基于所述定制化的引导配置文件中指定的装机信息,安装操作系统。

可选的,所述第一服务端包括基于动态主机配置协议的第一服务器和基于文件传输协议的第二服务器;

所述基于网络启动协议向第一服务端发起第一请求,包括:

基于网络启动协议向第一服务器发起第一请求;

所述接收所述服务端返回的与所述处理器架构类型对应的网络引导程序,包括:

接收所述第一服务器返回的与所述处理器架构类型对应的网络引导程序标识和第二服务器的地址;

基于所述第二服务器的地址向所述第二服务器发送所述网络引导程序标识;

获取所述第二服务器返回的与所述网络引导程序标识对应的网络引导程序。

可选的,所述网络引导程序包括GRUB程序,GRUB程序包括Smbios模块和Configfile模块;

所述响应于所述网络引导程序的执行,获取所述客户端的设备唯一性信息,向第二服务端发起携带有所述设备唯一性信息的第二请求,以获取所述第二服务端中存储的与所述设备唯一性信息关联的装机信息,包括:

响应于所述GRUB程序的执行,通过所述Smbios模块获取所述客户端的设备唯一性信息;

通过所述Configfile模块向第二服务端发起携带有所述设备唯一性信息的第二请求,以获取所述第二服务端中存储的与所述设备唯一性信息关联的装机信息。

可选的,所述GRUB程序与所述第二服务端之间通过公共网关接口进行数据传输;

所述通过所述Configfile模块向第二服务端发起携带有所述设备唯一性信息的第二请求,以获取所述第二服务端中存储的与所述设备唯一性信息关联的装机信息,包括:

通过公共网关接口,由所述Configfile模块向所述公共网关接口对应的第三服务器发送携带所述设备唯一性信息的第二请求;以使所述第三服务器从所述第二服务端查询与所述设备唯一性信息关联的装机信息,并进一步基于所述装机信息生成定制化的引导配置文件;

所述获取基于所述装机信息生成的定制化的引导配置文件,包括:

从所述第三服务器获取生成的所述定制化的引导配置文件。

可选的,所述基于所述装机信息生成定制化的引导配置文件,包括:

获取所述网络引导程序执行时生成的预设引导配置文件;其中,所述预设引导配置文件中的装机信息为默认值;

将所述预设引导配置文件中的装机信息修改为所述与所述设备唯一性信息关联的装机信息,以生成定制化的引导配置文件。

可选的,与所述设备唯一性信息关联的装机信息包括操作系统的版本、操作系统的自定义安装选项;

所述基于所述定制化的引导配置文件中指定的装机信息,安装操作系统,包括:

从所述定制化的引导配置文件中指定的网络服务器下载、与所述操作系统的版本对应的安装镜像文件;

响应于所述安装镜像文件的执行,根据所述操作系统的自定义安装选项的内容完成操作系统的安装。

可选的,与所述设备唯一性信息关联的装机信息还包括装机状态;

在所述基于所述装机信息生成定制化的引导配置文件之前,还包括:

确定所述装机信息中的装机状态是否表示未完成装机;

所述基于所述装机信息生成定制化的引导配置文件,包括:

响应于装机状态表示未完成装机,基于所述装机信息生成定制化的引导配置文件。

可选的,在根据所述操作系统的自定义安装选项的内容完成操作系统的安装之后,还包括:

响应操作系统的成功安装,向所述第二服务端发起更新请求,以使所述第二服务端将与所述设备唯一性信息关联的装机信息中的装机状态更新为表示完成装机。

可选的,所述设备唯一性信息包括产品序列号。

可选的,所述网络启动协议包括PEX;

所述基于动态主机配置协议的第一服务器包括DHCP服务器;

所述基于文件传输协议的第二服务器包括TFTP服务器。

在本公开实施方式的第二方面中,提供了一种操作系统的安装装置,应用于客户端,所述装置包括:

发起单元,基于网络启动协议向第一服务端发起第一请求;其中,所述第一请求携带有所述客户端的处理器架构类型;

接收单元,接收所述第一服务端返回的与所述处理器架构类型对应的网络引导程序;

获取单元,响应于所述网络引导程序的执行,获取所述客户端的设备唯一性信息,向第二服务端发起携带有所述设备唯一性信息的第二请求,以获取所述第二服务端中存储的与所述设备唯一性信息关联的装机信息;

安装单元,获取基于所述装机信息生成的定制化的引导配置文件,并基于所述定制化的引导配置文件中指定的装机信息,安装操作系统。

可选的,所述第一服务端包括基于动态主机配置协议的第一服务器和基于文件传输协议的第二服务器;

所述发起单元,进一步用于基于网络启动协议向第一服务器发起第一请求;

所述接收单元,进一步用于接收所述第一服务器返回的与所述处理器架构类型对应的网络引导程序标识和第二服务器的地址,并基于所述第二服务器的地址向所述第二服务器发送所述网络引导程序标识,以及获取所述第二服务器返回的与所述网络引导程序标识对应的网络引导程序。

可选的,所述网络引导程序包括GRUB程序,GRUB程序包括Smbios模块和Configfile模块;

所述获取单元,进一步包括:

响应子单元,响应于所述GRUB程序的执行,通过所述Smbios模块获取所述客户端的设备唯一性信息;

发送子单元,通过所述Configfile模块向第二服务端发起携带有所述设备唯一性信息的第二请求,以获取所述第二服务端中存储的与所述设备唯一性信息关联的装机信息。

可选的,所述GRUB程序与所述第二服务端之间通过公共网关接口进行数据传输;

所述发送子单元,进一步用于通过公共网关接口,由所述Configfile模块向所述公共网关接口对应的第三服务器发送携带所述设备唯一性信息的第二请求;以使所述第三服务器从所述第二服务端查询与所述设备唯一性信息关联的装机信息,并进一步基于所述装机信息生成定制化的引导配置文件;

所述安装单元,进一步用于从所述第三服务器获取生成的所述定制化的引导配置文件,并基于所述定制化的引导配置文件中指定的装机信息,安装操作系统。

可选的,所述基于所述装机信息生成定制化的引导配置文件,包括:

获取所述网络引导程序执行时生成的预设引导配置文件;其中,所述预设引导配置文件中的装机信息为默认值;将所述预设引导配置文件中的装机信息修改为所述与所述设备唯一性信息关联的装机信息,以生成定制化的引导配置文件。

可选的,与所述设备唯一性信息关联的装机信息包括操作系统的版本、操作系统的自定义安装选项;

所述安装单元,进一步包括:

获取子单元,从所述第三服务器获取生成的所述定制化的引导配置文件;

下载子单元,从所述定制化的引导配置文件中指定的网络服务器下载、与所述操作系统的版本对应的安装镜像文件;

安装子单元,响应于所述安装镜像文件的执行,根据所述操作系统的自定义安装选项的内容完成操作系统的安装。

可选的,与所述设备唯一性信息关联的装机信息还包括装机状态;

所述发送子单元在所述基于所述装机信息生成定制化的引导配置文件之前,还用于确定所述装机信息中的装机状态是否表示未完成装机;并响应于装机状态表示未完成装机,基于所述装机信息生成定制化的引导配置文件。

可选的,在所述安装子单元根据所述操作系统的自定义安装选项的内容完成操作系统的安装之后,还用于响应操作系统的成功安装,向所述第二服务端发起更新请求,以使所述第二服务端将与所述设备唯一性信息关联的装机信息中的装机状态更新为表示完成装机。

可选的,所述设备唯一性信息包括产品序列号。

可选的,所述网络启动协议包括PEX;

所述基于动态主机配置协议的第一服务器包括DHCP服务器;

所述基于文件传输协议的第二服务器包括TFTP服务器。

在本公开实施方式的第三方面中,提供了一种计算机可读存储介质,包括:

当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如前任一项所述的操作系统的安装方法。

在本公开实施方式的第四方面中,提供了一种计算设备,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述可执行指令,以实现如前任一项所述的操作系统的安装方法。

根据本公开实施方式提供的操作系统的安装方案,通过客户端的设备唯一性信息和处理器架构类型动态生成定制化的引导配置文件,从而可以提升操作系统的安装效率。

一方面,第一服务端可以预先存储与多种处理器架构一一适配的网络引导程序,从而可以同时兼容不同处理器架构(如x86架构、ARM架构等)的客户端的安装请求。如此,不管客户端属于哪种处理器,都可以从第一服务端获取正确的网络引导程序。

另一方面,第二服务端可以预先存储客户端的装机信息,并且该装机信息与客户端的设备唯一性信息关联。如此,客户端在执行网络引导程序时,可以从第二服务端查询与自身设备唯一性信息关联的装机信息并生成定制化的引导配置文件。由于不再依赖客户端的网卡MAC地址来获取引导配置文件,而是采用容易采集和维护的设备唯一性信息来获取引导配置文件,因此可以降低不同操作系统的安装实施和维护的难度。

附图说明

通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:

图1示意性地示出了本公开提供的安装系统示意图;

图2示意性地示出了本公开提供的操作系统的安装方法示意图;

图3示意性地示出了本公开提供的网络引导程序的示意图;

图4示意性地示出了本公开提供的生成定制化的引导配置文件示意图;

图5示意性地示出了本公开提供的介质示意图;

图6示意性地示出了本公开提供的操作系统的安装装置示意图;

图7示意性地示出了本公开提供的计算设备示意图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本公开的实施方式,提出了一种操作系统的安装方法、计算机可读存储介质、装置和计算设备。

在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。

本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据,对数据的采集、传播、使用等,均符合国家相关法律法规要求,本公开实施方式/实施例可以互相组合。

发明概述

本公开旨在提供一种操作系统的安装方案,通过客户端的设备唯一性信息和处理器架构类型动态生成定制化的引导配置文件,从而可以提升操作系统的安装效率。

一方面,第一服务端可以预先存储与多种处理器架构一一适配的网络引导程序,从而可以同时兼容不同处理器架构(如x86架构、ARM架构等)的客户端的安装请求。如此,不管客户端属于哪种处理器,都可以从第一服务端获取正确的网络引导程序。

另一方面,第二服务端可以预先存储客户端的装机信息,并且该装机信息与客户端的设备唯一性信息关联。如此,客户端在执行网络引导程序时,可以从第二服务端查询与自身设备唯一性信息关联的装机信息并生成定制化的引导配置文件。由于不再依赖客户端的网卡MAC地址来获取引导配置文件,而是采用容易采集和维护的设备唯一性信息来获取引导配置文件,因此可以降低不同操作系统的安装实施和维护的难度。

在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。

应用场景总览

首先参考图1所示的一种安装系统示意图。该安装系统可以包括若干的客户端11、第一服务端12和第二服务端13.

其中,客户端11可以包括个人使用的计算机,如台式计算机、膝上型计算机、平板计算机、智能手机、手持式计算机、个人数字助理(“PDA”),或者其它任何的有线或无线处理器驱动装置。

所述客户端11还可以是大规模计算机环境中的计算机,如数据中心的服务器、分布式计算系统的节点设备等等。再例如企业中的服务器和工作站管理,教育机构中的实验室和计算机教学环境等。

所述第一服务端12可以同时兼容不同处理器架构(如x86架构、ARM架构等)的客户端的安装请求。具体地,第一服务端12中可以预先存储与多种处理器架构一一适配的网络引导程序;如此,在面对不同处理器架构类型的客户端发起的第一请求时,可以返回与该客户端的处理器架构类型对应的网络引导程序。

所述第二服务端可以预先存储客户端的装机信息,并且该装机信息与客户端的设备唯一性信息关联。如此,客户端在执行网络引导程序时,可以从第二服务端查询与自身设备唯一性信息关联的装机信息并生成定制化的引导配置文件。

示例性方法

下面结合图1所示的应用场景,参考图2来描述根据本公开示例性实施方式的操作系统的安装的方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。

如图2所示,所述操作系统的安装方法,可以应用于客户端,并可以

包括以下步骤:

步骤210,基于网络启动协议向第一服务端发起第一请求;其中,所述第一请求携带有所述客户端的处理器架构类型。

客户端在需要远程安装操作系统时,可以生成携带有自身处理器的处理器架构类型的第一请求,并基于网络启动协议将该第一请求发送给第一服务端。

其中,所述网络启动协议是一种用于远程安装操作系统的计算机网络协议。所述网络启动协议可以包括但不限于PXE(Preboot Execution Environment)、gPXE(Generalized Preboot Execution Environment)、iPXE(Internet Preboot ExecutionEnvironment)等等。

以PXE为例,通过PXE,客户端可以在没有操作系统的情况下从网络中获取操作系统的镜像文件,并将该镜像文件加载到内存中以安装操作系统。需要注意的是,PXE需要借助于DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务器和TFTP(Trivial File Transfer Protocol,文件传输协议)服务器;其中,DHCP服务器由于为客户端分配IP地址,TFTP服务器用于传输镜像文件。

客户端基于PXE可以向DHCP服务器发送第一请求,以获取DHCP服务器为客户端分配的IP地址和TFTP服务器地址。然后,客户端通过TFTP服务器地址访问TFTP服务器,从TFTP服务器下载操作系统的镜像文件和引导配置文件。一旦下载完成,客户端就可以使用引导配置文件进行引导,从而完成镜像文件对应的操作系统的安装。

通过PXE无需将操作系统或启动程序安装在本地磁盘上,通过网络就可以完成操作系统的安装,从而可以在多台计算机之间进行集中管理和批量部署。此外,PXE还提供了简化操作系统部署和更新的方式,可以节省时间和人力成本。

gPXE和iPXE都是PXE的改进版本,在PXE的基础上增加了相关功能,简化了操作系统部署和更新的过程。例如,gPXE支持通过iSCSI(Internet Small Computer SystemInterface,小型计算机系统接口)协议从网络中获取操作系统的镜像文件,从而提供了更灵活、更强大的网络启动功能,能够与更多类型的网络存储设备进行通信,并支持更多的网络协议和功能。iPXE支持各种网络协议和安全性机制,包括HTTP、iSCSI、FTP、TFTP、HTTPS等,如此可以根据具体需求选择合适的网络协议来获取操作系统的镜像文件。

PXE或者基于PXE改进的gPXE、iPXE可以广泛应用于服务器集群、云计算环境、虚拟化平台等场景中,可以为大规模计算机环境中计算机自动化安装操作系统提供了便利。

值得一提的是,本说明书中采用改的PXE或者基于PXE改进的gPXE、iPXE,不再依赖客户端的网卡MAC地址来生成的引导配置文件,而是采用容易采集和维护的设备唯一性信息作为关键查询信息,因此可以降低不同操作系统定制化自动并发安装方案实施和维护的难度。此外,DHCP服务器和TFTP服务器的功能也进行了相应的调整,调整内容将在后续实施例中介绍。

步骤220,接收所述第一服务端返回的与所述处理器架构类型对应的网络引导程序。

所述第一服务端可以同时兼容不同处理器架构(如x86架构、ARM架构等)的客户端的安装请求。具体地,第一服务端中可以预先存储与多种处理器架构一一适配的网络引导程序;如此,在面对不同处理器架构类型的客户端发起的第一请求时,可以返回与该客户端的处理器架构类型对应的网络引导程序。

在一示例性的实施例中,所述第一服务端可以包括基于动态主机配置协议的第一服务器和基于文件传输协议的第二服务器;

相应地,前述步骤210基于网络启动协议向第一服务端发起第一请求,可以包括:

基于网络启动协议向第一服务器发起第一请求;

上述步骤220接收所述服务端返回的与所述处理器架构类型对应的网络引导程序,可以包括:

接收所述第一服务器返回的与所述处理器架构类型对应的网络引导程序标识和第二服务器的地址;

基于所述第二服务器的地址向所述第二服务器发送所述网络引导程序标识;

获取所述第二服务器返回的与所述网络引导程序标识对应的网络引导程序。

下面以前述PEX这一网络启动协议为例,基于动态主机配置协议的第一服务器可以包括前述的DHCP服务器;基于文件传输协议的第二服务器可以包括前述的TFTP服务器。

客户端基于PEX协议向DHCP服务器发起第一请求,而DHCP服务器在接收到第一请求后,可以获取第一请求中携带的该客户端的处理器架构类型,并在本地查询并返回与该处理器架构类型对应的网络引导程序标识和用于下载网络引导程序的第二服务器的地址。与相关技术中DHCP服务器不同的是,本说明书中的DHCP服务器需要存储与多种处理器架构一一适配的网络引导程序标识。

接着,客户端在接收到DHCP服务器返回的网络引导程序标识和TFTP服务器的地址之后,可以基于TFTP服务器的地址访问TFTP服务器,并向TFTP服务器发送该网络引导程序标识。这样,TFTP服务器在接收到客户端发送的网络引导程序标识后,可以在本地查询并返回与该网络引导程序标识对应的网络引导程序。与相关技术中TFTP服务器不同的是,本说明书中的TFTP服务器需要存储与多种处理器架构一一适配的网络引导程序,以及每个网络引导程序对应的网络引导程序标识;从而可以同时兼容不同处理器架构的客户端的安装需求。

然后,客户端接收TFTP服务器返回的网络引导程序后,可以执行该网络引导程序。

通过第一服务端可以为具有不同处理器的客户端提供与处理器架构类型匹配的网络引导程序,从而使得客户端可以执行正确的网络引导程序。

本说明书中的网络引导程序可以为客户端提供获取与待安装的操作系统相关的装机信息。

所述装机信息可以是运维人员根据客户端待安装操作系统的实际需求,预先录入到第二服务端中或者与第二服务端关联的数据库中。

其中,所述装机信息可以包括但不限于操作系统名称、操作系统的版本、操作系统的自定义安装选项等等信息。

所述操作系统名称对应的是具体的操作系统,例如移动设备上的操作系统如安卓操作系统、IOS操作系统等;再例如非移动设备上的操作系统如windows操作系统、linux操作系统等。

步骤230,响应于所述网络引导程序的执行,获取所述客户端的设备唯一性信息,向第二服务端发起携带有所述设备唯一性信息的第二请求,以获取所述第二服务端中存储的与所述设备唯一性信息关联的装机信息。

如前所述,第二服务端中存储有运维人员根据客户端待安装操作系统的实际需求,预先录入的装机信息。为了便于查询和管理,这些装机信息需要与对应的客户端进行关联。本说明书中采用客户端的设备唯一性信息来与装机信息进行关联;由于设备唯一性信息容易采集,且具有唯一性,因此采用设备唯一性信息作为关键查询信息,便于装机信息的管理和维护;进而可以降低不同操作系统定制化自动并发安装方案实施和维护的难度。

在一示例性的实施例中,所述设备唯一性信息包括产品序列号(Serial Number,SN)。产品序列化用于唯一标识和区分不同的产品,通常产品序列号是由生产厂商或制造商为其产品(本说明书中的客户端)分配的一组特定字符或数字组成的编码。并且,产品序列号在产品包装盒、产品本身或产品文档中可以找到,采集产品序列号较为方便,且成本较低。

由于产品序列号且具有唯一性和稳定性(产品序列号一旦确定就不会变化,而相关技术中采用的MAC地址即不容易采集还容易发生变化),这样进一步降低不同操作系统定制化自动并发安装方案实施和维护的难度。

在一示例性的实施例中,客户端执行的网络引导程序可以包括GRUB(GNU GRandUnified Bootloader)程序。

下面结合图3所示的网络引导程序的示意图为例,GRUB程序可以包括Smbios模块和Configfile模块;

相应地,上述步骤230,进一步可以包括:

响应于所述GRUB程序的执行,通过所述Smbios模块获取所述客户端的设备唯一性信息(如图3中示出的SN号);

通过所述Configfile模块向第二服务端发起携带有所述设备唯一性信息的第二请求(如图3中示出的虚线段箭头),以获取所述第二服务端中存储的与所述设备唯一性信息关联的装机信息。

该实施例采用GRUB程序,通过Smbios模块和Configfile模块从第二服务端获取客户端安装操作系统所需的装机信息。

步骤240,获取基于所述装机信息生成的定制化的引导配置文件,并基于所述定制化的引导配置文件中指定的装机信息,安装操作系统。

客户端在获取到装机信息之后,可以基于装机信息生成定制化的引导配置文件。

在一示例性的实施例中,上述定制化的引导配置文件也可以是第三服务器基于装机信息生成的。对于第三服务器生成引导配置文件的实施例如下所示:

在所述GRUB程序与所述第二服务端之间可以通过公共网关接口进行数据传输;

相应地,上述通过所述Configfile模块向第二服务端发起携带有所述设备唯一性信息的第二请求,以获取所述第二服务端中存储的与所述设备唯一性信息关联的装机信息,进一步可以包括:

通过公共网关接口,由所述Configfile模块向所述公共网关接口对应的第三服务器发送携带所述设备唯一性信息的第二请求;以使所述第三服务器从所述第二服务端查询与所述设备唯一性信息关联的装机信息;并进一步由第三服务器基于所述装机信息生成定制化的引导配置文件。

下面继续参考图3,公共网关接口可以为CGI(Common Gateway Interface,也称通用网关接口),与CGI对应的第三服务器可以是CGI服务器。

该实施例中,GRUB程序的Configfile模块通过CGI服务器来获取第二服务端中存储的装机信息,并由CGI服务器对获取到的装机信息进行处理以生成客户端所需的定制化的引导配置文件。这样,客户端可以从CGI服务器获取生成的所述定制化的引导配置文件。

在一示例性的实施例中,所述基于所述装机信息生成定制化的引导配置文件,包括:

获取所述网络引导程序执行时生成的预设引导配置文件;其中,所述预设引导配置文件中的装机信息为默认值;

将所述预设引导配置文件中的装机信息修改为所述与所述设备唯一性信息关联的装机信息,以生成定制化的引导配置文件。

不管是客户端还是第三服务器,都可以在网络引导程序执行时生成的预设引导配置文件基础上结合获取到的装机信息,来生成定制化的引导配置文件。当然,如果是第三服务器,则需要客户端将网络引导程序执行时生成的预设引导配置文件发送给第三服务器。

下面结合图4所示生成定制化的引导配置文件示意图;不同处理器架构类型(如图4中示出的ARM64架构、X86_BIOS架构和X86_UEFI架构)的客户端需要执行与自身处理器架构类型对应的网络引导程序从而生成一份预设引导配置文件(以GRUB程序为例生成的是grub.cfg)。

然后,客户端或者第三服务器进一步从第二服务端获取到与客户端的唯一性信息关联的装机信息后,就可以将生成的预设引导配置文件中的装机信息修改为该获取到的装机信息,从而得到定制化的引导配置文件。如图4中示出的ARM64架构定制化的引导配置文件、X86_BIOS架构定制化的引导配置文件和X86_UEFI架构定制化的引导配置文件。

在介绍了生成定制化的引导配置文件之后,客户端可以基于所述定制化的引导配置文件中指定的装机信息,安装操作系统。

如前实施例中所示,与所述设备唯一性信息关联的装机信息可以包括操作系统的版本、操作系统的自定义安装选项;

相应地,上述步骤240中的基于所述定制化的引导配置文件中指定的装机信息,安装操作系统,可以包括:

从所述定制化的引导配置文件中指定的网络服务器下载、与所述操作系统的版本对应的安装镜像文件;

响应于所述安装镜像文件的执行,根据所述操作系统的自定义安装选项的内容完成操作系统的安装。

该实施例中,客户端在获取到定制化的引导配置文件之后,自动就可以按照引导配置文件中指定的网络服务器下载待安装操作系统的安装镜像文件并安装,且安装过程中可以自动根据装机信息中指定的自定义安装选项完成操作系统中自定义软件的安装;如此可以实现无人值守的定制化操作系统安装。

在一示例性的实施例中,与所述设备唯一性信息关联的装机信息还包括装机状态;

在所述基于所述装机信息生成定制化的引导配置文件之前,还包括:

确定所述装机信息中的装机状态是否表示未完成装机;

所述基于所述装机信息生成定制化的引导配置文件,包括:

响应于装机状态表示未完成装机,基于所述装机信息生成定制化的引导配置文件。

本说明书中,为了避免客户端重复执行相同的安装任务,还可以在装机信息中设置装机状态,默认的装机状态可以表示未完成装机;在生成定制化的引导配置文件时,需要确定装机状态是否表示未完成装机,只有在装机状态表示未完成装机时,才基于装机信息生成定制化的引导配置文件,从而供客户端进行操作系统的安装。

在一示例性的实施例中,在根据所述操作系统的自定义安装选项的内容完成操作系统的安装之后,还包括:

响应操作系统的成功安装,向所述第二服务端发起更新请求,以使所述第二服务端将与所述设备唯一性信息关联的装机信息中的装机状态更新为表示完成装机。

该实施例中,客户端在成功安装了操作系统后,为了避免同一安装任务的重复执行,可以向第二服务端发起针对本次安装任务的更新请求,以使第二服务端将存储的本次安装任务对应的装机状态修改为表示完成装机。这样,即使误触发同一安装任务,由于该安装任务对应的装机状态表示完成装机,因此也不会生成定制化的引导配置文件,从而中断安装流程。

示例性介质

在介绍了本公开示例性实施方式的方法之后,接下来,参考图5对本公开示例性实施方式的介质进行说明。

本示例性实施方式中,可以通过程序产品实现上述方法,如可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

该程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RE等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如C语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

综上,本公开可以提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,可以使得电子设备能够执行前述操作系统的安装方法实施例。

示例性装置

在介绍了本公开示例性实施方式的介质之后,接下来,参考图6对本公开示例性实施方式的装置进行说明。

图6示意性地示出了根据本公开实施方式的一种操作系统的安装装置的框图,对应于前述图2所示的方法实施例。应用于客户端,该操作系统的安装装置可以包括:

发起单元610,基于网络启动协议向第一服务端发起第一请求;其中,所述第一请求携带有所述客户端的处理器架构类型;

接收单元620,接收所述第一服务端返回的与所述处理器架构类型对应的网络引导程序;

获取单元630,响应于所述网络引导程序的执行,获取所述客户端的设备唯一性信息,向第二服务端发起携带有所述设备唯一性信息的第二请求,以获取所述第二服务端中存储的与所述设备唯一性信息关联的装机信息;

安装单元640,获取基于所述装机信息生成的定制化的引导配置文件,并基于所述定制化的引导配置文件中指定的装机信息,安装操作系统。

可选的,所述第一服务端包括基于动态主机配置协议的第一服务器和基于文件传输协议的第二服务器;

所述发起单元610,进一步用于基于网络启动协议向第一服务器发起第一请求;

所述接收单元620,进一步用于接收所述第一服务器返回的与所述处理器架构类型对应的网络引导程序标识和第二服务器的地址,并基于所述第二服务器的地址向所述第二服务器发送所述网络引导程序标识,以及获取所述第二服务器返回的与所述网络引导程序标识对应的网络引导程序。

可选的,所述网络引导程序包括GRUB程序,GRUB程序包括Smbios模块和Configfile模块;

所述获取单元630,进一步包括:

响应子单元631,响应于所述GRUB程序的执行,通过所述Smbios模块获取所述客户端的设备唯一性信息;

发送子单元633,通过所述Configfile模块向第二服务端发起携带有所述设备唯一性信息的第二请求,以获取所述第二服务端中存储的与所述设备唯一性信息关联的装机信息。

可选的,所述GRUB程序与所述第二服务端之间通过公共网关接口进行数据传输;

所述发送子单元633,进一步用于通过公共网关接口,由所述Configfile模块向所述公共网关接口对应的第三服务器发送携带所述设备唯一性信息的第二请求;以使所述第三服务器从所述第二服务端查询与所述设备唯一性信息关联的装机信息,并进一步基于所述装机信息生成定制化的引导配置文件;

所述安装单元640,进一步用于从所述第三服务器获取生成的所述定制化的引导配置文件,并基于所述定制化的引导配置文件中指定的装机信息,安装操作系统。

可选的,所述基于所述装机信息生成定制化的引导配置文件,包括:

获取所述网络引导程序执行时生成的预设引导配置文件;其中,所述预设引导配置文件中的装机信息为默认值;将所述预设引导配置文件中的装机信息修改为所述与所述设备唯一性信息关联的装机信息,以生成定制化的引导配置文件。

可选的,与所述设备唯一性信息关联的装机信息包括操作系统的版本、操作系统的自定义安装选项;

所述安装单元640,进一步包括:

获取子单元641,从所述第三服务器获取生成的所述定制化的引导配置文件;

下载子单元643,从所述定制化的引导配置文件中指定的网络服务器下载、与所述操作系统的版本对应的安装镜像文件;

安装子单元645,响应于所述安装镜像文件的执行,根据所述操作系统的自定义安装选项的内容完成操作系统的安装。

可选的,与所述设备唯一性信息关联的装机信息还包括装机状态;

所述发送子单元633在所述基于所述装机信息生成定制化的引导配置文件之前,还用于确定所述装机信息中的装机状态是否表示未完成装机;并响应于装机状态表示未完成装机,基于所述装机信息生成定制化的引导配置文件。

可选的,在所述安装子单元645根据所述操作系统的自定义安装选项的内容完成操作系统的安装之后,还用于响应操作系统的成功安装,向所述第二服务端发起更新请求,以使所述第二服务端将与所述设备唯一性信息关联的装机信息中的装机状态更新为表示完成装机。

可选的,所述设备唯一性信息包括产品序列号。

可选的,所述网络启动协议包括PEX;

所述基于动态主机配置协议的第一服务器包括DHCP服务器;

所述基于文件传输协议的第二服务器包括TFTP服务器。

示例性计算设备

在介绍了本公开示例性实施方式的方法、介质和装置之后,接下来,参考图7对本公开示例性实施方式的计算设备进行说明。

图7显示的计算设备1500仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图7所示,计算设备1500以通用计算设备的形式表现。计算设备1500的组件可以包括但不限于:至少一个处理单元1501、至少一个存储单元1502,连接不同系统组件(包括处理单元1501和存储单元1502)的总线1503。

总线1503包括数据总线、控制总线和地址总线。

存储单元1502可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)15021和/或高速缓存存储器15022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(ROM)15023。

存储单元1502还可以包括具有一组(至少一个)程序模块15024的程序/实用工具15025,这样的程序模块15024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

计算设备1500也可以与一个或多个外部设备1504(例如键盘、指向设备等)通信。

这种通信可以通过输入/输出(I/O)接口1505进行。并且,计算设备1500还可以通过网络适配器1506与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器1506通过总线1503与计算设备1500的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备1500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

通过如图7示出的计算设备1500,可以实现前述操作系统的安装方法,更具体地,存储单元1502存储处理单元1501可执行的指令,处理单元1501执行指令时,实现前述操作系统的安装方法。

应当注意,尽管在上文详细描述中提及了操作系统的安装装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

相关技术
  • 虚拟机操作系统安装方法、装置、设备及可读存储介质
  • 软件自助安装方法、装置、计算机设备及存储介质
  • 一种操作系统的预安装方法、系统、电子设备及存储介质
  • 一种AIX操作系统的安装方法、装置、设备及介质
  • 无人驾驶汽车升级包安装方法、装置、设备及存储介质
  • 一种操作系统安装方法、装置、计算机设备及存储介质
  • 操作系统安装方法、装置、计算机设备和存储介质
技术分类

06120116490463