UIU Blog

UIU Support Case Example - Handling non-conforming hard disk controller pre-installation drivers in Windows XP and 7 using DISM with UIU Standard

Recently we have seen several hard disk controller problems arising in enterprise deployment situations. There are some new hard disk controllers, in particular RAID controllers, which are not performing as seamlessly as their predecessors and can be found on high-end workstation class hardware configurations.

The problem that arises in Windows XP is that these new controllers use a driver which unfortunately employs the same naming convention as previous versions of the driver, yet provides for no legacy functionality available in its predecessors. Since the older drivers do not support the new controller, we are left at an impasse as both are boot critical drivers, and both require pre-installation. If we pre-install both, the one that is pre-installed last overwrites any previous driver that was installed. We are currently working on resolving this issue programmatically and in the meantime, provide a work-around for customers which requires additional command line operations.

With Windows 7 the problem becomes a bit trickier as Microsoft includes some very generic class drivers which in theory should cover any hardware and allow the machine to boot. Once the machine is booted UIU can perform its functions on the image and install the driver that is best for the device in question. These new controllers, for specific reasons, are not able to make use of the generic Windows class drivers, and result in a blue screen shortly after boot when the machine attempts to access the contents of the hard drive. The same work-around can also be applied with Windows 7 and is the only effective way to install the drivers for these special case hardware situations until a programmatic solution can be prepared.

In summary, the work-around is that once a UIU image has been prepared, you will shut down and restart into a Windows PE environment where we can inject the needed drivers into the image in an offline state. This will place the drivers into the boot critical area of the windows system and allow for a successful boot. Once injected, the image can then be captured using your normal capture method. It should be noted here that your pre-installation environment (Windows PE) will also need these drivers to be installed in order to push the image to the hard drive in the first place. It should further be noted that in our testing, Windows 8 class drivers have recognized and provided the needed generic support in order to boot.

Below you fill find a step by step process for using Microsoft's DISM (Deployment Image Servicing and Management) to add your boot critical drivers. Not applicable for Windows XP.

  1. Build a UIU image as you normally would.
  2. Save your RAID drivers to the hard drive at a location of your choice if you do not intend to install from external media.
  3. Shutdown the machine and boot into a WinPE environment.
  4. Insert your external media with the RAID drivers if necessary.
  5. Use diskpart to confirm drive identification
    1. Diskpart> list volume
      1. this will list the drive letters, labels, and sizes; take note of the drives and their letters as WinPE has marked them.
        1. Depending on your disk setup what is normally your C: drive may end up as your D: drive in WinPE.
    2. Exit Diskpart with the exit command.
  6. Run a DISM command to install and setup the RAID drivers to be available on boot.
    1. x:\current\path> dism /image:d: /add-driver /driver:e:\ /recurse
      1. /image:d: where d is equal to the windows install volume as WinPE has marked it. (what would normally be your c: drive)
      2. /driver:e:\ is the location where the RAID drivers can be found.
        1. This can be specific and include the .INF file in the path, or it can be the folder containing the .INF. if it is a folder containing the .INF then the /recurse option is needed.
      1. /recurse option will cause the process to search through the drive hierarchy recursively under the specified directory and install any INFs it finds.
        1. If you do not use the /recurse option you will need to give the precise path to the INF in the /driver option.
    2. You should, hopefully, receive verification that the driver was added successfully.
  7. Proceed with your normal image capture process.
    1. wpeutil shutdown or wpeutil reboot will get you out of WinPE if you are not familiar with the environment commands.
  8. Deploy for a test!

 




Comments are closed.
Showing 0 Comment


Archives

  • 2019
  • 2018
  • 2017
  • 2015
  • 2014
  • 2013
  • 2012