CN109766105A - 驱动程序安装方法、装置、服务器及计算机可读存储介质 - Google Patents
驱动程序安装方法、装置、服务器及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109766105A CN109766105A CN201811584474.XA CN201811584474A CN109766105A CN 109766105 A CN109766105 A CN 109766105A CN 201811584474 A CN201811584474 A CN 201811584474A CN 109766105 A CN109766105 A CN 109766105A
- Authority
- CN
- China
- Prior art keywords
- driver
- mirror image
- operating system
- identification information
- equipment identification
- 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.)
- Pending
Links
- 238000009434 installation Methods 0.000 title claims abstract description 100
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000004590 computer program Methods 0.000 claims description 16
- 238000005192 partition Methods 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 238000011900 installation process Methods 0.000 description 10
- 230000006978 adaptation Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 241000512668 Eunectes Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 235000015170 shellfish Nutrition 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本公开提出一种驱动程序安装方法、装置、服务器及计算机可读存储介质,涉及计算机技术领域。该方法包括:获取挂载的驱动镜像中与挂载的操作系统镜像的类型对应的驱动程序,获取驱动程序对应的设备标识信息,当设备标识信息与服务器的硬件配置信息匹配时,将设备标识信息对应的驱动程序确定为可安装驱动程序,以供用户选择安装,当操作系统安装完成时,对用户选择的可安装驱动程序进行安装。如此,用户仅需根据自身需求选择匹配到的可安装驱动程序,当操作系统安装完成时,自动安装用户选择的驱动程序,避免了新安装操作系统后需用户自行搜索、下载和安装驱动程序的繁琐,相比现有技术减少了人工等待时间,提高了安装效率,用户体验较好。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种驱动程序安装方法、装置、服务器及计算机可读存储介质。
背景技术
目前,在为服务器等设备安装操作系统(Operating System,OS)后,为了能使其正常地工作,需要在新的操作系统中安装必要的驱动程序,设备的硬件配置不同时,设备所需要安装的驱动程序也不尽相同,并且在不同的操作系统下,驱动程序的安装方法也大不相同。若通过手动安装驱动程序的方式,需要用户了解设备的具体硬件配置,并自行搜索和下载设备硬件适配的驱动程序,整个安装过程比较繁琐,安装效率低,用户体验较差。
发明内容
本公开的目的在于提供一种驱动程序安装方法、装置、服务器及计算机可读存储介质,以在操作系统的安装过程中自动匹配出服务器的硬件设备适配的驱动程序供用户选择安装,提高驱动程序的安装效率。
为了实现上述目的,本公开采用的技术方案如下:
第一方面,本公开提出一种驱动程序安装方法,应用于服务器,所述方法包括:获取挂载的驱动镜像中与挂载的操作系统镜像的类型对应的驱动程序;获取所述驱动程序对应的设备标识信息;当所述设备标识信息与所述服务器的硬件配置信息匹配时,将所述设备标识信息对应的驱动程序确定为可安装驱动程序,以供用户选择安装;当操作系统安装完成时,对用户选择的可安装驱动程序进行安装。
第二方面,本公开还提出一种驱动程序安装装置,应用于服务器,所述装置包括:驱动程序获取模块,用于获取挂载的驱动镜像中与挂载的操作系统镜像的类型对应的驱动程序;标识信息获取模块,用于获取所述驱动程序对应的设备标识信息;驱动程序确定模块,用于当所述设备标识信息与所述服务器的硬件配置信息匹配时,将所述设备标识信息对应的驱动程序确定为可安装驱动程序,以供用户选择安装;驱动程序安装模块,用于当操作系统安装完成时,对用户选择的可安装驱动程序进行安装。
第三方面,本公开还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器读取并运行时,实现上述第一方面所述的方法。
第四方面,本公开还提出一种服务器,包括存储有计算机程序的存储器和处理器,所述计算机程序被所述处理器读取并运行时,实现上述第一方面所述的方法。
相对现有技术,本公开具有以下有益效果:
本公开所提供的驱动程序安装方法、装置、服务器及计算机可读存储介质,该方法包括:获取挂载的驱动镜像中与挂载的操作系统镜像的类型对应的驱动程序,获取所述驱动程序对应的设备标识信息,当所述设备标识信息与所述服务器的硬件配置信息匹配时,将所述设备标识信息对应的驱动程序确定为可安装驱动程序,以供用户选择安装,当操作系统安装完成时,对用户选择的可安装驱动程序进行安装。如此,当安装操作系统时,可根据当前安装的操作系统类型以及当前设备的硬件配置信息自动匹配到该服务器的硬件设备适配的驱动程序供用户选择,用户仅需根据自身需求选择待安装的驱动程序,当操作系统安装完成时,便可自动安装用户在安装操作系统过程中所选的驱动程序,避免了新安装操作系统后需用户自行搜索、下载和安装驱动程序的繁琐,相比现有技术减少了人工等待时间,提高了驱动程序的安装效率,用户体验较好。
本公开的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本公开的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了现有技术中制作带有驱动程序的Windows镜像的示意图
图2示出了本公开所提供的服务器的结构框图。
图3示出了本公开所提供的驱动程序安装方法的一种流程示意图。
图4示出了本公开所提供的驱动程序安装方法的另一种流程示意图。
图5示出了本公开所提供的驱动程序安装方法的又一种流程示意图。
图6示出了本公开所提供的安装操作系统的示意图。
图7示出了本公开所提供的驱动程序安装方法的又一种流程示意图。
图8示出了本公开所提供的驱动程序安装装置的功能模块示意图。
图标:100-服务器;400-驱动程序安装装置;110-存储器;120-处理器;130-通信接口;410-驱动程序获取模块;420-标识信息获取模块;430-匹配模块;440-驱动程序确定模块;450-驱动程序拷贝模块;460-驱动程序安装模块。
具体实施方式
下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在实现本公开提供的技术方案的过程中,经发明人研究发现,目前利用驱动安装工具引导用户配置并根据检测出的硬件信息安装驱动程序的方式,操作系统的安装和驱动程序的安装是两个独立的过程,需要用户等待操作系统安装完成后通过运行驱动安装工具安装驱动程序,故安装效率低,用户体验较差。
为了在安装操作系统的过程中实现驱动程序的自动安装,现有技术提供了一种将驱动程序注入到操作系统镜像的方案,即将驱动程序打包至操作系统镜像中,当执行带有驱动程序的操作系统镜像时,可实现操作系统及驱动程序的安装。以安装Windows操作系统为例,借助Windows操作系统自带的一个映像部署管理工具(Deployment Image Servicingand Management,DISM),可以很方便地配置和更新Windows镜像中的功能和程序包。其中,DISM工具制作带有驱动程序的Windows镜像的过程如图1所示,首先利用虚拟光驱或者解压软件将Windows镜像解压并提取/source路径下的boot.wim和install.wim两个文件,接着通过dism/mount-wim命令将Windows镜像挂载到特定文件夹,加载boot.wim的内容,将需要安装的驱动程序统一存放在一个文件目录下,通过dism/add-driver命令可以为boot.wim添加驱动程序,/recurse参数可递归搜索文件目录下的所有驱动程序,驱动程序添加结束后,调用dism/umount-wim命令保存并卸载镜像;对于install.wim文件也采用上述相同的方法添加驱动程序;最后用新得到的boot.wim文件和install.wim文件替换原Windows镜像中的boot.wim文件和install.wim文件,从而得到新的Windows镜像。
上述将驱动程序打包至操作系统镜像的方式虽然实现了在安装操作系统时自动安装驱动程序,但是将驱动程序打包至操作系统镜像中的过程繁琐,对于普通用户来说难度较高;而且由于用户需要在安装操作系统前将驱动程序打包到操作系统镜像中,故用户无法在操作系统的安装过程中选择需要安装的驱动程序,同时也无法按照设备的硬件信息来检测出适配的驱动程序。此外,将驱动程序打包到操作系统镜像后,使得操作系统镜像与驱动程序高度耦合,一旦驱动程序发生更新,则需要将更新后的驱动程序重新打包至操作系统镜像中,相当于对操作系统镜像进行了更新;并且当驱动程序较多时,还会导致操作系统镜像变得十分庞大。
以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在发明过程中对本公开做出的贡献。
基于对上述缺陷的研究,本公开提出了一种在不需要用户将驱动程序打包至操作系统镜像的情况下,实现操作系统安装过程中驱动程序的自动安装的技术方案,从而避免了操作系统安装后用户自行搜索、下载并安装驱动程序的繁琐,用户只需在安装操作系统过程中选择需要安装的驱动程序,且操作系统镜像与驱动镜像低耦合,当驱动镜像需要进行更新或扩展时,不需要对操作系统镜像进行额外的扩展或更新工作,即驱动的更新不依赖于操作系统的更新。下面,将结合附图对该内容进行详细介绍。
请参照图2,为本公开所提供的服务器100的结构框图。服务器100可以包括存储器110、处理器120和通信接口130,该存储器110、处理器120和通信接口130,各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器110可用于存储软件程序及模块,如本公开所提供的驱动程序安装方法及装置对应的程序指令/模块,处理器120通过执行存储在存储器110内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口130可用于与其他节点设备进行信令或数据的通信。
其中,存储器110可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器120可能是一种集成电路芯片,具有信号处理能力。该处理器120可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP))、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解,图2所示的结构仅为示意,服务器100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器120执行时实现本公开揭示的驱动程序安装方法。
请参照图3,为本公开所提供的驱动程序安装方法的流程示意图。需要说明的是,本公开所述的驱动程序安装方法并不以图3以及以下所述的具体顺序为限制,应当理解,在其它实施例中,本公开所述的驱动程序安装方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该驱动程序安装方法可应用于上述的服务器100,下面将对图3所示的具体流程进行详细阐述。
步骤S101,获取挂载的驱动镜像中与挂载的操作系统镜像的类型对应的驱动程序。
在本实施例中,由于需要在操作系统的安装过程中实现驱动程序的自动安装,故在安装操作系统前需要先挂载操作系统镜像和驱动镜像。挂载镜像可以理解为将镜像文件直接变为一个驱动器并分配相应的盘符,只要进入盘符就可以直接使用其中的文件。实施时,可以利用专门的系统安装工具提供的镜像挂载功能对操作系统镜像和驱动镜像进行挂载,也可以将镜像文件刻录到物理光盘后,把物理光盘插入物理光驱运行实现操作系统镜像和驱动镜像的挂载。例如,当用户利用系统安装工具中打开操作系统镜像和驱动镜像后,系统安装工具首先会检测当前操作系统镜像和驱动镜像的合法性,在合法性校验通过后,系统安装工具判断当前挂载的操作系统镜像的类型,并根据操作系统镜像的类型读取挂载的驱动镜像中对应的驱动程序。
具体地,该操作系统镜像的类型可以包括Windows镜像和Linux镜像,该驱动镜像可以包括经过封装的exe类型的驱动程序和rpm类型的驱动程序,Windows操作系统下通常需要exe类型的驱动程序,而Linux操作系统下通常需要rpm类型的驱动程序。因此,当操作系统镜像和驱动镜像通过合法性校验后,系统安装工具判断当前挂载的操作系统镜像的类型,当所述操作系统镜像为Windows镜像时,则获取所述驱动镜像中的exe类型的驱动程序,当所述操作系统镜像为Linux镜像时,则获取所述驱动镜像中的rpm类型的驱动程序。
步骤S102,获取驱动程序对应的设备标识信息。
在本实施例中,该驱动镜像中还包括驱动配置文件,该驱动配置文件中记录有驱动程序对应的设备标识信息,系统安装工具可从驱动配置文件中获取驱动程序对应的设备标识信息。
步骤S103,当设备标识信息与服务器的硬件配置信息匹配时,将设备标识信息对应的驱动程序确定为可安装驱动程序,以供用户选择安装。
在本实施例中,该硬件配置信息为服务器100上当前在位的硬件设备的信息,当设备标识信息与硬件配置信息匹配时,表明该设备标识信息对应的驱动程序适配该硬件配置信息对应的硬件设备,故将该驱动程序确定为可安装驱动程序提供给用户,以供用户选择安装。
步骤S104,当操作系统安装完成时,对用户选择的可安装驱动程序进行安装。
在本实施例中,当用户选择需要安装的可安装驱动程序后,系统安装工具开始执行操作系统镜像中的文件进行操作系统的安装,当操作系统安装完成时,则执行预先设置的驱动安装命令以对用户选择的可安装驱动程序进行安装。例如,当操作系统镜像为Windows镜像时,预先设置的驱动安装命令记录在Windows镜像的SetupComplete.cmd脚本中,对于Windows操作系统的安装过程,默认通过Windows镜像中的boot.wim文件引导安装,然后执行setup.exe开始安装操作系统,当进行到“欢迎使用Windows”阶段时(此时相当于操作系统安装完成),自动执行SetupComplete.cmd脚本,进而在该SetupComplete.cmd脚本中执行驱动安装命令,并记录安装日志,实现用户选择的可安装驱动程序的自动安装。当操作系统镜像为Linux镜像时,预先设置的驱动安装命令记录在Linux镜像的ks(kickstart,自动应答脚本)文件中,ks文件中包含了所有安装程序会问到的问题答案,比如系统使用的时区、如何对驱动器进行分区、应该安装哪些软件包等,故基于ks文件可确定如何安装操作系统,从而实现操作系统的自动安装;对于Linux操作系统的安装过程,默认通过Linux镜像中的initrd.img文件引导安装,通过ks文件配置安装的方法,实现安装过程的自动化,当操作系统安装完成时,自动执行ks文件中的驱动安装命令,完成可安装驱动程序的自动安装。
在本实施例中,该驱动配置文件中记录的设备标识信息包括设备ID(即DeviceID)、厂商ID(即Vendor ID)、子设备ID(即Subdevice ID)及子厂商ID(即Subvendor ID),通过该设备ID、厂商ID、子设备ID及子厂商ID可以唯一确定驱动程序适配的硬件设备,如此,通过读取驱动配置文件中每个驱动程序对应的设备标识信息,便可确定每个驱动程序适配的设备类型(例如网卡、显卡、声卡、鼠标、键盘等)。
该硬件配置信息包括服务器100上当前在位的硬件设备的设备ID、厂商ID、子设备ID及子厂商ID,通过Device ID、Device ID、Subdevice ID及Subvendor ID可以唯一确定一个硬件设备(例如网卡、显卡、声卡、鼠标、键盘等)。其中,服务器100上当前在位的所有硬件设备的Device ID、Device ID、Subdevice ID及Subvendor ID,可以利用lspci工具(用于显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具)来获取。
如此,利用驱动配置文件中记录的设备ID、厂商ID、子设备ID、子厂商ID,以及lspci工具获取的Device ID、Device ID、Subdevice ID及Subvendor ID可向用户提供匹配到的可安装驱动程序,供用户选择安装。具体地,如图4所示,在获取驱动程序对应的设备标识信息之后,该方法还包括:
步骤S11,判断设备标识信息中的设备ID、厂商ID、子设备ID及子厂商ID与硬件配置信息中的设备ID、厂商ID、子设备ID及子厂商ID是否对应一致;若对应一致,则确定设备标识信息与硬件配置信息匹配。
在本实施例中,可将lspci工具获取的每个硬件配置信息与驱动配置文件中记录的所有设备标识信息进行匹配,判断设备标识信息中的设备ID、厂商ID、子设备ID及子厂商ID与硬件配置信息中的设备ID、厂商ID、子设备ID及子厂商ID是否对应一致,即分别判断设备标识信息中的设备ID与硬件配置信息中的设备ID是否一致,设备标识信息中的厂商ID与硬件配置信息中的厂商ID是否一致,设备标识信息中的子设备ID与硬件配置信息中的子设备ID是否一致,设备标识信息中的子厂商ID与硬件配置信息中的子厂商ID是否一致。当设备标识信息中的设备ID、厂商ID、子设备ID及子厂商ID与硬件配置信息中的设备ID、厂商ID、子设备ID及子厂商ID对应一致时,表明该设备标识信息对应的驱动程序适配该硬件配置信息对应的硬件设备。
需要说明的是,在实际应用中,可能存在多个驱动程序对应相同的设备标识信息,故一个硬件设备适配的驱动程序也可能存在多个。例如,当根据服务器100上的某一个硬件设备对应的设备ID、厂商ID、子设备ID及子厂商ID匹配到的可安装驱动程序有3个时,则将匹配到的3个可安装驱动程序显示在安装界面上,同理,对于其他硬件设备匹配到的可安装驱动程序也可显示在安装界面上,便于用户自主选择进行安装。
可见,当系统安装工具获取驱动镜像中的与当前操作系统镜像的类型对应的所有驱动程序后,利用驱动配置文件中每个驱动程序对应的Device ID、Device ID、SubdeviceID及Subvendor ID来唯一确定适配的硬件设备,以及利用lspci工具获取的Device ID、Device ID、Subdevice ID及Subvendor ID确定服务器100上的在位硬件设备,进而自动匹配出与当前操作系统镜像的类型相符合、与当前服务器100上的硬件设备适配的可安装驱动程序,供用户选择安装。因此,在整个安装过程中,只需用户根据自身需求选择可安装驱动程序,待操作系统安装完成时,自动对用户选择的可安装驱动程序进行安装,免去了新安装系统后自行搜索、下载并安装驱动程序的繁琐,对于普通用户来说操作更加简单、方便。
此外,由于安装操作系统前,是分别对操作系统镜像和驱动镜像进行挂载,相比现有技术中将驱动程序打包至操作系统镜像实现安装操作系统时自动安装驱动程序的方式,本公开实现了驱动镜像与操作系统镜像的低耦合,使得驱动程序的更新不依赖于操作系统的更新,当需要对驱动程序进行扩展或更新时,仅需在驱动镜像中添加新驱动程序和修改驱动配置文件,而不需要对操作系统镜像进行额外的扩展或更新。
进一步地,为了便于在操作系统安装完成时自动安装用户选择的可安装驱动程序,需要对用户选择的可安装驱动程序进行拷贝,待后续安装过程中使用。如图5所示,在步骤S104前,该方法还包括:
步骤S21,在安装操作系统之前,将用户选择的可安装驱动程序拷贝至非系统盘中保存,其中,非系统盘与安装操作系统的系统盘为不同的硬盘分区。
在本实施例中,由于安装操作系统时会将系统盘进行格式化,为了避免可安装驱动程序被删除,故将用户选择的可安装驱动程序拷贝到非系统盘的临时目录中进行保存。
步骤S22,当安装操作系统时,在格式化系统盘且创建引导分区后,将可安装驱动程序从非系统盘拷贝至引导分区。
如图6所示,无论是安装Windows操作系统还是Linux操作系统,首先需要对安装操作系统的系统盘进行格式化并创建引导分区,然后将非系统盘上保存的可安装驱动程序拷贝到引导分区中。当安装Windows操作系统时,则由boot.wim文件引导安装,并通过执行SetupComplete.cmd脚本中的驱动安装命令实现可安装驱动程序的自动安装;当安装Linux操作系统时,则initrd.img文件引导安装,并通过执行ks文件中的驱动安装命令实现可安装驱动程序的自动安装。
进一步地,如图7所示,在步骤S104前,该方法还包括:
步骤S23,若操作系统镜像为Linux镜像,则在执行Linux镜像中的预安装脚本时,将可安装驱动程序从引导分区拷贝至预安装环境中;在操作系统安装完成且执行Linux镜像中的安装后脚本时,将预安装环境中的可安装驱动程序拷贝至操作系统中。
在本实施例中,由于在执行ks文件的过程中,在安装Linux操作系统之前,会再进行一次格式化硬盘的操作,为了避免引导分区中的可安装驱动程序被格式化,需要将引导分区中的可安装驱动程序先拷贝至预安装环境,待Linux操作系统安装完成后将可安装驱动程序再拷贝到真实操作系统中。具体地,当操作系统镜像为Linux镜像时,ks文件中的脚本段包括预安装脚本(%pre)和安装后脚本(%post)其中,预安装脚本在操作系统安装之前执行,安装后脚本在操作系统安装完成之后执行。在操作系统的安装过程中,在ks文件的%pre执行阶段,需要将可安装驱动程序从所述引导分区拷贝至预安装环境(即anaconda环境)中,在ks文件的%post执行阶段,需要将anaconda环境中的可安装驱动程序拷贝至真实操作系统中,然后执行ks文件中的驱动安装命令实现可安装驱动程序的自动安装。
请参照图8,为本公开所提供的驱动程序安装装置400的功能模块示意图。需要说明的是,本实施例所提供的驱动程序安装装置400,其基本原理及产生的技术效果与前述方法实施例相同,为简要描述,本实施例中未提及部分,可参考前述方法实施例中的相应内容。所述驱动程序安装装置400可应用于上述的服务器100,其包括驱动程序获取模块410、标识信息获取模块420、匹配模块430、驱动程序确定模块440、驱动程序拷贝模块450及驱动程序安装模块460。
该驱动程序获取模块410用于获取挂载的驱动镜像中与挂载的操作系统镜像的类型对应的驱动程序。
在本实施例中,所述操作系统镜像的类型包括Windows镜像和Linux镜像,该驱动程序获取模块410具体用于当所述操作系统镜像为Windows镜像时,则获取所述驱动镜像中的exe类型的驱动程序,当所述操作系统镜像为Linux镜像时,则获取所述驱动镜像中的rpm类型的驱动程序。
可以理解,该驱动程序获取模块410可以执行上述步骤S101。
该标识信息获取模块420用于获取所述驱动程序对应的设备标识信息。
在本实施例中,所述驱动镜像中包括驱动配置文件,所述驱动配置文件记录有所述驱动程序对应的设备标识信息,该标识信息获取模块420具体用于从所述驱动配置文件中获取所述驱动程序对应的设备标识信息。
可以理解,该标识信息获取模块420可以执行上述子步骤S102。
该匹配模块430用于判断所述设备标识信息中的设备ID、厂商ID、子设备ID及子厂商ID与所述硬件配置信息中的设备ID、厂商ID、子设备ID及子厂商ID是否对应一致;若对应一致,则确定所述设备标识信息与所述硬件配置信息匹配。
可以理解,该匹配模块430可以执行上述步骤S11。
该驱动程序确定模块440用于当所述设备标识信息与所述服务器100的硬件配置信息匹配时,将所述设备标识信息对应的驱动程序确定为可安装驱动程序,以供用户选择安装。
可以理解,该驱动程序确定模块440可以执行上述步骤S103。
该驱动程序拷贝模块450用于在安装所述操作系统之前,将用户选择的所述可安装驱动程序拷贝至非系统盘中保存,其中,所述非系统盘与安装所述操作系统的系统盘为不同的硬盘分区;当安装所述操作系统时,在格式化所述系统盘且创建引导分区后,将所述可安装驱动程序从所述非系统盘拷贝至所述引导分区。
该驱动程序拷贝模块450还用于若所述操作系统镜像为Linux镜像,则在执行所述Linux镜像中的预安装脚本时,将所述可安装驱动程序从所述引导分区拷贝至预安装环境中;在所述操作系统安装完成且执行所述Linux镜像中的安装后脚本时,将所述预安装环境中的所述可安装驱动程序拷贝至所述操作系统中。
可以理解,该驱动程序拷贝模块450可以执行上述步骤S21、步骤S22、步骤S23。
该驱动程序安装模块460用于当操作系统安装完成时,对用户选择的可安装驱动程序进行安装。
可以理解,该驱动程序安装模块460可以执行上述步骤S104。
综上所述,本公开所提供的驱动程序安装方法、装置、服务器及计算机可读存储介质,该方法包括:获取挂载的驱动镜像中与挂载的操作系统镜像的类型对应的驱动程序,获取所述驱动程序对应的设备标识信息,当所述设备标识信息与所述服务器的硬件配置信息匹配时,将所述设备标识信息对应的驱动程序确定为可安装驱动程序,以供用户选择安装,当操作系统安装完成时,对用户选择的可安装驱动程序进行安装。如此,当安装操作系统时,可根据当前安装的操作系统类型以及当前设备的硬件配置信息自动匹配到该服务器的硬件设备适配的驱动程序供用户选择,用户仅需根据自身需求选择待安装的驱动程序,当操作系统安装完成时,便可自动安装用户在安装操作系统过程中所选的驱动程序,避免了新安装操作系统后需用户自行搜索、下载和安装驱动程序的繁琐,相比现有技术减少了人工等待时间,提高了驱动程序的安装效率,对于普通用户来说操作更加简单、方便,提高了用户体验。此外,由于安装操作系统前,是分别对操作系统镜像和驱动镜像进行挂载,相比现有技术中将驱动程序打包至操作系统镜像实现安装操作系统时自动安装驱动程序的方式,本公开实现了驱动镜像与操作系统镜像的低耦合,使得驱动程序的更新不依赖于操作系统的更新,当需要对驱动程序进行扩展或更新时,仅需在驱动镜像中添加新驱动程序和修改驱动配置文件,而不需要对操作系统镜像进行额外的扩展或更新。
本领域内的技术人员应明白,本公开可提供为方法、装置、设备或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开的方法、装置、设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本公开的可选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (10)
1.一种驱动程序安装方法,应用于服务器,其特征在于,所述方法包括:
获取挂载的驱动镜像中与挂载的操作系统镜像的类型对应的驱动程序;
获取所述驱动程序对应的设备标识信息;
当所述设备标识信息与所述服务器的硬件配置信息匹配时,将所述设备标识信息对应的驱动程序确定为可安装驱动程序,以供用户选择安装;
当操作系统安装完成时,对用户选择的可安装驱动程序进行安装。
2.如权利要求1所述的驱动程序安装方法,其特征在于,所述操作系统镜像的类型包括Windows镜像和Linux镜像,所述获取挂载的驱动镜像中与挂载的操作系统镜像的类型对应的驱动程序的步骤包括:
当所述操作系统镜像为Windows镜像时,则获取所述驱动镜像中的exe类型的驱动程序;
当所述操作系统镜像为Linux镜像时,则获取所述驱动镜像中的rpm类型的驱动程序。
3.如权利要求1所述的驱动程序安装方法,其特征在于,所述驱动镜像中包括驱动配置文件,所述驱动配置文件记录有所述驱动程序对应的设备标识信息,所述获取所述驱动程序对应的设备标识信息的步骤包括:
从所述驱动配置文件中获取所述驱动程序对应的设备标识信息。
4.如权利要求1所述的驱动程序安装方法,其特征在于,所述设备标识信息及所述硬件配置信息均包括设备ID、厂商ID、子设备ID及子厂商ID;所述获取所述驱动程序对应的设备标识信息的步骤之后,所述方法还包括:
判断所述设备标识信息中的设备ID、厂商ID、子设备ID及子厂商ID与所述硬件配置信息中的设备ID、厂商ID、子设备ID及子厂商ID是否对应一致;
若对应一致,则确定所述设备标识信息与所述硬件配置信息匹配。
5.如权利要求1所述的驱动程序安装方法,其特征在于,所述当操作系统安装完成时,对用户选择的可安装驱动程序进行安装的步骤之前,所述方法还包括:
在安装所述操作系统之前,将用户选择的所述可安装驱动程序拷贝至非系统盘中保存,其中,所述非系统盘与安装所述操作系统的系统盘为不同的硬盘分区;
当安装所述操作系统时,在格式化所述系统盘且创建引导分区后,将所述可安装驱动程序从所述非系统盘拷贝至所述引导分区。
6.如权利要求5所述的驱动程序安装方法,其特征在于,所述当操作系统安装完成时,对用户选择的可安装驱动程序进行安装的步骤之前,所述方法还包括:
若所述操作系统镜像为Linux镜像,则在执行所述Linux镜像中的预安装脚本时,将所述可安装驱动程序从所述引导分区拷贝至预安装环境中;在所述操作系统安装完成且执行所述Linux镜像中的安装后脚本时,将所述预安装环境中的所述可安装驱动程序拷贝至所述操作系统中。
7.一种驱动程序安装装置,应用于服务器,其特征在于,所述装置包括:
驱动程序获取模块,用于获取挂载的驱动镜像中与挂载的操作系统镜像的类型对应的驱动程序;
标识信息获取模块,用于获取所述驱动程序对应的设备标识信息;
驱动程序确定模块,用于当所述设备标识信息与所述服务器的硬件配置信息匹配时,将所述设备标识信息对应的驱动程序确定为可安装驱动程序,以供用户选择安装;
驱动程序安装模块,用于当操作系统安装完成时,对用户选择的可安装驱动程序进行安装。
8.如权利要求7所述的驱动程序安装装置,其特征在于,所述设备标识信息及所述硬件配置信息均包括设备ID、厂商ID、子设备ID及子厂商ID;所述装置还包括:
匹配模块,用于判断所述设备标识信息中的设备ID、厂商ID、子设备ID及子厂商ID与所述硬件配置信息中的设备ID、厂商ID、子设备ID及子厂商ID是否对应一致;若对应一致,则确定所述设备标识信息与所述硬件配置信息匹配。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器读取并运行时,实现如权利要求1-6任一项所述的方法。
10.一种服务器,其特征在于,包括存储有计算机程序的存储器和处理器,所述计算机程序被所述处理器读取并运行时,实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811584474.XA CN109766105A (zh) | 2018-12-24 | 2018-12-24 | 驱动程序安装方法、装置、服务器及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811584474.XA CN109766105A (zh) | 2018-12-24 | 2018-12-24 | 驱动程序安装方法、装置、服务器及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109766105A true CN109766105A (zh) | 2019-05-17 |
Family
ID=66450988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811584474.XA Pending CN109766105A (zh) | 2018-12-24 | 2018-12-24 | 驱动程序安装方法、装置、服务器及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766105A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110187897A (zh) * | 2019-05-28 | 2019-08-30 | 新华三技术有限公司 | 一种固件升级方法及装置 |
CN110442355A (zh) * | 2019-08-06 | 2019-11-12 | 浪潮商用机器有限公司 | 一种计算机驱动程序的安装方法、装置、设备及介质 |
CN110618822A (zh) * | 2019-08-26 | 2019-12-27 | 杭州顺网科技股份有限公司 | 无盘工作站启动阶段预安装网卡驱动的方法 |
CN111694604A (zh) * | 2020-05-06 | 2020-09-22 | 新华三云计算技术有限公司 | 一种驱动批量安装方法、装置、设备及机器可读存储介质 |
CN112306510A (zh) * | 2020-10-30 | 2021-02-02 | 深圳忆联信息系统有限公司 | 驱动的批量下载布署方法、装置、计算机设备及存储介质 |
CN114756291A (zh) * | 2022-06-13 | 2022-07-15 | 统信软件技术有限公司 | 一种硬件自适应方法和装置 |
WO2022247670A1 (zh) * | 2021-05-24 | 2022-12-01 | 广州视源电子科技股份有限公司 | 管理镜像文件的方法、装置、处理器及存储介质 |
CN116775058A (zh) * | 2023-06-25 | 2023-09-19 | 深圳市青葡萄科技有限公司 | 兼容异构硬件的镜像启动方法、终端及服务器 |
CN117215602A (zh) * | 2023-10-30 | 2023-12-12 | 广州鼎甲计算机科技有限公司 | 驱动程序更新方法、装置、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020095526A1 (en) * | 2000-11-29 | 2002-07-18 | Dirie Herzi | System and method for installing device drivers in a computer system |
CN1464387A (zh) * | 2002-06-26 | 2003-12-31 | 联想(北京)有限公司 | 硬件设备驱动程序的安装方法及计算机 |
CN1920774A (zh) * | 2005-08-25 | 2007-02-28 | 英业达股份有限公司 | 驱动程序自动安装方法以及系统 |
CN104094225A (zh) * | 2011-11-28 | 2014-10-08 | 韦斯技术有限公司 | 创建或安装用于具有多个硬件平台中的一个的目标装置的磁盘映像 |
CN104881314A (zh) * | 2015-06-29 | 2015-09-02 | 北京金山安全软件有限公司 | 一种安装驱动程序的方法及驱动程序安装装置 |
CN106020915A (zh) * | 2016-06-12 | 2016-10-12 | 北京金山安全软件有限公司 | 驱动程序安装方法及装置 |
-
2018
- 2018-12-24 CN CN201811584474.XA patent/CN109766105A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020095526A1 (en) * | 2000-11-29 | 2002-07-18 | Dirie Herzi | System and method for installing device drivers in a computer system |
CN1464387A (zh) * | 2002-06-26 | 2003-12-31 | 联想(北京)有限公司 | 硬件设备驱动程序的安装方法及计算机 |
CN1920774A (zh) * | 2005-08-25 | 2007-02-28 | 英业达股份有限公司 | 驱动程序自动安装方法以及系统 |
CN104094225A (zh) * | 2011-11-28 | 2014-10-08 | 韦斯技术有限公司 | 创建或安装用于具有多个硬件平台中的一个的目标装置的磁盘映像 |
CN104881314A (zh) * | 2015-06-29 | 2015-09-02 | 北京金山安全软件有限公司 | 一种安装驱动程序的方法及驱动程序安装装置 |
CN106020915A (zh) * | 2016-06-12 | 2016-10-12 | 北京金山安全软件有限公司 | 驱动程序安装方法及装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110187897A (zh) * | 2019-05-28 | 2019-08-30 | 新华三技术有限公司 | 一种固件升级方法及装置 |
CN110187897B (zh) * | 2019-05-28 | 2022-05-31 | 新华三技术有限公司 | 一种固件升级方法及装置 |
CN110442355A (zh) * | 2019-08-06 | 2019-11-12 | 浪潮商用机器有限公司 | 一种计算机驱动程序的安装方法、装置、设备及介质 |
CN110618822A (zh) * | 2019-08-26 | 2019-12-27 | 杭州顺网科技股份有限公司 | 无盘工作站启动阶段预安装网卡驱动的方法 |
CN111694604A (zh) * | 2020-05-06 | 2020-09-22 | 新华三云计算技术有限公司 | 一种驱动批量安装方法、装置、设备及机器可读存储介质 |
CN112306510A (zh) * | 2020-10-30 | 2021-02-02 | 深圳忆联信息系统有限公司 | 驱动的批量下载布署方法、装置、计算机设备及存储介质 |
WO2022247670A1 (zh) * | 2021-05-24 | 2022-12-01 | 广州视源电子科技股份有限公司 | 管理镜像文件的方法、装置、处理器及存储介质 |
CN114756291A (zh) * | 2022-06-13 | 2022-07-15 | 统信软件技术有限公司 | 一种硬件自适应方法和装置 |
CN114756291B (zh) * | 2022-06-13 | 2022-09-06 | 统信软件技术有限公司 | 一种硬件自适应方法和装置 |
CN116775058A (zh) * | 2023-06-25 | 2023-09-19 | 深圳市青葡萄科技有限公司 | 兼容异构硬件的镜像启动方法、终端及服务器 |
CN117215602A (zh) * | 2023-10-30 | 2023-12-12 | 广州鼎甲计算机科技有限公司 | 驱动程序更新方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109766105A (zh) | 驱动程序安装方法、装置、服务器及计算机可读存储介质 | |
US7853944B2 (en) | Apparatus and method for managing firmware of removable media device | |
CN107870769B (zh) | 操作系统的安装方法及装置 | |
US9965288B2 (en) | Preconfiguring hardware and speeding up server discovery prior to bios boot | |
CN101393524A (zh) | 固件更新方法及系统 | |
CN110096424B (zh) | 测试的处理方法、装置、电子设备及存储介质 | |
CN102999349B (zh) | 一种软件升级方法 | |
US8397055B2 (en) | Method and system for post-build modification of firmware binaries to support different hardware configurations | |
CN107704282B (zh) | 一种应用于嵌入式系统的加载方法及装置 | |
CN104346202A (zh) | 终端应用程序的设置方法、装置及终端 | |
CN104135520A (zh) | 一种识别安卓终端的方法以及装置 | |
CN113835729B (zh) | 升级方法、装置、终端设备及计算机可读存储介质 | |
CN110941453A (zh) | 基板管理控制器bmc配置初始化的方法及装置 | |
WO2016082450A1 (zh) | 一种用户终端的升级方法和用户终端 | |
EP1691281A2 (en) | Memory dump program boot method | |
CN107423095B (zh) | 适配硬件的数据处理方法、装置、存储介质和计算机设备 | |
KR100601684B1 (ko) | 외부 저장장치, 화상획득장치, 및 드라이버를 구동하는방법 및 시스템 | |
CN106528226B (zh) | 操作系统的安装方法及装置 | |
CN113272785B (zh) | 一种挂载文件系统的方法、终端设备及存储介质 | |
CN108733398B (zh) | 一种软件升级的处理方法及装置 | |
CN114127685B (zh) | 电子设备及其控制方法 | |
JP2004295589A (ja) | 制御装置及びプログラムの更新方法 | |
US8892499B2 (en) | Life cycle management of rule sets | |
CN101299190B (zh) | 一种只读文件系统下的软件升级方法、系统及嵌入式设备 | |
CN103106086A (zh) | 操作系统处理方法以及系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190517 |