KB 970921 - How to add NIC drivers for Offline P2V in SCVMM

One of the questions that we often receive is how to perform a P2V on an older Windows 2000 server.  The only way to accomplish this is to perform an Offline P2V where the source is restarted into the Windows Preinstallation Environment (WinPE) before VMM converts the physical disks to virtual hard disks (VHDs).  Most often this also means that the physical hardware running Windows 2000 server is also several years old.  This often introduces the challenge of finding a driver for the NIC for Vista/W2K8 since VMM 2008 uses the version of WinPE included on W2K8.  And since the server itself may be several years old finding the right driver can sometimes prove difficult. 

The following steps assume this same scenario.  I was trying to perform an Offline P2V of an older Windows 2000 server that was using a HP NIC3163 Fast Ethernet NIC. 

       1. Collect the setupapi.app.log file from 'x:\windows\inf' while booted into WinPE.

2. Open the log file and navigate to the bottom and search up for the failure. Note the very clear error message that "there are no compatibale drivers for this device"

            < excerpt from setupapi.app.log >

               >>> [DIF_SELECTBESTCOMPATDRV -

PCI\VEN_8086&DEV_1229&SUBSYS_B1340E11&REV_08\3&13C0B0C5&0&28]

               >>> Section start 2009/03/24 14:31:58.828

               cmd: wpeinit

               dvi: No class installer for 'Ethernet Controller'

               dvi: No CoInstallers found

               dvi: Default installer: Enter 14:31:58.828

               dvi: {Select Best Driver}

               ! dvi: Selecting driver failed(0xe0000228)

                dvi: {Select Best Driver - exit(0xe0000228)}

               ! dvi: Default installer: failed!

               ! dvi: Error 0xe0000228: There are no compatible drivers for this device.

               <<< Section end 2009/03/24 14:31:58.828

               <<< [Exit status: FAILURE(0xe0000228)]

3. Verify the PnPID of the installed NIC by collecting the NFO file from the server. Use the following steps to collect this file and locate the PnPID of the installed NIC.

            a. Click Start, point to Run and type "msinfo32" (without the quotes) in the Open box and click Ok.

            b. This will open the System Information dialog.

            c. Under System Summary, expand Components and then Network followed by Adapter.

            d. In the right hand pane, a list of all the installed adapters is displayed.

            e. Scroll down to locate the physical adapter and note the PnPID.

            f. This PnPID should match the one listed in the error from the setupapi.app.log.

            g. This should look similar to the following:

               Name [00000008] HP NC3163 Fast Ethernet NIC

               Product Name HP NC3163 Fast Ethernet NIC

               PNP Device ID PCI\VEN_8086&DEV_1229&SUBSYS_B1340E11&REV_08\3&13C0B0C5&0&28

4. Next, locate the correct driver for this NIC from the hardware vendor. A quick search for the NIC used in the example turned up the following downloads for this NIC on HP's site.

https://h20000.www2.hp.com/bizsupport/TechSupport/DriverDownload.jsp?prodNameId=407753&lang=en&cc=us&prodTypeId=329290&prodSeriesId=407751&taskId=135

5. Now we need to locate the correct driver from the hardware vendors site to provide for WinPE for the offline conversion. Since VMM2008 uses the version of WinPE from Windows Server 2008, you will want to first locate W2K8/Vista drivers for the installed adapter.

6. Here are the drivers available from the hardware vendor for this particular NIC. Note the absence of W2K8/Vista drivers.

                        Microsoft MS-DOS

          Microsoft Windows 2000

                        Microsoft Windows NT 4.0

                        Microsoft Windows Server 2003

                        Microsoft Windows Server 2003 for 64-bit extended systems

7. Here is where we're going to run into a bit of trouble with this particular NIC. The NIC is pretty old and the vendor doesn't provide any drivers for Vista or W2K8. We're going to have to try some older drivers and hopefully one of those will work. But it will be trial and error. And it may end up that none of them are compatible with WinPE.

8. I selected the latest released driver for this adapter which happens to be for Microsoft Windows Server 2003 (cp009602) and downloaded to the C:\HP directory. The contents of the driver download may be extracted by double clicking on it. There will be an extract option. It's always a good idea to extract the contents to a different folder than where the actual executable is.

               Here are the extracted contents to C:\HP\Flat folder

                             cp009602.xml

                             cp_data.xml

                             cpqsetup.exe

                             install.xml

                             n100w32.sec

                             n100325.sys

                             netcpqi.ini

                             nicdrvd.dll

9. Now we need to copy the contents of C:\HP\Flat to 'C:\Program Files\Microsoft System Center Virtual Machine Manager 2008\Driver Import' directory. Create a logical folder structure under the 'Driver Import' folder such as ...NIC\HP NC3163.

10. Then we're ready to start the P2V wizard again in SCVMM.

11. Select the Offline conversion. This is on the same screen where you select the drives to convert. This option is located near the lower left hand corner on this screen. Once expanded, select 'Offline conversion' and Ok. The following screen is called 'Specify offline conversion options'. The default option is 'obtain IP automatically' but you'll want to change that to 'use the following IPv4'. This will automatically pull the IP information from the source and display it in a window that can be edited. Verify this information is correct and continue forward and complete the P2V wizard.

If the driver selected was the correct one, then P2V process should complete without any further problems. If it wasn't, then follow the same steps outlined above with another of the drivers from the hardware vendors site. Hopefully one will work with this version of WinPE and allow the P2V conversion to complete as expected.

Another option is to temporarily install another newer NIC in the server as a workaround just to get the server virtualized.

This information has since been published under the following knowledge base article.

970921 How to add NIC drivers for offline P2V in VMM2008
https://support.microsoft.com/default.aspx?scid=kb;EN-US;970921