MDT 部署問題-驅動程序未載入(MDT 上的 i217-LM)
在去年的大部分時間裡,我一直在測試一個替換成像系統來替換我們有限的 Ghost 部署系統。我們購買了一批具有 Intel i217-LM NIC 的新機器(HP Workstation Z230)。我在讓這個小傢伙很好地使用 WinPE 時遇到了很大的麻煩。我以為我已經弄清楚了,但我又來了,比以前更卡住了。
我們的映像伺服器由一個裝有 WDS、WAIK 和 MDT 的 Windows Server 2012 機器組成。部署到其他硬體平台工作正常,但是當我嘗試更新的 Z230 機器時,我收到一條消息:
嚮導錯誤
無法建立到部署共享 (\servername\sharename$) 的連接。以下網路設備未安裝驅動程序。PCI\VEN_8086&DEV_153A&SUBSYS_1905103C&REV_05
重試:再次嘗試連接到部署共享。取消:放棄,取消任何正在進行的任務序列。
這是 PxE 啟動客戶端並選擇 LiteTouchx64 啟動映像後彈出的第一件事。我沒有其他選擇。
我知道這可能是驅動程序問題(再次!)。所以我用 F8 調出命令行並嘗試了舊的 ipconfig。沒有。根本沒有列出任何適配器。我回頭查看 MDT 並確認上次修復問題的 INF 文件位於“Out-of-box Drivers”文件夾中(我們還根據製造商、作業系統和型號分離了驅動程序;Hewlett-Packard ->Windows 7 x64->HP Tower Workstation Z230。這些是在命令行中使用帶有適當標誌的“wmic”命令找到的)。當然,它就在那裡。為了安全起見,我更新了部署共享。沒運氣。我嘗試了 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 後,我在設備管理器中檢查了該 NIC 的情況。
我發現了一些有趣的事情:首先,驅動程序已自動從 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 中。我還嘗試再次添加它,這次只是添加到 Out-of-box Drivers 文件夾,而不是任何其他文件夾下。再次更新了部署共享,再試一次,什麼也沒有。
接下來我嘗試將硬體 ID 手動添加到 e1d63x64.inf 文件中,以便它自動拉取。我不知道我在做什麼,真的,所以我可能做錯了。我最終看到了一段行,其中列出了硬體 id 和其他一些亂七八糟的東西,所以我在這一部分添加了硬體 ID。(就像我說的,我不知道自己在做什麼,那是在黑暗中拍攝的)。
我還嘗試將驅動程序手動注入到 LiteTouch 映像的副本中。我能夠使用 DISM 安裝圖像,但是當我嘗試使用 /recurse 和 /forceunsigned 注入驅動程序時(我幾個月前嘗試的第一個驅動程序版本是未簽名的,這讓我有些頭疼。我還嘗試了一個組合每個)它無法注入驅動程序,我認為這不是生產環境的有效解決方案,所以我沒有再花時間在它上面。
我還檢查了 DISM 日誌,發現這些行:
2014-12-05 10:12:11,資訊 DISM DISM 提供程序儲存:PID=9932 TID=8808 獲取提供程序 DriverManager - CDISMProviderStore::GetProvider 2014-12-05 10:12:11,資訊
DISM DISM 提供程序儲存:PID=9932 TID=8808 提供程序先前已初始化。返回現有實例。- CDISMProviderStore::Internal_GetProvider 2014-12-05 10:12:11,警告 DISM DISM 驅動程序管理器:PID=9932 TID=8808 無法從驅動程序類 {4D36E972-E325-11CE-BFC1-08002BE10318} 獲取啟動關鍵狀態司機商店。假設這不是啟動關鍵。- CDriverPackage::InitBootCriticalFlag(hr:0x80070490) 2014-12-05 10:12:11,資訊 DISM DISM 驅動程序管理器:PID=9932 TID=8808 驅動程序 C:\DeploymentShare\Out-of-box Drivers\Net 的簽名狀態\e1c63x64_12.10.29.0_BB24AD7808CE1BF67EDB58B8B4A03234EFF8712D\e1d63x64.inf 是:未簽名 - CDriverPackage::InitSignatureStatus 2014-12-05 10:12:16,資訊 DISM DISM 驅動程序管理器:PID=9932 TID=8808 成功處理驅動程序包’C:\DeploymentShare\Out-of-box Drivers\Net\e1c63x64_12.10.29.0_BB24AD7808CE1BF67EDB58B8B4A03234EFF8712D\e1d63x64.inf’。- CDriverPackage::InstallEx
因此被視為非啟動關鍵且未簽名。有沒有辦法將此驅動程序聲明為啟動關鍵?如果是這樣,怎麼做?這可能會解決問題嗎?
概括
總結和澄清:我無法在 WinPE 期間載入 i217-LM NIC,因此我無法在 PxE 啟動期間連接到部署共享,也無法選擇任何任務序列。通過使用“drvload”命令手動載入驅動程序,我可以解決這個問題並完成部署,但是由於需要對大量電腦進行映像,這不是一個理想的解決方案,所以我希望找到一個修復,以便驅動程序將自動載入。
所需的 NIC 驅動程序“必須”在引導時由 loaddrv 離線注入和載入,或者在 Boot.wim 文件中線上注入 (Dism)。當然,如果 NIC 驅動程序未正確載入,您將永遠不會看到 MDT 儲存庫,這意味著無法訪問 MDT 必須使用其共享提供的任何內容。
我認為 PE 正在檢測 NIC,但您的驅動程序未正確“線上”注入,這就是為什麼如果您使用 loaddrv 手動載入驅動程序一切正常的原因。
我假設您正在部署 Windows 7。我在最新的英特爾有線 NIC 晶片組上遇到了類似的問題。檢查核心模式驅動程序框架以獲取更新。Windows 7 以TechNet的 1.9 版啟動,這需要作為 MDT 中的任務注入到映像中。Windows 8 認證硬體可能會針對 KMDF 1.11
這篇文章詳細解釋了這個過程。這涵蓋了實際的映像部署,而不是您的WinPE 映像未檢測到 NIC 的問題。
您使用的是哪個版本的 WinPE?