MDT部署问题驱动程序未加载(MDT上的i217-LM)

我一直在testing替代成像系统,以取代去年我们有限的Ghost部署系统。 我们购买了一批具有英特尔i217-LM网卡的机器(HP Workstation Z230)。 让这个小家伙和WinPE打得很好,我遇到了很多麻烦。 我以为自己已经搞清楚了,但是在这里,我再次陷入了比以前更加沉重的困境。

我们的成像服务器由安装有WDS,WAIK和MDT的Windows Server 2012盒子组成。 到其他硬件平台的部署工作正常,但是当我尝试更新的Z230机器时,我收到一条消息:

向导错误

无法连接到部署共享(\ servername \ sharename $)。 以下networking设备没有安装驱动程序。 PCI \ VEN_8086&DEV_153A&SUBSYS_1905103C&REV_05

重试:再次尝试连接到部署共享。 取消:放弃,取消正在进行的任务序列。

这是在PxE启动客户端并selectLiteTouchx64启动映像之后首先popup的。 我没有别的select。

我知道这可能是一个驱动程序问题(再次!)。 所以我提出了F8的命令行,并试着给旧的ipconfig一个。 没有。 根本没有适配器。 我回头看了一下MDT,并确认最后一次解决问题的INF文件位于“Out-of-box Drivers”文件夹中(我们也有根据制造商,操作系统和型号分开的驱动程序; Hewlett-Packard – > Windows 7 x64-> HP塔式工作站Z230。这些都是在命令行中使用'wmic'命令和适当的标志find的)。 当然,它在那里。 我更新了部署份额,只是为了安全起见。 没有运气。 我尝试了x64和x86启动映像。 再一次,没有。

于是我回到了英特尔的网站,并再次下载了网卡驱动。 冲洗,重复,仍然没有。

接下来,我尝试的是使用来自闪存驱动器(英特尔网站更新的驱动程序)的drvload命令通过命令行手动加载驱动程序:

为64位WinPE图像

drvload F:\Winx64\NDIS63\e1d63x64.inf 

或者,对于32位:

 drvload F:\Win32\NDIS63\e1d6332.inf 

欲了解更多信息,请参阅: http : //www.adamfowlerit.com/2013/10/08/troubleshooting-nic-drivers-in-winpe-for-sccm-2012/

这两个命令在完成和退出“完成成功”消息之前都留意了10-20秒。 然后我回到ipconfig,发现我现在有一个IP地址。 我点击重试,其余的操作系统部署完成(与几个无关的错误,现在已经修复)。 一旦Windows已经安装并启动,我检查设备pipe理器,看看这个网卡是什么。

我发现了一些有趣的事情:首先,司机已经从MDT自动拉出,所以我知道正确的司机在那里。 其次,Windows使用了不同的驱动程序inf(e1d62x64.inf)。

所以我查了一下,以确定这个驱动程序也在MDT中:是的。 我再次尝试,这次手动加载在Windows中指定的驱动程序。 命令“成功完成”,但是当我去ipconfig,并检查是否已经工作,我没有适配器列出,没有IP地址。

我也试过:

 wmic nic get name 

这返回:

 Name Microsoft Kernel Debug Network Adapter 

所以然后再次手动加载e1d63x64.inf文件并再次尝试:

 Name Microsoft Kernel Debug Network Adapter Intel(R) Ethernet Connection I217-LM 

大。 有用。 所以,我再次确保司机在MDT。 我也尝试再次添加,这次只是到了开箱即用的驱动程序文件夹,而不是在任何其他文件夹下。 再次更新部署份额,再给它一个,没有任何东西。

接下来,我尝试了手动将硬件ID添加到e1d63x64.inf文件,以便它可以自动拉动。 我不知道我在做什么,真的,所以我可能做错了。 我最终看到了一些行,其中有一些其他的乱码列出的硬件ID,所以我把硬件ID添加到这个部分。 (就像我说的,我不知道我在做什么,这是在黑暗中的一个镜头)。

我也尝试手动将驱动程序注入到LiteTouch映像的副本中。 我能够使用DISM装载图像,但是当我尝试使用/ recurse和/ forceunsigned注入驱动程序时(我在几个月前尝试的第一个版本的驱动程序是未签名的,这给我一些头痛的问题。 )无法注入驱动程序,我不认为这将是一个生产环境的有效解决scheme,所以我没有花更多的时间在这个问题上。

我也检查了DISM日志,发现这些行:

2014-12-05 10:12:11,信息DISM DISM提供程序存储:PID = 9932 TID = 8808获取提供程序DriverManager – CDISMProviderStore :: GetProvider 2014-12-05 10:12:11,Info
DISM DISM提供程序存储:PID = 9932 TID = 8808提供程序以前已被初始化。 返回现有的实例。 – CDISMProviderStore :: Internal_GetProvider 2014-12-05 10:12:11,警告DISM DISM驱动程序pipe理器:PID = 9932 TID = 8808无法从驱动程序类{4D36E972-E325-11CE-BFC1-08002BE10318}获取启动临界状态司机店。 假设这不是启动关键。 – CDriverPackage :: InitBootCriticalFlag(hr:0x80070490)2014-12-05 10:12:11,信息DISM DISM驱动程序pipe理器:PID = 9932 TID = 8808驱动程序的签名状态C:\ DeploymentShare \现成驱动程序\ Net \ e1c63x64_12.10.29.0_BB24AD7808CE1BF67EDB58B8B4A03234EFF8712D \ e1d63x64.inf是:UNSIGNED – CDriverPackage :: InitSignatureStatus 2014-12-05 10:12:16,信息DISM DISM驱动程序pipe理器:PID = 9932 TID = 8808成功处理驱动程序包'C:\ DeploymentShare \开箱驱动程序\ Net \ e1c63x64_12.10.29.0_BB24AD7808CE1BF67EDB58B8B4A03234EFF8712D \ e1d63x64.inf'。 – CDriverPackage :: InstallEx

所以视为不启动关键和无符号。 有没有办法将这个驱动程序声明为引导关键? 如果是这样,怎么样? 这可能会解决这个问题吗?

概要

总结和说明:我无法在WinPE中加载i217-LM网卡,因此无法在PxE引导期间连接到部署共享,也无法select任何任务序列。 通过用“drvload”命令手动加载驱动程序,我可以完成这个过程并完成部署,但是需要成像的大量计算机,这不是一个理想的解决scheme,所以我希望find修复这样的驱动程序会自动加载。

所需的NIC驱动程序“必须”可以通过引导时的loaddrv离线注入或加载,也可以在Boot.wim文件中在线注入(Dism)。 当然,如果网卡驱动没有正确加载,你永远不会看到MDT存储库,这意味着无法访问任何MDT必须提供的使用其股份。

我认为PE正在检测网卡,但是你的驱动程序没有正确的“在线”注入,这就是为什么如果你用loaddrv手动加载驱动程序,一切正常。

我会假设你正在部署Windows 7.我遇到了类似的问题在最新的英特尔有线网卡芯片组。 检查内核模式驱动程序框架的更新。 Windows 7以每个TechNet 1.9版本的forms启动,并且这需要作为MDT中的任务注入到映像中。 Windows 8authentication的硬件可能会瞄准KMDF 1.11

本文详细解释了这个过程。 这涵盖了实际的映像部署,而不是似乎是你的WinPE映像没有检测到网卡的问题。

你使用什么版本的WinPE?

从解压缩的CAB文件中删除networking驱动程序文件夹。 导入除networking驱动程序文件夹以外的所有驱动程序。 一旦导入,然后导入networking驱动程序。 这为我解决了这个问题。