使用Windows部署服务创建自定义驱动数据库

运维 系统运维
没有即插即用的功能,你不可能长时间操作Windows。插入一个USB设备,即插即用功能就开始工作:识别这个设备、定位其驱动程序、配置其运行资源。   不过,即插即用(PnP)不仅仅针对USB设备。PnP周边概念是整个Windows体验的核心部分。网卡、显卡,几乎所有的外围设备插入到Windows都能测试到这个方便的服务措施引导的自动化。

没有即插即用的功能,你不可能长时间操作Windows。插入一个USB设备,即插即用功能就开始工作:识别这个设备、定位其驱动程序、配置其运行资源。

  不过,即插即用(PnP)不仅仅针对USB设备。PnP周边概念是整个Windows体验的核心部分。网卡、显卡,几乎所有的外围设备插入到Windows都能测试到这个方便的服务措施引导的自动化。
  在安装Windows过程中,你也可以利用即插即用体验的优势。事实上,Windows预安装环境(WinPE)利用它来自动地在安装媒体上找到并安装任何可用的驱动程序。
  如果媒体上包括你所需要的设备驱动程序,那是很棒的。如果没有,你可以使用Windows Server 2008 R2中的Windows部署服务创建自己的自定义驱动数据库。只需一点点额外的努力,该数据库就能确保在任何时候你点Control + Alt + Delete之前,安装了每个驱动。
  步骤1:解压
  将Windows 部署角色同所有的角色服务添加到Windows Server 2008 R2计算机上。然后通过Windows部署服务管理控制台从Windows DVD媒体上添加、安装并启动映像。
  如果你喜欢IT商店,你有可能有一个IT文件共享存储管理设备的驱动程序。你需要“解压缩”成其组成部分的各个驱动程序。这个过程很大程度上像解压文件,有时候需要多重迭代,直到得到你所需要的文件。这些文件通常是以.CAT、.SYS、/或 .DLL为扩展名,并统一放在一个扩展名是.INF的文件下。下一步,你会用到.INF文件和它的附属文件。
  一旦安装上映像,解开驱动以后,用鼠标右键单击WDS中的“驱动程序”节点,并启动“添加驱动程序包向导”。此向导使你能够从INF文件中选择驱动程序包,或者从文件夹中选择所有的驱动程序包。从文件夹中选择所有的驱动程序包,将该文件夹及其子文件夹下所有的驱动程序上传到驱动程序数据库中。
  下个屏幕将显示在这个文件夹结构中找到的所有驱动程序包的信息。选择你要上传的,并点击直到完成此向导。这里,你要密切注意以确保你上传的是合适的处理器架构驱动程序——x64而不是x86。
  一旦上传完成,开始使用WDS的Windows部署,看看会发生什么。如果你所做的一切都是正确的,安装了Windows自动安装的硬件和设备会自动找到任何驱动程序。
  步骤2:组和过滤器
  即插即用在工作的时候很好用。它偶尔会混淆哪个驱动程序是属于哪个计算机。在这种情况下,使用组和过滤器将驱动程序分开来是很有用的。您可以通过右键单击“驱动程序”节点并选择“添加驱动程序组”,在WDS控制台中创建一个驱动程序组。
  每个驱动器组包含一个或多个客户端硬件过滤器,用于识别硬件组成套的客户。过滤器有两种类型:硬件过滤器和图像过滤器。
  硬件过滤器根据Windows管理规范 (WMI)的值定义成套设备。有五种类型的过滤器可用:制造商、Bios厂商、Bios版本、底盘型号和UUID。因为这些值存储在WMI中,你需要参考计算机查询WMI和收集硬件设备值。你可以在参考计算机上运行下面五个PowerShell命令中的任何一个,从而从WMI存储中得到值:
  • 制造商:Get-WmiObject Win32_ComputerSystemProduct Vendor
  • Bios厂商:Get-WmiObject Win32_Bios Manufacturer
  • Bios版本:Get-WmiObject Win32_Bios Version
  • 底盘型号:Get-WmiObject Win32_SystemEnclosure ChassisTypes
  • UUID:Get-WmiObject Win32_ComputerSystemProduct UUID
  图像过滤器根据要安装的操作系统的特性定义成套设备。三种过滤器类型可供选择:OS Version, OS Edition和OS语言。这三种类型的图像过滤器得到正确的值,是更具有挑战性的。
  • OS Version:这个值是由图像版本和Service Pack级别值构建的,可以在你打算部署的安装映像属性中找到。WDS中查看这些属性,选择“版本”选项卡,将你看到的这两个值,用.连接在一起。例如,如果图像的版本是6.1.7601,Service Pack级别的值是1,由此产生的值就是6.1.7601.1。
  • OS Edition:得到OS Edition值需要在你打算部署图像的命令提示符下执行两个命令。首先运行指令dism /Mount-Wim /WimFile:<pathToWimFile> /index:1 /MountDir:<targetFolder>,然后运行dism /image:<targetFolder> /Get-CurrentEdition。第二个指令会返回OS Edition的入口值。
  • OS语言:这个值也可以从你的图像的参考计算机中得到。该计算机上运行下面的PowerShell指令:[convert]::ToString((Get-WMIObject Win32_OperatingSystem OSLanguage | Select-Object -ExpandPropertyOSLanguage), 16)。然后,匹配的十六进制值结果,可以在National Language Support API Reference表中的Culture Name中找到。
  在添加驱动程序组向导的***一页提供了安装选项:仅安装符合客户硬件的驱动程序包和安装本组中所有的驱动程序包。选择***项,将会只安装那些即插即用能够正确匹配的驱动程序。选择第二项,将会安装这个组中包含的所有的驱动程序。当即插即用不能正确地识别(因此,不能安装驱动)系统上的设备或硬件时,第二种设置是很有用的。
  步骤3:部署!
  虽然构建过滤器的过程可能会有点麻烦,但是WDS驱动程序数据库很好地扩展了即插即用的实用性。有了正确的驱动器和一个内置的安装映像,你可以创建属于自己的即插即用安装环境。

【编辑推荐】

  1. Linux中history历史命令使用方法详解
  2. Linux下使用mke2fsk格式化分区的方法
  3. Ubuntu 11.10 利用终端环境备份还原
责任编辑:赵宁宁
相关推荐

2015-02-12 15:33:43

微信SDK

2010-06-29 17:27:14

SQL Server

2021-07-15 16:41:21

Swift查询函数

2022-08-04 18:30:59

DockerfileDocker 镜像Linux

2009-08-10 16:58:45

ASP.NET安装部署

2013-04-19 10:14:24

2010-04-29 17:14:47

组策略自定义安装

2022-05-07 10:22:32

JavaScript自定义前端

2009-01-03 15:20:11

ibmdwAIX

2019-06-21 09:50:47

Windows 10自定义分辨率

2023-11-10 14:46:41

OpenAIPinecone

2013-03-28 10:58:30

自定义Android界android

2010-05-05 14:34:45

Oracle数据库

2010-06-28 11:00:46

SQL Server

2012-04-05 13:26:36

ibmdw

2010-10-20 16:07:48

SQL用户自定义角色

2013-05-02 14:08:18

2023-11-14 10:05:52

Java开发工具

2019-12-25 11:47:27

LinuxFVWM

2010-10-25 16:05:07

oracle自定义函数
点赞
收藏

51CTO技术栈公众号