Add VMware NIC drivers to your SCCM boot image

With the expansion of Hyper-V and Virtual Machine Manager, I have worked with quite a few people that are either mixing their virtual environment with VMware and Hyper-V or moving off of VMware all together. Intermixing System Center products does not usually pose any type of problems when they work together, but I recently ran into an issue with an environment where they were using Configuration Manager 2007, Hyper-V and had some VMware mixed into the environment.

Scenario:

We were testing some deployment task sequences using a virtual machine that was housed on a VMware server and ran into an issue where the task sequence would fail after the first reboot during the build process. After quite a bit of research, we were finally able to determine the root cause to the failure.

Cause:

Configuration Manager does not have drivers for a VMware Virtual Machine.

Solution:

After a bit of grueling research, I was finally able to locate the drivers that were needed to create a “Network” package in Configuration Manager to allow the build process to complete. I have listed the steps below that we took in order to correct the problem.

To add VMware network driver to the boot images:

This first part was the hard part to find:

  1. Connect to your VMware Virtual Machine (Any of them will do) and navigate to C:\Program Files\vmware tool. Copy the entire “driver” folder that is in this directory over to a network share that Configuration Manager has rights to.
  2. Connect to your SCCM Server (or a machine that has the SCCM console installed).

This next part I was able to pull from the Microsoft TechNet site located at:

http://technet.microsoft.com/en-us/library/bb633285.aspx

  1. From the SCCM Console and navigate to System Center Configuration Manager / Site Database / Computer Management / Operating System Deployment/ Drivers.
  2. To start the Import New Driver Wizard, do any of the following:
    1. Click Action on the file menu in MMC snap-ins, and then click Import.
    2. In the Actions pane, click Import.
    3. Right-click the Drivers node, and then click Import
  3. On the Locate Driver page, specify whether you want to import a specific device driver or all device drivers contained in a specific directory.
    1. To import a specific driver, select Import a specific driver and specify the source file directory in UNC format and the Windows device driver.INF or mass storage txtsetup.oem file to be imported.
    2. To import all of the device drivers in a specific directory, select Import all drivers in the following network path (UNC) to its .inf or txtsetup.oem file and specify the network path to the device driver directory. (note 1)
    3. On the Driver Details page, specify a descriptive name and optional description for the driver.INF file or files that will be imported. To allow computers to use the device drivers, the Enable these drivers and allow computers to install them check box must be checked. This check box is selected by default. (note 2
  4. To assign the device drivers to a category for filtering purposes, such as “Beta” or “Production,” click the Categories button. The category assignment is also used to configure the device drivers that will be considered by the Auto Apply Driver task sequence step.
  5. On the Platforms Applicability page, confirm the platforms where these drivers will be installed.
    1. To make the driver available to all platforms, select This driver can be run on any platform.
    2. To specify a particular client platform for the device driver to be installed, selectThis driver can run only on the specified platforms, and then select the applicable platforms.
  6. On the Add Driver to Packages page, assign the device driver to an existing package, or create a new package by clicking the New Package button to open the New Driver Package dialog box.
  7. Specify the Name, and Description that should be associated with the new driver package and provide the source directory in UNC format, and then select Update distribution points when finished to update the distribution points immediately. (note 3)
  8. On the Add Driver to Boot Images page, specify the boot image or images you would like to add the driver to. (note 4)
  9. Select Update distribution points when finished to update the distribution points immediately with the updated boot images.
  10. On the Summary page, review the action details, and then click Next to complete the wizard.
  11. Advertise your task sequence to your collection.

And then you are ready to deploy your task sequence to a machine that is housed on a VMware server farm.

I would like to note that this is in no way a guarantee that this will work for your environment. Every environment is different, but these steps worked for me. Any comments or feedback would be appreciated.

Note 1: To import a subset of device drivers from a large directory, you can create a new subdirectory and copy the desired drivers into the newly created directory. Use the method above to import the contents of that subdirectory. Each device driver should be imported into its own subdirectory.

Note 2: If a device driver is causing a problem or you want to suspend deployment of a device driver, you can disable the device driver by clearing the Enable these drivers and allow computers to install them check box. For computers to use and install a driver, this option must be enabled.

Note 3: Drivers must be part of a package and deployed to distribution points before computers can install them. If you do not update distribution points immediately, you must update the distribution points later using the Update Distribution Point wizard.

Note 4: Only mass storage and network device drivers should be added to the boot images for operating system deployment scenarios.