CN109101247B - 安装驱动程序的方法、装置和服务器 - Google Patents
安装驱动程序的方法、装置和服务器 Download PDFInfo
- Publication number
- CN109101247B CN109101247B CN201810830613.6A CN201810830613A CN109101247B CN 109101247 B CN109101247 B CN 109101247B CN 201810830613 A CN201810830613 A CN 201810830613A CN 109101247 B CN109101247 B CN 109101247B
- Authority
- CN
- China
- Prior art keywords
- driver
- server
- hard disk
- operating system
- storage medium
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种安装驱动程序的方法、装置和服务器,涉及数据通信的技术领域,该方法包括:如果服务器自检过程中检查到新的硬盘启动项,查找操作系统对应的目标部件;调取操作系统的自启动脚本,并添加调用驱动安装控制程序的命令;启动操作系统后,运行该命令以触发驱动安装控制程序被执行,从外部存储介质获取目标部件的驱动程序并安装。本公开实施方式提供的安装驱动程序的方法、装置和服务器,有效避免了驱动程序未安装或者安装了错误版本的驱动程序导致的服务器无法使用的问题,不仅提高了服务器的使用性能,也在一定程度上提高了用户的体验度。
Description
技术领域
本公开涉及数据通信的技术领域,尤其是涉及一种安装驱动程序的方 法、装置和服务器。
背景技术
服务器是一个高度协作化的软硬件综合产品,其组成部件通常都来自 于不同的厂商,例如,服务器上的CPU等关键芯片、网卡、存储控制器以 及操作系统等,都可以由不同的厂商提供;由于组成服务器的芯片或者部 件来自于不同厂商,就决定了服务器上的各种设备驱动程序(Device Driver) 也由各个厂商提供。
通常,设备驱动程序是一种可以使计算机和设备通信的特殊程序,是 软件和硬件的接口,操作系统通过这个接口控制硬件设备的工作,假如某 设备的驱动程序未能正确安装,该设备可能就无法正常工作,如果安装了 不正确版本的驱动程序,也可能会造成设备功能的缺失或者性能的降低。
发明内容
有鉴于此,本公开的目的在于提供一种安装驱动程序的方法、装置和 服务器,实现驱动程序的自动安装,以提高服务器的易用性和用户的体验 度,减少由于未安装驱动或者安装了不正确的驱动程序而导致的问题。
为了实现上述目的,本公开采用的技术方案如下:
第一方面,本公开提供了一种安装驱动程序的方法,该方法应用于服 务器,服务器配置有外部存储介质,外部存储介质预先存储有服务器对应 部件的驱动程序和驱动安装控制程序;该方法包括:如果服务器的基本输 入输出系统BIOS在自检过程中检查到新的硬盘启动项,查找硬盘启动项的 操作系统对应的目标部件;调取操作系统的自启动脚本,并在自启动脚本 中添加调用驱动安装控制程序的命令;启动操作系统后,运行自启动脚本中添加的命令以触发驱动安装控制程序被执行;通过驱动安装控制程序从 外部存储介质获取目标部件的驱动程序,并安装驱动程序。
第二方面,本公开提供了一种安装驱动程序的装置,该装置设置于服 务器,服务器配置有外部存储介质,外部存储介质预先存储有服务器对应 部件的驱动程序和驱动安装控制程序;该装置包括:查找模块,用于如果 服务器的基本输入输出系统BIOS在自检过程中检查到新的硬盘启动项,查 找硬盘启动项的操作系统对应的目标部件;添加模块,用于调取操作系统 的自启动脚本,并在自启动脚本中添加调用驱动安装控制程序的命令;运行模块,用于启动操作系统后,运行自启动脚本中添加的命令以触发驱动 安装控制程序被执行;安装模块,用于通过驱动安装控制程序从外部存储 介质获取目标部件的驱动程序,并安装驱动程序。
第三方面,本公开提供了一种服务器,该服务器配置有外部存储介质, 外部存储介质预先存储有服务器对应部件的驱动程序和驱动安装控制程 序;服务器包括处理器和存储器,存储器存储有能够被处理器执行的机器 可执行指令,处理器执行机器可执行指令以实现上述第一方面所述的方法。
第四方面,本公开实施方式提供了一种机器可读存储介质,所述机器 可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和 执行时,机器可执行指令促使处理器实现上述第一方面所述的方法。
本公开实施方式带来了以下有益效果:
本公开实施方式提供了一种安装驱动程序的方法、装置和服务器,可 以在BIOS自检过程中检查到新的硬盘启动项时,查找硬盘启动项的操作系 统对应的目标部件,并在操作系统的自启动脚本中添加调用驱动安装控制 程序的命令,以便于在驱动安装控制程序被执行时从外部存储介质获取目 标部件的驱动程序,并安装该驱动程序。上述通过查找目标部件的驱动程 序,并安装的方式有效避免了驱动程序未安装或者安装了错误版本的驱动 程序导致的服务器无法使用的问题,不仅提高了服务器的使用性能,也在 一定程度上提高了用户的体验度。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征 和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述 技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实 施方式,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下 面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普 通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其他的附图。
图1为本公开实施方式提供的一种服务器的内部结构示意图;
图2为本公开实施方式提供的一种安装驱动程序的方法的流程图;
图3为本公开实施方式提供的一种安装驱动程序的装置的结构示意图;
图4为本公开实施方式提供的另一种安装驱动程序的装置的结构示意 图;
图5为本公开实施方式提供的一种服务器的结构示意图。
具体实施方式
为使本公开实施方式的目的、技术方案和优点更加清楚,下面将结合 附图对本公开的技术方案进行清楚、完整地描述,显然,所描述的实施方 式是本公开一部分实施方式,而不是全部的实施方式。基于本公开中的实 施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有 其他实施方式,都属于本公开保护的范围。
通常,服务器的厂商都会提供软件安装操作系统,操作系统安装后自 动打上驱动程序;比如,通过服务器管理软件工具等,能够自动安装驱动 程序,这些服务器管理软件工具控制了服务器上操作系统的安装过程,因 此可以在操作系统安装结束时,自动的插入驱动安装的过程。
目前,可以使用PXE(Preboot eXecute Environment,预启动执行环境) 自动安装脚本等方式来实现驱动程序的自动化安装过程,但是,不同服务 器的厂商提供的服务器管理软件工具方案也不同,因此,用户需要学习和 熟悉不同厂商服务器管理软件工具的使用。对于一些用户,由于没有较高 水平的IT技术团队等原因,很容易出现因未安装正确的驱动程序而导致服 务器无法使用的问题,或者,一些客户可能并不熟悉服务器管理软件工具, 以及其解决方案,而在实际使用时,这些服务器管理软件工具并不是全自 动的,需要人工进行触发和干预,也容易出现未安装正确的驱动程序的现 象。
并且,如果通过这些服务器管理软件工具安装操作系统,用户难以根 据现有的PXE操作系统部署环境进行自动和批量的部署系统,不仅降低了 服务器的使用性能,也在一定程度上降低了用户的体验度。
基于此,本公开实施方式提供了一种安装驱动程序的方法、装置和服 务器,以提高服务器的使用性能和用户的体验度。
为便于对本实施方式进行理解,首先对本公开实施方式所公开的一种 安装驱动程序的方法进行详细介绍。
本公开实施方式提供了一种安装驱动程序的方法,该方法应用于服务 器,该服务器配置有外部存储介质(例如flash),外部存储介质预先存储有 服务器对应部件的驱动程序和驱动安装控制程序;
为了描述方便,图1示出了一种服务器的内部结构示意图,包括RAID (RedundantArray of Independent Disks,独立磁盘冗余阵列)控制器,第一 CPU和第二CPU,BMC(Baseboard Management Controller,基板管理控制 器)、PCH(Platform ControllerHub,集成南桥)芯片,以及外部存储介质 和BIOS(Basic Input Output System,基本输入输出系统)的存储介质。
具体地,上述外部存储介质可以直接挂载在PCH芯片下,也可以如图 1所示挂载在BCM下,该外部存储介质中预先存储有服务器对应部件的驱 动程序和驱动安装控制程序,BIOS的存储介质挂载在PCH芯片下,服务 器内部的各个结构之间的连接关系如图1所示,具体实现时,每个结构之 间的通信连接接口,以及接口协议可以参考相关资料实现,本公开实施方 式对此不进行限制。
应当理解,图1仅仅是服务器内部结构的一种可选的示意图,而不是 唯一的结构图,在其他实施方式中,服务器还可以有其他的结构,具体以 实际使用情况为准,本公开实施方式对此不进行限制。
基于图1所示的示意图,图2示出了一种安装驱动程序的方法的流程 图,如图2所示,该方法应用于服务器,该服务器配置的外部存储介质中 预先存储有对应部件的驱动程序和驱动安装控制程序,具体包括如下步骤:
步骤S202,如果服务器的基本输入输出系统BIOS在自检过程中检查 到新的硬盘启动项,查找该硬盘启动项的操作系统对应的目标部件;
通常,BIOS是一组固化到服务器主板上一个ROM芯片上的程序,它 保存着服务器最重要的基本输入输出的程序、系统设置信息、开机后自检 程序和系统自启动程序,其主要功能是为计算机提供最底层的、最直接的 硬件设置和控制,同时,BIOS是软件和硬件之间的接口和桥梁。
BIOS用以完成服务器的开机自检过程。该开机自检过程通常有两个阶 段:EarlyPOST(Power-On Self Test,加电后自检)和POST。Early POST 过程中,会对CPU、用户程序接口、存储器以及PCH芯片等信息进行初始 化,初始化后的信息将会保存在一些寄存器或者内存中,Early POST通过 检验后进入POST自检过程,POST自检对所有的外接及内嵌Option ROM (随机存储)进行初始化,同时运行BIOS可执行的相关程序。
步骤S204,调取上述操作系统的自启动脚本,并在该自启动脚本中添 加调用驱动安装控制程序的命令;
通常,该自启动脚本可以包含操作系统中各种服务的启动和停止脚本, 以及操作系统启动之后执行的脚本,以上述操作系统为CentOS70为例,上 述自启动脚本可以是/etc/init.d/rc.local文件,当上述操作系统为其他操作系 统时,上述自启动脚本还可以是其他的文件,本公开实施方式对此不进行 限制。
步骤S206,启动操作系统后,运行上述自启动脚本中添加的命令以触 发驱动安装控制程序被执行;
步骤S208,通过驱动安装控制程序从外部存储介质获取上述目标部件 的驱动程序,并安装驱动程序。
本公开实施方式提供了一种安装驱动程序的方法,可以在BIOS自检过 程中检查到新的硬盘启动项时,查找硬盘启动项的操作系统对应的目标部 件,并在操作系统的自启动脚本中添加调用驱动安装控制程序的命令,以 便于在驱动安装控制程序被执行时从外部存储介质获取目标部件的驱动程 序,并安装该驱动程序。上述通过查找目标部件的驱动程序,并安装的方 式有效避免了驱动程序未安装或者安装了错误版本的驱动程序导致的服务 器无法使用的问题,不仅提高了服务器的使用性能,也在一定程度上提高 了用户的体验度。
如果调用驱动安装控制程序的命令一直保存在自启动脚本中,下次服 务器重启时,该调用驱动安装控制程序的命令会被再次运行,可能会重复 安装驱动程序,因此可以在执行完上述方法后,将该调用驱动安装控制程 序的命令删除,具体删除方式可以手动或者自动删除。基于此,上述方法 的步骤S208之后,该方法还包括:如果安装完上述驱动程序,通过驱动安 装控制程序删除自启动脚本中添加的命令。该过程可以自动删除自启动脚本中添加的上述命令,避免服务器重启时该命令被再次运行,进而避免了 驱动安装控制程序被重复执行进行驱动程序的安装过程,优化了服务器的 性能。
具体实现时,上述外部存储介质可以是非易失性存储介质,如FLASH 存储器等,其内存大小可以根据实际存储情况进行设置,本公开实施方式 对此不进行限制。
考虑到服务器通常都配置有BMC,因此上述外部存储介质可以与BMC 连接,BMC是服务器的带外管理系统,基于IPMI(Intelligent Platform Management Interface,智能平台管理接口)协议来智能的监控和管理服务 器。带外管理系统通常通过专门的管理通道实现对设备的管理,将管理数 据与业务数据分开,为管理数据建立独立通道。管理数据与业务数据分离, 可以提高管理的效率与可靠性,也有利于提高管理数据的安全性。
为了便于查找外部存储介质中存储有哪些驱动程序以及该驱动程序适 用于哪些操作系统和部件安装,上述外部存储介质还存储有OS(Operating System,操作系统)驱动信息表,该OS驱动信息表存储有操作系统、部件 及驱动程序的版本号间的对应关系,如表1所示。
其中,在该表中,OS版本指操作系统的版本号,通常指硬盘启动项对 应的操作系统的版本号;部件指需要安装驱动程序的部件,驱动版本指对 部件需要安装的驱动程序对应的版本号。
表1:
OS版本 | 部件 | 驱动版本 |
CentOS70 | Intel X720 | 5.01 |
CentOS70 | PMC 8060 | 32762.1 |
CentOS72 | PMC 8060 | 32763.1 |
CentOS72 | Intel X720 | 5.01 |
优选地,上述外部存储介质可以是非易失性存储介质,可以保障在外 部存储介质掉电的情况下,该外部存储介质中保存的数据也不会丢失,通 常,外部存储介质预先存储的对应部件的驱动程序、驱动安装控制程序, 以及OS驱动信息表等数据可以在服务器出厂时写入,并可以由服务器厂商 的工作人员进行维护和更新。
基于上述OS驱动信息表,上述实施方式的步骤S202中查找硬盘启动 项的操作系统对应的目标部件的过程可以包括:通过BMC获取OS驱动信 息表;从OS驱动信息表中查找硬盘启动项的操作系统对应的部件;检查服 务器上是否有该部件;如果有,将该部件确定为硬盘启动项的操作系统对 应的目标部件。
为了实现从外部存储介质中获取到目标部件的驱动程序,通常,在自 启动脚本中添加调用驱动安装控制程序的命令之后,还可以通知BMC将外 部存储介质挂载至服务器的PCH上,例如,BMC可以将上述外部存储介 质通过USB接口挂载至服务器的PCH上,以建立PCH至外部存储介质间 的通信通道。
当通过上述通信通道获取到目标部件的驱动程序后,可以进行安装驱 动程序的过程,具体地,在安装驱动程序过程中,上述驱动安装控制程序 还可以检查当前操作系统中目标部件的驱动程序的安装情况,如果未安装 驱动程序,则自动对获取到的目标部件的驱动程序进行安装。对于已安装 的目标部件的驱动程序,如果目标部件已安装的驱动程序的版本低于获取 的驱动程序,则使用获取的驱动程序升级已安装的驱动程序。
为了便于对上述安装驱动程序的方法进行理解,下面结合图1,以外部 存储介质为4G大小的FLASH存储器(简称4G FLASH)为例进行说明, 该4G FLASH挂载在BMC下,用于保存对应部件的驱动程序和驱动安装控 制程序,在4G FLASH中还保存有OS驱动信息表,如上述表1所示的OS 驱动信息表,具体地,包括以下过程:
(1)服务器开机后,执行BIOS的自检过程,检查是否存在新的硬盘 启动项。
通常,BIOS的外部存储器(图1所示的BIOS存储介质)中保存有硬 盘启动项信息表,用于记录服务器每次启动的硬盘、硬盘安装的操作系统 和操作系统对应的驱动程序是否已安装的标识信息间的对应关系。表2示 出了一种硬盘启动项信息表,如表2所示:
表2
OS版本 | 标识符 | 驱动是否安装 |
CentOS70 | 5000CCA0450B09C | √ |
CentOS72 | 4000CCA0450B09B |
其中,OS版本用于记录操作系统的版本,如表2中的CentOS70和 CentOS72。
标识符用于记录硬盘的标识符,可以是硬盘的序列号等标识信息;
驱动是否安装用于记录该操作系统对应的驱动程序是否安装,可以用 √表示安装过,空表示未安装过。
因此,当服务器启动时,如果BIOS检查到硬盘启动项信息表中存在未 安装驱动程序的表项,可以将该表项对应的硬盘确定为新的硬盘启动项;
如果完成驱动程序安装过程,还可以将该表项对应的标识信息设置为 已安装驱动程序的标识。如果BIOS在自检过程中未检查到新的硬盘启动 项,则结束上述安装驱动程序的过程,服务器正常启动。
具体地,如果BIOS检查出的硬盘启动项不在这个表格里面,则确定有 新的硬盘启动项,并将该新的硬盘启动项的信息加入到上述表格中;如果 启动时发现表格中某个硬盘启动项不存在了,则删除该硬盘启动项的信息;
(2)如果BIOS检查出新的硬盘启动项,则获取上述OS驱动信息表, 以查找目标部件。具体实现时,基于上述OS驱动信息表查找目标部件的过 程,可以看作是对OS驱动信息表进行筛选的过程,以上述表2所示的OS 驱动信息为例,通常,先从OS版本一列进行筛选,BIOS在自检过程中检 查到新的硬盘启动项后,可以提取出该OS驱动信息表,以及当前新的硬盘 启动项的OS版本,假设,此时OS版本为CentOS70,则针对OS版本一列 的筛选会得出以下结果,以表3来表示,如表3所示:
表3:
OS版本 | 部件 | 驱动版本 |
CentOS70 | Intel X720 | 5.01 |
CentOS70 | PMC 8060 | 32762.1 |
当筛选完OS版本一列后,继续筛选部件所在的一列,假设服务器上存 在PMC 8060的部件,即PMC 8060卡,此时,如果BIOS检查出服务器上 有该部件,则可以对表3进一步筛选得出表4,如表4所示:
表4:
OS版本 | 部件 | 驱动版本 |
CentOS70 | PMC 8060 | 32762.1 |
此时表4中的部件PMC 8060为当前硬盘启动项的操作系统对应的目标 部件,该目标部件对应的驱动版本号为32762.1。
(3)当确定出目标部件后,调取操作系统的自启动脚本,并在自启动 脚本中添加调用驱动安装控制程序的命令;以CentOS70为例,其自启动脚 本可以是操作系统的/etc/init.d/rc.local文件,找到该文件后,可以在该文件 最后加上一句执行BMC 4G FLASH下驱动安装控制程序的命令;以使操作 系统启动后,运行该添加的命令以触发驱动安装控制程序被执行;
同时,为了能够获取到4G FLASH中保存的驱动程序,在添加完调用 驱动安装控制程序的命令之后,还可以通知BMC将外部存储介质通过USB 接口挂载至服务器的PCH上,以建立PCH至外部存储介质间的通信通道。
(4)启动上述操作系统后,自动执行init.d/rc.local脚本,从而触发BMC 下挂载的4G FLASH中的驱动安装控制程序被执行;驱动安装控制程序检 查该系统中部件的驱动版本,和4G FLASH中记录的版本比较,如果未安 装驱动或者版本比4G FLASH中记录的低,则自动升级驱动;升级完成后, 删除自启动脚本中添加的调用驱动安装控制程序的命令,并通知BMC升级 完成事件,BMC将4G FLASH断开;
由于BIOS在每次服务器启动时都会记录硬盘启动项信息表,因此,当 服务器重启时,上述安装驱动程序的过程并不会被执行,其检查硬盘启动 项信息表,以及驱动程序的安装过程仅执行一次。
考虑到一些用户可以进行驱动程序的自主安装和维护,因此,还可以 在服务器上设置一个开关标识,使得可以对上述安装驱动程序的过程进行 关闭或者开启。具体地,可以在BMC或BIOS上配置安装驱动程序的开关 标识;因此,上述方法还包括:服务器开机后,检查开关标识是否为打开 标识,如果是,执行查找上述硬盘启动项的操作系统对应的目标部件的步 骤。
通常,对于无需自主安装驱动程度的用户,如中小客户群体,可以将 上述开关标识定制为开启状态,即BIOS在自检过程中自动检查新的硬盘启 动项,执行本公开实施方式所述的安装驱动程序的方法,对于需要自主安 装驱动程序的用户,如大客户群体,可以将该开关标识定制为关闭状态, 以便于用户进行操作系统的部署。
本公开实施方式提供的上述安装驱动程序的方法,可以有效解决服务 器驱动程序自动检测和安装的问题,避免用户未主动正确的安装服务器的 驱动程序而导致服务器无法使用的问题,在提高服务器的使用性能的同时 吗,也在一定程度上提高了用户的体验度。
对应于上述实施方式提供的安装驱动程序的方法,本公开实施方式还 提供了一种安装驱动程序的装置,该装置设置于服务器,服务器配置有外 部存储介质,外部存储介质预先存储有服务器对应部件的驱动程序和驱动 安装控制程序;图3示出了一种安装驱动程序的装置的结构示意图,如图3 所示,该装置包括:
查找模块30,用于如果服务器的基本输入输出系统BIOS在自检过程 中检查到新的硬盘启动项,查找硬盘启动项的操作系统对应的目标部件;
添加模块32,用于调取操作系统的自启动脚本,并在自启动脚本中添 加调用驱动安装控制程序的命令;
运行模块34,用于启动操作系统后,运行自启动脚本中添加的命令以 触发驱动安装控制程序被执行;
安装模块36,用于通过驱动安装控制程序从外部存储介质获取目标部 件的驱动程序,并安装驱动程序。
具体实现时,上述外部存储介质与服务器的基板管理控制器BMC连 接;外部存储介质还存储有OS驱动信息表,OS驱动信息表存储有操作系 统和部件间的对应关系;
因此,上述查找模块30用于:通过BMC获取OS驱动信息表;从OS 驱动信息表中查找硬盘启动项的操作系统对应的部件;检查服务器上是否 有该部件;如果有,将该部件确定为硬盘启动项的操作系统对应的目标部 件。
在图3所示安装驱动程序的装置的基础上,图4示出了另一种安装驱 动程序的装置的结构示意图,除图3所示的结构外,上述装置还包括:
删除模块38,用于当安装完驱动程序后,通过驱动安装控制程序删除 自启动脚本中添加的命令。
通知模块40,用于在自启动脚本中添加调用驱动安装控制程序的命令 之后,通知BMC将外部存储介质挂载至服务器的PCH上,以建立PCH至 外部存储介质间的通信通道。
具体实现时,上述BIOS的外部存储器中保存有硬盘启动项信息表,用 于记录服务器每次启动的硬盘、硬盘安装的操作系统和操作系统对应的驱 动程序是否已安装的标识信息间的对应关系;
因此,上述装置还包括:
确定模块42,用于当服务器启动时,如果BIOS检查到硬盘启动项信 息表中存在未安装驱动程序的表项,将表项对应的硬盘确定为新的硬盘启 动项;
标记模块44,用于如果完成驱动程序安装过程,将表项对应的标识信 息设置为已安装驱动程序的标识。
本公开实施方式提供的安装驱动程序的装置,与上述实施方式提供的 安装驱动程序的方法具有相同的技术特征,所以也能解决相同的技术问题, 达到相同的技术效果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述 描述的装置的具体工作过程,可以参考前述方法实施方式中的对应过程, 在此不再赘述。
本公开实施方式还提供了一种服务器,该服务器配置有外部存储介质, 外部存储介质预先存储有服务器对应部件的驱动程序和驱动安装控制程 序;服务器包括处理器和存储器,存储器存储有能够被所述处理器执行的 机器可执行指令,所述处理器执行所述机器可执行指令以实现上述安装驱 动程序的方法。
本公开实施方式还提供了一种机器可读存储介质,该机器可读存储介 质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时, 所述机器可执行指令促使所述处理器实现上述安装驱动程序的方法。
参见图5,本公开实施方式还提供一种服务器的结构示意图,包括:处 理器500,存储器501,总线502和通信接口503,所述处理器500、通信 接口503和存储器501通过总线502连接;处理器500用于执行存储器501 中存储的可执行模块,例如计算机程序。
其中,存储器501可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至 少一个磁盘存储器。通过至少一个通信接口503(可以是有线或者无线)实 现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广 域网,本地网,城域网等。
总线502可以是ISA总线、PCI总线或EISA总线等。所述总线可以分 为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向 箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器501用于存储程序,处理器500在接收到执行指令后, 执行所述程序,前述本公开任一实施方式揭示的安装驱动程序的装置所执 行的方法可以应用于处理器500中,或者由处理器500实现。
处理器500可能是一种集成电路芯片,具有信号的处理能力。在实现 过程中,上述方法的各步骤可以通过处理器500中的硬件的集成逻辑电路 或者软件形式的指令完成。上述的处理器500可以是通用处理器,包括中 央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing, 简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可 以实现或者执行本公开实施方式中的公开的各方法、步骤及逻辑框图。通 用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结 合本公开实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执 行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块 可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦 写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存 储器501,处理器500读取存储器501中的信息,结合其硬件完成上述方法 的步骤。
需要说明的是,上述各方法实施方式均采用递进的方式描述,每个实 施方式重点说明的都是与其他实施方式的不同之处,各个实施方式之间相 同相似的部分互相参见即可。
本公开实施方式所提供的安装驱动程序的方法、装置和服务器的计算 机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码 包括的指令可用于执行前面方法实施方式中所述的方法,具体实现可参见 方法实施方式,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使 用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公 开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的 部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储 介质中,包括若干指令用以使得一台计算机终端(可以是个人计算机,服 务器,或者网络终端等)执行本公开各个实施方式所述方法的全部或部分 步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM, Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、 磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施方式,仅为本公开的具体实施方式,用以 说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此, 尽管参照前述实施方式对本公开进行了详细的说明,本领域技术人员应当 理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依 然可以对前述实施方式所记载的技术方案进行修改或可轻易想到变化,或 者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施方式技术方案的精神和范围,都应 涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的 保护范围为准。
Claims (10)
1.一种安装驱动程序的方法,其特征在于,应用于服务器,所述服务器配置有外部存储介质,所述外部存储介质预先存储有所述服务器对应部件的驱动程序和驱动安装控制程序;所述方法包括:
如果所述服务器的基本输入输出系统BIOS在自检过程中检查到新的硬盘启动项,查找所述硬盘启动项的操作系统对应的目标部件;
调取所述操作系统的自启动脚本,并在所述自启动脚本中添加调用所述驱动安装控制程序的命令;
启动所述操作系统后,运行所述自启动脚本中添加的所述命令以触发所述驱动安装控制程序被执行;
通过驱动安装控制程序从所述外部存储介质获取所述目标部件的驱动程序,并安装所述驱动程序;
所述外部存储介质与所述服务器的基板管理控制器BMC连接;所述外部存储介质还存储有OS驱动信息表,所述OS驱动信息表存储有操作系统和部件间的对应关系;
查找所述硬盘启动项的操作系统对应的目标部件的步骤包括:
通过所述BMC获取所述OS驱动信息表;
从所述OS驱动信息表中查找所述硬盘启动项的操作系统对应的部件;
检查所述服务器上是否有所述部件;如果有,将所述部件确定为所述硬盘启动项的操作系统对应的目标部件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果安装完所述驱动程序,通过所述驱动安装控制程序删除所述自启动脚本中添加的所述命令。
3.根据权利要求1所述的方法,其特征在于,在所述自启动脚本中添加调用所述驱动安装控制程序的命令之后,所述方法还包括:
通知所述BMC将所述外部存储介质挂载至所述服务器的PCH上,以建立所述PCH至所述外部存储介质间的通信通道。
4.根据权利要求1所述的方法,其特征在于,所述BMC或BIOS上还配置有安装驱动程序的开关标识;所述方法还包括:
所述服务器开机后,检查所述开关标识是否为打开标识,如果是,执行所述查找所述硬盘启动项的操作系统对应的目标部件的步骤。
5.根据权利要求1所述的方法,其特征在于,所述BIOS的外部存储器中保存有硬盘启动项信息表,用于记录所述服务器每次启动的硬盘、所述硬盘安装的操作系统和所述操作系统对应的驱动程序是否已安装的标识信息间的对应关系;
所述方法还包括:
当所述服务器启动时,如果BIOS检查到所述硬盘启动项信息表中存在未安装驱动程序的表项,将所述表项对应的硬盘确定为新的硬盘启动项;
如果完成所述驱动程序安装过程,将所述表项对应的标识信息设置为已安装驱动程序的标识。
6.一种安装驱动程序的装置,其特征在于,设置于服务器,所述服务器配置有外部存储介质,所述外部存储介质预先存储有所述服务器对应部件的驱动程序和驱动安装控制程序;所述装置包括:
查找模块,用于如果所述服务器的基本输入输出系统BIOS在自检过程中检查到新的硬盘启动项,查找所述硬盘启动项的操作系统对应的目标部件;
添加模块,用于调取所述操作系统的自启动脚本,并在所述自启动脚本中添加调用所述驱动安装控制程序的命令;
运行模块,用于启动所述操作系统后,运行所述自启动脚本中添加的所述命令以触发所述驱动安装控制程序被执行;
安装模块,用于通过驱动安装控制程序从所述外部存储介质获取所述目标部件的驱动程序,并安装所述驱动程序;
所述外部存储介质与所述服务器的基板管理控制器BMC连接;所述外部存储介质还存储有OS驱动信息表,所述OS驱动信息表存储有操作系统和部件间的对应关系;
所述查找模块用于:
通过所述BMC获取所述OS驱动信息表;
从所述OS驱动信息表中查找所述硬盘启动项的操作系统对应的部件;
检查所述服务器上是否有所述部件;如果有,将所述部件确定为所述硬盘启动项的操作系统对应的目标部件。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
删除模块,用于安装完所述驱动程序后,通过所述驱动安装控制程序删除所述自启动脚本中添加的所述命令。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
通知模块,用于在所述自启动脚本中添加调用所述驱动安装控制程序的命令之后,通知所述BMC将所述外部存储介质挂载至所述服务器的PCH上,以建立所述PCH至所述外部存储介质间的通信通道。
9.根据权利要求6所述的装置,其特征在于,所述BIOS的外部存储器中保存有硬盘启动项信息表,用于记录所述服务器每次启动的硬盘、所述硬盘安装的操作系统和所述操作系统对应的驱动程序是否已安装的标识信息间的对应关系;
所述装置还包括:
确定模块,用于当所述服务器启动时,如果BIOS检查到所述硬盘启动项信息表中存在未安装驱动程序的表项,将所述表项对应的硬盘确定为新的硬盘启动项;
标记模块,用于如果完成所述驱动程序安装过程,将所述表项对应的标识信息设置为已安装驱动程序的标识。
10.一种服务器,其特征在于,所述服务器配置有外部存储介质,所述外部存储介质预先存储有所述服务器对应部件的驱动程序和驱动安装控制程序;
所述服务器包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810830613.6A CN109101247B (zh) | 2018-07-25 | 2018-07-25 | 安装驱动程序的方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810830613.6A CN109101247B (zh) | 2018-07-25 | 2018-07-25 | 安装驱动程序的方法、装置和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109101247A CN109101247A (zh) | 2018-12-28 |
CN109101247B true CN109101247B (zh) | 2022-02-11 |
Family
ID=64847598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810830613.6A Active CN109101247B (zh) | 2018-07-25 | 2018-07-25 | 安装驱动程序的方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109101247B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111399862A (zh) * | 2020-03-13 | 2020-07-10 | 深圳忆联信息系统有限公司 | Windows缺失驱动的批量安装方法、装置和计算机设备 |
CN111488157A (zh) * | 2020-04-17 | 2020-08-04 | 苏州浪潮智能科技有限公司 | 一种服务器装机系统及方法 |
CN111949279A (zh) * | 2020-07-28 | 2020-11-17 | 山东超越数控电子股份有限公司 | 多块同款存储盘服务器安装操作系统到固定位置盘的方法 |
CN112306510A (zh) * | 2020-10-30 | 2021-02-02 | 深圳忆联信息系统有限公司 | 驱动的批量下载布署方法、装置、计算机设备及存储介质 |
CN116541853B (zh) * | 2023-07-06 | 2023-09-19 | 苏州浪潮智能科技有限公司 | 基板管理控制器固件的管理方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399696A (zh) * | 2007-09-24 | 2009-04-01 | 国际商业机器公司 | 通过网络为客户机安装软件的方法、系统及相应的客户机 |
US8321931B2 (en) * | 2008-03-31 | 2012-11-27 | Intel Corporation | Method and apparatus for sequential hypervisor invocation |
CN104239211A (zh) * | 2014-09-26 | 2014-12-24 | 广东欧珀移动通信有限公司 | 一种移动终端快速进入测试模式的方法及其装置 |
CN104679438A (zh) * | 2013-11-30 | 2015-06-03 | 鸿富锦精密工业(深圳)有限公司 | Sas接口卡的驱动安装系统及方法 |
CN105426184A (zh) * | 2015-11-12 | 2016-03-23 | 浪潮电子信息产业股份有限公司 | 一种批量设置整机柜Linux系统静态IP的方法 |
CN107066305A (zh) * | 2017-05-11 | 2017-08-18 | 北京百度网讯科技有限公司 | 用于更新服务器的服务器固件的方法和装置以及服务器 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1755628B (zh) * | 2004-09-30 | 2010-04-07 | 联想(北京)有限公司 | 操作系统启动过程中自动安装软件的方法 |
CN101276281A (zh) * | 2007-03-29 | 2008-10-01 | 英业达股份有限公司 | 驱动程序的安装方法 |
JP6115515B2 (ja) * | 2014-05-08 | 2017-04-19 | コニカミノルタ株式会社 | プリンタドライバ及びプリンタドライバの禁則処理方法 |
CN105262608B (zh) * | 2015-09-01 | 2018-09-18 | 北京百度网讯科技有限公司 | 用于网络服务的监控方法和装置 |
CN106325859B (zh) * | 2016-08-12 | 2020-01-21 | 华为技术有限公司 | 安装驱动的方法和服务器 |
CN107977210A (zh) * | 2016-10-19 | 2018-05-01 | 中兴通讯股份有限公司 | 一种驱动安装方法及装置 |
CN107608680A (zh) * | 2017-09-06 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种批量安装定制化内核和驱动的方法及系统 |
CN107741854A (zh) * | 2017-10-25 | 2018-02-27 | 合肥联宝信息技术有限公司 | 一种电子设备的网卡驱动的安装方法及装置 |
-
2018
- 2018-07-25 CN CN201810830613.6A patent/CN109101247B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399696A (zh) * | 2007-09-24 | 2009-04-01 | 国际商业机器公司 | 通过网络为客户机安装软件的方法、系统及相应的客户机 |
US8321931B2 (en) * | 2008-03-31 | 2012-11-27 | Intel Corporation | Method and apparatus for sequential hypervisor invocation |
CN104679438A (zh) * | 2013-11-30 | 2015-06-03 | 鸿富锦精密工业(深圳)有限公司 | Sas接口卡的驱动安装系统及方法 |
CN104239211A (zh) * | 2014-09-26 | 2014-12-24 | 广东欧珀移动通信有限公司 | 一种移动终端快速进入测试模式的方法及其装置 |
CN105426184A (zh) * | 2015-11-12 | 2016-03-23 | 浪潮电子信息产业股份有限公司 | 一种批量设置整机柜Linux系统静态IP的方法 |
CN107066305A (zh) * | 2017-05-11 | 2017-08-18 | 北京百度网讯科技有限公司 | 用于更新服务器的服务器固件的方法和装置以及服务器 |
Non-Patent Citations (2)
Title |
---|
基于XScale和Linux的嵌入式IPv6 VOD终端设计与实现;易志栋;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20060915;第I136-370页 * |
自动安装驱动程序;让往事随风;《https://www.cnblogs.com/MaxWoods/p/4156650.html》;20141211;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109101247A (zh) | 2018-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109101247B (zh) | 安装驱动程序的方法、装置和服务器 | |
US8751783B2 (en) | Booting computing devices with EFI aware operating systems | |
CN105094927B (zh) | 一种设备固件升级方法和装置 | |
CN110928743B (zh) | 一种计算系统、自动诊断方法及存储有其指令的介质 | |
CN105917306B (zh) | 用于配置系统固件配置数据的系统和方法 | |
US20200394144A1 (en) | Information processing system, information processing device, bios updating method for information processing device, and bios updating program for information processing device | |
CN106775674B (zh) | 一种基于通用引导加载程序的设备及其启动方法 | |
CN110647333A (zh) | 固件升级方法及配置成对其中的固件进行升级的设备 | |
CN112328358B (zh) | 一种基于虚拟机的双系统启动方法及存储介质 | |
CN112612524A (zh) | Linux系统启动的方法、装置、设备及存储介质 | |
CN103970564A (zh) | 嵌入式操作系统自动修复升级功能的方法及其系统 | |
CN110780942A (zh) | 系统启动方法、装置、节点设备及计算机可读存储介质 | |
CN116932010B (zh) | 系统固件升级方法、装置及服务器 | |
CN108345464A (zh) | 一种安卓系统的启动方法及安卓车机 | |
CN111124509B (zh) | 一种服务器启动方法与装置 | |
CN111090546B (zh) | 一种操作系统重启方法、装置、设备及可读存储介质 | |
CN117130672A (zh) | 服务器启动流程控制方法、系统、终端及存储介质 | |
CN113190256B (zh) | 一种升级方法、装置及设备 | |
CN110347558A (zh) | 一种服务器设备故障诊断方法和装置以及设备 | |
CN108958823B (zh) | 修改基本输入输出系统设定值的方法 | |
CN104834574B (zh) | 一种解决系统分区损坏的方法及装置 | |
CN114741119A (zh) | 系统的启动方法、装置、计算机设备和存储介质 | |
CN114237722A (zh) | 一种系统的启动方法、装置、设备及工程车辆 | |
CN113672448A (zh) | BootLoader启动流程的监控方法、装置及存储介质 | |
US20240012572A1 (en) | Operationalization of memories using memory information sets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310000 11/F, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Xinhua Sanxin Information Technology Co., Ltd. Address before: 310000 11/F, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: Huashan Information Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |