Win2003 WDS - How to inject 3rd party network driver into PE image

[問題描述]:   WDS client從PXE開機,因 Boot Image找不到網卡驅動程式無法完成安裝

clip_image002

[問題說明]: 因為 Boot Image 並不包含該機器的網卡驅動程式,必須手動將驅動程式放入 Boot Image

環境:
WDS server : Windows Server 2003 SP2
WDS client  : Windows Vista or XP

[操作步驟]:

1. 到 Intel網站下載最新的網卡 Driver (以Intel網卡為例)
    https://www.intel.com/p/en_US/support?iid=gg_work+home_support_downloads

2. 用 PXE開機到錯誤訊息的畫面並按下 Shift+F10打開命令提示字元

3. 手動載入Driver測試
    a. 輸入 ipconfig (此時應該是沒有IP,因為Boot Image並不包含此網卡driver)
    b. 將下載的驅動程式放入隨身碟或光碟片,輸入以下指令

    drvload d:\driver\e1y6032.inf ( d:\driver 檔案路徑, e1y6032.inf : driver的inf檔名)

    PS: 若出現 0x800700002的錯誤,請確認載入的 driver 路徑以及檔名為正確的

clip_image004

     c. wpeutil InitializeNetwork

clip_image006

    d. 再輸入 ipconfig (此時有IP表示此 driver是正確的, 若沒有IP需要再執行 b的步驟載入正確的 driver)

clip_image008

4. 將網卡driver加入 boot Image
    a. 先從WDS介面->Boot Images ->選到Vista 的 Image將他 Disable

clip_image010

   b. 確認 Boot Image的檔名

clip_image012

   c. 在 WDS上打開命令提示字元,輸入以下指令 (需安裝 AIK套件)

https://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=c7d4bc6d-15f3-4284-9123-679830d629f2

   - cd c:\program files\windows aik\tools\petools
   - copype.cmd x86 c:\windowspe-x86 (建立新的PE working directory到 c:\windowspe-x86)
     x86:  32位元的平台 /  c:\windowspe-x86 (PE working directory路徑)

clip_image014

- 查詢 boot index Number : imagex /info e:\RemoteInstall\Boot\x86\Images\boot.wim

clip_image015

- 輸入以下指令將Driver載入Boot Image :
  Imagex /mountrw e:\remoteinstall\boot\x86\images\boot.wim 2 mount

clip_image016

- 將網卡驅動程式載入 Boot Image
   peimg /inf=c:\NDIS61\e1y6032.inf mount \Windows

clip_image017

- 可以檢查 C:\windowspe-x86\mount\Windows\inf的 oem0.inf 是否有成功載入 e1y6032.inf clip_image018

-  Imagex /unmount /commit mount

clip_image019

- 將此 Boot Image設為 Enable並重新將 client用PXE開機測試

clip_image021

- 開機後可看到以下安裝畫面

clip_image022