Creating custom boot image for “bare metal” OS deployment in SCCM 2007

by Marin Franković on 20 October, 2008

I tried using built in boot images from SCCM 2007 but they cerated some problems for me. Here is a procedure for creating your own boot image using WAIK:

An operating system deployment boot image is a Windows?PE image and is used during an operating system deployment. By default, Configuration Manager 2007 creates an x86 and x64 boot image for use with operating system deployments. The boot images are displayed in the results pane when you select the Boot Images node in the Configuration Manager 2007 administrator console.

You can also import you own custom boot images. You may want custom boot images for any of the following scenarios:

  • You want to run scripts or custom actions in Windows?PE that require optional Windows?PE components that are not enabled in the default Configuration Manager 2007 boot images.
  • You would like to include custom tools and scripts in the Windows?PE image.
  • You would like to initiate operating system deployments using boot media, stand-alone media and PXE initiated deployments.
  • If you are deploying operating systems in a complex environment you may require multiple boot images containing different sets of device drivers. Adding device drivers to a boot image increases the size of the boot image so individual boot images should not contain all available device drivers.

To successfully import a custom boot image, the boot image must already be finalized or the SMS Provider will reject it. Configuration Manager 2007 setup puts two finalized boot images in the following directory: <SMS installation>\OSD\boot\<arch>. You can import these boot images into the boot image catalog. Use the following procedure to create a new source boot image that can be imported:


Note: ?Note these steps must be run on a computer running the SMS provider.

1.???? Copy a boot image from the directory where the Windows Automated Installation Kit (WAIK) is installed.

2.???? Mount this new copied boot image to a temporary directory. For example; %systemroot%\temp\bootimages imagex.exe /mountrw c:\winpe\winpe.wim 1 %systemroot%\temp\bootimages.

3.???? Import and install the security .dll optional component. To prepare an X86 boot image you must perform the following steps:

1.???? peimg.exe /import=\\<site server>\SMS_<site code>\OSD\bin\i386\ %systemroot%\temp\bootimages\windows

2.???? peimg.exe /install=Package_1_for_KB939663 %systemroot%\temp\bootimages\windows

3.???? To prepare an X64 image you must perform the following steps:

4.???? peimg.exe /import=\\<site server>\SMS_<site code>\OSD\bin\x64\ %systemroot%\temp\bootimages\windows

5.???? %systemroot%\temp\bootimages\windows

6.???? peimg.exe /install=Package_1_for_KB939663 %systemroot%\temp\bootimages\windows

4.???? Install the three optional components that are required to perform Configuration Manager 2007 operating system deployments:

1.???? peimg.exe /install=WinPE-Scripting-Package %systemroot%\temp\bootimages\windows

2.???? peimg.exe /install=WinPE-WMI-Package %systemroot%\temp\bootimages\windows

3.???? peimg.exe /install=WinPE-XML-Package %systemroot%\temp\bootimages\windows

4.???? Install the optional components that should be included with the boot image.

5.???? Copy the additional required files that are needed to mount the directory.

6.???? Finalize the boot image using the following command: peimg.exe /prep %systemroot%\temp\bootimages\windows /f

7.???? Dismount the boot image using the following command: imagex.exe /unmount /commit %systemroot%\temp\bootimages\windows

8.???? Export the custom boot image. This step is necessary to reduce the image footprint: imagex.exe /export c:\winpe\winpe.wim 1 c:\winpe\boot.wim


Note: Imagex.exe and peimg.exe are located in the WAIK installation directory.

You can import the newly created boot image into the Configuration Manager 2007 catalog.

{ 2 comments… read them below or add one }

nomad July 8, 2009 at 18:16

Good instruction. Thanks.


Steph June 9, 2010 at 14:45

I had a lot of trouble sorting this out, but finally it works. Thanks for the instructions!


Leave a Reply

Previous post:

Next post: