本发明涉及计算机技术领域,特别涉及VOI虚拟化下的Windows网卡驱动加载方法。

背景技术:

在VOI虚拟化方案中,首先需要确保网卡驱动能够提前加载到系统中,才能够实现通过网络来引导操作系统启动。现有技术在实现网卡驱动的加载时,都是采用在VOI终端的操作系统上预先安装并配置好所对应的网卡驱动,从而实现通过网络来引导操作系统启动。但是,现有网卡驱动的加载方式存在有如下缺陷:1、在操作系统上预先安装和配置网卡驱动的操作过程十分复杂,且不同版本的网卡驱动还会带来兼容性问题,因此,实际操作起来既费时又费力;2、在引入新类型的VOI终端时,需要重新制作系统镜像,才能够适配新类型的网卡驱动。

技术实现要素:

本发明要解决的技术问题,在于提供一种VOI虚拟化下的Windows网卡驱动加载方法,通过该方法来实现直接从网卡驱动服务端中拉取需要使用的网卡驱动,并引导操作系统启动,不仅可以有效解决以往预先安装和配置网卡驱动所带来的操作复杂问题,而且可以解决以往在引入新类型的网卡驱动时,需要重新制作系统镜像的麻烦问题。

本发明是这样实现的:VOI虚拟化下的Windows网卡驱动加载方法,所述方法包括如下步骤:

步骤S1、在VOI终端启动时,下载并运行PXE启动模块,由PXE启动模块从网卡驱动服务端下载网卡驱动文件以及配置文件,并引导操作系统启动;

步骤S2、操作系统启动后,自动运行网卡驱动加载器,由网卡驱动加载器根据网卡驱动文件以及配置文件向注册表中添加对应的注册表项,同时,加载并执行网卡驱动文件。

进一步地,在执行步骤S1之前,或者需要增加新网卡的支持时,还包括如下步骤:

步骤S11、通过网卡驱动导入工具将指定的网卡驱动文件以及配置文件导入到网卡驱动服务端中。

更进一步地,所述步骤S11具体包括如下步骤:

步骤S111、由网卡驱动导入工具对指定的网卡驱动执行导入操作;

步骤S112、通过网卡驱动导入工具分析指定的网卡驱动的INF文件,且如果分析成功,则进入步骤S113;如果分析失败,则通知用户分析失败,并结束流程;

步骤S113、提取出指定的网卡驱动所对应的网卡驱动文件以及配置文件,将提取出的网卡驱动文件以及配置文件导入到网卡驱动服务端,且如果导入成功,则通知用户导入成功,并进入步骤S114;如果导入失败,则通知用户导入失败,并结束流程;

步骤S114、网卡驱动服务端接收网卡驱动文件以及配置文件,并对网卡驱动文件以及配置文件进行保存。

更进一步地,在所述步骤S112中,所述分析指定的网卡驱动的INF文件具体包括:从指定的网卡驱动的INF文件中查询是否存在网卡驱动文件,从指定的网卡驱动的INF文件中分析出该网卡驱动所支持的网卡的PID和网卡的VID,以及从指定的网卡驱动的INF文件中分析出需要写入的注册表项。

进一步地,所述配置文件至少包含支持的网卡的PID、支持的网卡的VID以及网卡驱动的注册表键值。

进一步地,所述步骤S1具体为:

在VOI终端启动时,通过DHCP服务器下载并运行PXE启动模块;当PXE启动模块运行起来后,由PXE启动模块获取VOI终端中网卡的PID和网卡的VID,并根据网卡的PID和网卡的VID向网卡驱动服务端发送下载请求;网卡驱动服务端在接收到下载请求后,根据VOI终端所请求的网卡的PID和网卡的VID确定对应的网卡驱动,并提供对应的网卡驱动文件以及配置文件给VOI终端下载;

在VOI终端下载完网卡驱动文件以及配置文件后,将网卡驱动文件以及配置文件进行缓存,并由PXE启动模块引导操作系统启动。

进一步地,在所述步骤S2中,所述加载并执行网卡驱动文件具体为:

网卡驱动加载器将网卡驱动文件加载到内存中,并通过解析PE格式加载函数表和导入表,从而实现网卡驱动文件的载入;在网卡驱动文件载入完后,网卡驱动加载器就调用网卡驱动文件的入口地址,并执行网卡驱动文件。

本发明具有如下优点:1、采用在VOI终端启动时,直接从网卡驱动服务端中拉取需要使用的网卡驱动,并引导操作系统启动,而无需在操作系统上预先安装和配置网卡驱动,因此,不仅可以有效避免以往繁杂的安装和配置操作,而且可以有效解决不同版本的网卡驱动的兼容性问题;2、能够直接支持新类型的网卡驱动的启动,而不需要重新制作系统镜像,即有效的解决了以往在引入新类型的网卡驱动时,需要重新制作系统镜像的麻烦问题。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1为本发明VOI虚拟化下的Windows网卡驱动加载方法的执行流程图。

图2为本发明中网卡驱动的导入时序图。

具体实施方式

请重点参照图1所示,本发明VOI虚拟化下的Windows网卡驱动加载方法的较佳实施例,所述方法包括如下步骤:

步骤S1、在VOI终端启动时,下载并运行PXE启动模块(该PXE启动模块主要负责拉取网卡驱动,并引导操作系统启动),由PXE启动模块从网卡驱动服务端下载网卡驱动文件以及配置文件,并引导操作系统启动;

步骤S2、操作系统启动后,自动运行网卡驱动加载器,由网卡驱动加载器根据网卡驱动文件以及配置文件向注册表中添加对应的注册表项,同时,加载并执行网卡驱动文件。

其中,所述配置文件至少包含支持的网卡的PID、支持的网卡的VID以及网卡驱动的注册表键值。在操作系统启动后,网卡驱动加载器就会将配置文件中网卡驱动的注册表键值添加到对应的注册表项中。

请重点参照图2所示,由于本发明在具体实施时,需要从网卡驱动服务端处下载网卡驱动文件以及配置文件,因此,在执行步骤S1之前,或者在需要增加新网卡的支持时,所述方法还需要包括如下步骤:

步骤S11、通过网卡驱动导入工具将指定的网卡驱动文件以及配置文件导入到网卡驱动服务端中。该步骤S11具体包括如下步骤:

步骤S111、由网卡驱动导入工具对指定的网卡驱动执行导入操作;

步骤S112、通过网卡驱动导入工具分析指定的网卡驱动的INF文件,且如果分析成功,则进入步骤S113;如果分析失败,则通知用户分析失败,并结束流程;

步骤S113、提取出指定的网卡驱动所对应的网卡驱动文件(即SYS文件)以及配置文件(包括注册表、PID、VID等配置信息),将提取出的网卡驱动文件以及配置文件导入到网卡驱动服务端,且如果导入成功,则通知用户导入成功,并进入步骤S114;如果导入失败,则通知用户导入失败,并结束流程;

步骤S114、网卡驱动服务端接收网卡驱动文件以及配置文件,并对网卡驱动文件以及配置文件进行保存,以供VOI终端下载使用。

在所述步骤S112中,所述分析指定的网卡驱动的INF文件具体包括:从指定的网卡驱动的INF文件中查询是否存在网卡驱动文件,从指定的网卡驱动的INF文件中分析出该网卡驱动所支持的网卡的PID和网卡的VID,以及从指定的网卡驱动的INF文件中分析出需要写入的注册表项。在具体实施时,如果无法从指定的网卡驱动的INF文件中分析到以上需要的内容(如不存在网卡驱动文件等),就无法实现网卡驱动的导入操作,此时就通知用户分析失败,并结束流程。

所述步骤S1具体为:

在VOI终端启动时,通过DHCP服务器下载并运行PXE启动模块;当PXE启动模块运行起来后,由PXE启动模块获取VOI终端中网卡的PID和网卡的VID,并根据网卡的PID和网卡的VID向网卡驱动服务端发送下载请求;网卡驱动服务端在接收到下载请求后,根据VOI终端所请求的网卡的PID和网卡的VID确定对应的网卡驱动,并提供对应的网卡驱动文件以及配置文件给VOI终端下载;

在VOI终端下载完网卡驱动文件以及配置文件后,将网卡驱动文件以及配置文件进行缓存,并由PXE启动模块引导操作系统启动。

在所述步骤S2中,所述加载并执行网卡驱动文件具体为:

网卡驱动加载器将网卡驱动文件加载到内存中,并通过解析PE格式加载函数表和导入表,从而实现网卡驱动文件的载入;在网卡驱动文件载入完后,网卡驱动加载器就调用网卡驱动文件的入口地址,并执行网卡驱动文件。

综上所述,本发明优点在于:1、采用在VOI终端启动时,直接从网卡驱动服务端中拉取需要使用的网卡驱动,并引导操作系统启动,而无需在操作系统上预先安装和配置网卡驱动,因此,不仅可以有效避免以往繁杂的安装和配置操作,而且可以有效解决不同版本的网卡驱动的兼容性问题;2、能够直接支持新类型的网卡驱动的启动,而不需要重新制作系统镜像,即有效的解决了以往在引入新类型的网卡驱动时,需要重新制作系统镜像的麻烦问题。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

matlab 读取voi文件,VOI虚拟化下的Windows网卡驱动加载方法与流程相关推荐

  1. matlab2011没有netframe,loadlibrary失败?matlab loadlibrary?dll文件找不到入口点?用LoadLibrary加载D...

    你是否正在寻找关于loadlibrary失败的内容?让我把最完整的东西奉献给你: 当前位置:我的异常网» VC»用LoadLibrary加载DLL失败,为何呢 用LoadLibrary加载DLL失败, ...

  2. readmemh函数引用的txt格式_memory - 在Verilog中,我尝试使用$ readmemb来读取.txt文件,但它仅在内存中加载xxxxx(不必担心) - 堆栈内存溢出...

    您确定要运行模拟吗? 您的TB代码: module RAM_IN (pix_val, indx); input [0:5] indx; output [31:0] pix_val; reg [31:0 ...

  3. matlab网页视频流,使用Matlab读取视频流文件

    Matlab中对图像和视频流的读取还是很方便的,但是由于不常用Matlab读取视频流(这家伙处理能力较OpenCV还是慢些)偶有小忘,这次有在工作中遇到特此记录一下,Matlab的help文档关于视频 ...

  4. matlab读取cvs文件的几种方法

    matlab读取CVS文件的几种方法: 1,实用csvread()函数 csvread()函数有三种使用方法: 1.M = csvread('filename') 2.M = csvread('fil ...

  5. matlab excel操作,Matlab读取excel文件里数据的操作流程

    亲们入手Matlab软件过程里会读取excel文件里数据吗?下面小编就提供了Matlab读取excel文件里数据的操作流程,有需要的朋友一起来看看吧. 读取sheet1中的所有数据 以03版excel ...

  6. ncl批量处理多个nc文件_利用MATLAB读取NC文件并绘图

    最近需要对很多NC 文件进行绘图,通常情况下,我一直用GMT,不过不知道为什么,笔记本上的GMT 用不了了,可能是版本的问题,但是我下了很多版本都无法使用,画出来的图都有问题.由于笔记本安装硬盘也就2 ...

  7. Matlab读取TDMS文件并存储为mat格式

    前言 TDMS是labVIEW常用的一种数据存储格式,其以二进制的方式进行存储,特点是占用磁盘空间小,且支持数据流高速写盘,常见于高速采集系统.若是需要用Matlab对其进行数据处理,不可避免的需要使 ...

  8. matlab读取grib三维数据,matlab读取grib2文件

    用matlab读取nc文件是简单的.但气象局的很多数据存储文件是grib2格式的.该如何读取呢?看了网上的众多方法,nctoolbox,read_grib都没有成功.最后投机取巧,用了36计中的瞒天过 ...

  9. Matlab 读取excel文件提示服务器出现意外情况或无法读取问题解决

    Matlab 读取excel文件提示服务器出现意外情况或无法读取问题解决 参考文章: (1)Matlab 读取excel文件提示服务器出现意外情况或无法读取问题解决 (2)https://www.cn ...

最新文章

  1. Opencv+Windows+Codeblocks+C++安装笔记,花了三天终于在公司各种限制条件下成功打开图片
  2. python中matrix函数_使用python解线性矩阵方程(numpy中的matrix类)
  3. tp5备份mysql_tp5备份数据库
  4. [jQuery] 根据表单的不同参数跳转不同的链接
  5. php5.4 curl,PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
  6. PHP无限极分类巧用引用生成树
  7. python 经典图书排行榜_书榜 | 计算机书籍(9.2-9.8)销售排行榜
  8. js弹窗确认取消php,JS实现删除时的确认弹窗
  9. Flutter网格控件GridView
  10. 1148 数字字符出现频率
  11. IJCAI TEXT PAPERS
  12. linux的nfs配置文件的编写信息(学习day1)
  13. sec和asec--正割和反正割函数
  14. 记一次安装Roon1.6版本
  15. Time-wait状态(2MSL)一些理解
  16. 从后台得到webshell技巧大汇总
  17. Spring的依赖注入(DI)和面向切面(AOP)代码解析说明
  18. Maven安装和配置阿里云镜像(解决在idea中Maven加载依赖慢的问题,保姆级教学)
  19. 三台Ubuntu虚拟机搭建 Hadoop集群 (第一次搭)
  20. nRF51822 白名单

热门文章

  1. java 获取图片的路径_Java中使用正则表达式获取网页中所有图片的路径
  2. Express 05 使用Node链接sqlite
  3. mysql联合查询怎么加子查询_MySQL数据库 —子查询,联合查询
  4. python程序打包成apk_利用Gradle+Python3自动打包Android APK上传到蒲公英。
  5. tp5如何在模板格式化显示时间_华为手机如何才能息屏显示时间?手把手教你,一秒就能学会...
  6. 890.查找和替换模式
  7. 如何更安全高效地翻译外文资料?
  8. Jmeter(十三)阶梯式压测
  9. Tail Loss Probe实现
  10. 一 springcloud hystrix源码深度分析