Making a WinPE CD with HP SmartArray Raid Drivers

The other day I had to extend the C partition on a server.

Microsoft has a command for this, it’s part of DISKPART.EXE

Unfortunately, the needed subcommand is “EXTEND” -which fails on the Boot parition (aka drive C)

Fortunately, there’s an easy way around this – boot from a winPE CD, and the CD becomes the Boot Partition, freeing the C drive for the extend operation to work it’s magic.

Making a WinPE disk isn’t hard, but it’s not as easy as downloading and burning an iso either. In total, there’s 8 commands I needed to enter to make my custom WinPE iso.

About WinPE

WinPE is a ‘PreInstallationEnvironment’ – whatever that means!  To me, it’s a bootable CD, that brings up a windows command prompt. I’ve used one in the past to get files off a retired server that I no longer had access to the password for – boot from winpe, copy the files to a usbkey, done.

Where do you get it?

If you have access to technet or MSDN, you can download something called the windows Automated Installation Kit (Windows AIK) This is filed away with different versions of Windows, it’s not under a menu like tools, or applications, I found it mixed in with Windows 7 as well as 2008R2. Both locations list the same ISO for download.

Unfortunately, the iso you get from technet is the AIK Iso, not the ISO of the WinPE CD you want to burn. You have to first download the AIK then follow the steps below to construct a WINPE iso customized with the drivers you need for your raid card.

Lets begin,

Download the AIK

While you’re waiting for the AIK to download, you’ll also need drivers for your raid card.  You’ll need both the driver (usually a .sys file) and a .INF file. In my case, I looked at device manager to see what driver (.sys file) was in use by the raid card, then I went to HP’s website and downloaded a driver set, extracted it and confirmed that the .sys file I needed was there – there was a .inf with the same name, so I figured I was in business….

(back in a few, waiting for this to download…)

Burn the ISO of the AIK to a DVD (or extract the iso to your hard drive)

Run the Windows AIK Setup (there’s a link to it on the autorun that pops up)

Once thats done you’ll have a new folder in your start menu ‘Windows AIK’ open that folder.

Have a look at the Windows PE manual under documents.

The section I used was ‘Customizing Windows PE’->’Windows PE Walkthroughs’->’Walkthrough: Create a Bootable Windows PE RAM Disk on CD-ROM’

What this does is help make you a bootable CD that will load itself into Ram – you’ll know its running in ram, because the command prompt points to drive X: which is the ram disk.

Before you get started with the above walkthrough, have a look at one more section:

‘Customizing Windows PE’->’Windows PE Customizations How-To Topics’->’Add a Device Driver to an Offline Windows PE Image’

ok what does that mean? well there’s another help option for ‘online’. What’s the difference? Well ‘Online’ means you’ve already booted from the CD, we are still building our CD so we want to use the advice for the ‘offline’ that way, once our CD is done, we won’t need to do anything else to use the driver.

Ok now if you’re clever, you’ve read both sections and have noticed theres something a bit off in trying to merge the two sections – the instructions in the walkthrough tell you to copy winpe.wm to \iso\sources\boot.wim,

but then in the driver section, they tell you to open the winpe.wim to change it. I did so, then when I was done, I just recopied the file to the boot.wim…

Here’s the list of steps I followed:

  1. started deployment tools command prompt as administrator
  2. ran copype.cmd x86 c:\winpe_x86
  3. Dism /Mount-WIM /WimFile:c:\winpe_x86\winpe.wim /index:1 /MountDir:c:\winpe_x86\mount
  4. Dism /image:<path_to_image> /Add-Driver /Driver:(Here I put the folder path to the folder with the .inf and .sys files) /recurse
    (the /recurse causes all the drivers in that folder to be added)
  5. dism /unmount-wim /Mountdir:c:\winpe_x86\mount /commit
    At this point, we’ve altered the winpe.wim (which is basicallly a fancy .iso file)
  6. copy c:\winpe_x86\winpe.wim c:\winpe_x86\ISO\sources\boot.wim
  7. oscdimg -n -bC:\winpe_x86\etfsboot.com C:\winpe_x86\ISO C:\winpe_x86\winpe_x86.iso
    (this created an actual .iso you can burn with your burning software)
  8. Burn the .iso to CD. I used the free & excellent ImgBurn

That’s it!

8 relatively simple steps and you’ll have a bootable Windows PE CD with the Raid drivers of your choosing!

5 thoughts on “Making a WinPE CD with HP SmartArray Raid Drivers”

  1. Thank-you so much for this post. I was scratching my head trying to break down the technet information. Your guide is short and to the point. Just what I needed.

    To simplify, in step four the command I used was:
    Dism /image:C:\WINPE_X86\WINPE.WIM /Add-Driver /Driver:C:\PromiseXPRaidDriver\OEM24.inf /ForceUnsigned

    As I was attempting to add just one specific un-signed .inf driver.

  2. This is good info, but there is an easier way.

    Start Win-PE from a vanilla disk or stick, without the drivers you need, then load them on the fly.

    The syntax is:

    drvload d:\oemsetup.inf

    (ie just point it at the driver file set which you have ready on a usb stick or floppy or whatever)

    This works perfectly well for mass storage drivers like RAID controllers as well as NICs that may not be in your basic Win-PE build. I used it today on a PowerEdge server’s PERC controller. No problems.

  3. Actually the easiest way to do this is just to download ‘extpart.exe’ from Dell’s support site and use that to extend the system partition… it works in the same basic fashion as diskpart. it works with all OS’s, but the actual executable you download is a package that can only be extracted on x86 systems, however once you have the extracted files, they CAN be executed on x64 systems successfully.

    BasementJack says:
    Thanks Mike, I’m glad you’ve had good luck with this tool and thanks for telling me about it. I’d also considered using gparted, or partition magic, but in this particular case, the system was a production system, and the company did not want any 3rd party software used for the expansion. I am sure if we had been using Dell servers, they would have been ok with extpart.

  4. Can you please expand step 4? RE. ?

    Which image?

    I tried c:\winpe_x86\winpe.wim /index:1,
    c:\winpe_x86\winpe.wim and c:\winpe_x86, c:\winpe_x86\ISO\sources\boot.wim /index:1 and keep getting “unable to access the image”.

Comments are closed.