Deployment Image Servicing and Management (DISM) – WinPE 3.0 Boot Environment

I recently compiled a new library of commands since the upgrade from WinPE 2.0 to WinPE 3.0. With Windows 7 coming along they released a new way to create bootable USB sticks using Deployment Image Servicing and Management (DISM.exe). You might be asking yourself, what could I use this for? We are using it at my work to re-image computers, capture backup images, mount images, etc. There are many other uses for it but I will not get into that here. I have literally done this procedure a couple hundred times. In a future article I will show you how to write a simple batch script to automate this process. But it helps to understand what is going on with each command in case you have trouble. Batch scripts never work 100% of the time.

You will need the following to proceed:
Windows® Automated Installation Kit (AIK) for Windows® 7 RC (Download from Microsoft) : 05.01.09

  • Windows® Automated Installation Kit (AIK) for Windows® 7 RC (Download from Microsoft) : 08.06.09
  • Bootable Flash drive (500MB or larger)
  • Once you have installed WAIK then you will need to browse to your start menu and click on “Deployment Tools Command Prompt”. I have provided a picture below.

    DISM

    DISM

    Once you have launched DTCP you will need to follow through the commands I have compiled below. The first one I have provided a screenshot.

    DISM – Step #1 – Prep/Cleanup

    DISM /Cleanup-Wim

    The DISM cleanup command simply cleans up any previous wims/mounts you have been working with. If you do this a lot, you will need to use this command otherwise you will start receiving errors from previous wims possibly still left on the system.

    DISM Step #1

    DISM Step #1

    DISM – Step #2 – Copy WinPE 3.0 to your local C Drive

    copype.cmd x86 c:\winpe_x86
    copy c:\winpe_x86\winpe.wim c:\winpe_x86\ISO\sources\boot.wim

    This creates a winpe_x86 folder on your C: drive and then copies the contents of the WinPE folder from the WAIK installation to your folder.

    DISM – Step #3 – Mounting .Wim File on your local C Drive

    Dism /Mount-Wim /WimFile:C:\winpe_x86\winpe.wim /index:1 /MountDir:C:\winpe_x86\mount

    This command mounts the wim file that was copied over in step #2 so that you can browse the system32 folder and insert your custom scripts, etc.

    DISM – Step #4 – Adding Packages to your WIM

    Dism /image:C:\winpe_x86\mount /Add-Package /PackagePath:”C:\Program Files\Windows AIK\Tools\PETools\x86\WinPE_FPs\winpe-wmi.cab”
    Dism /image:C:\winpe_x86\mount /Add-Package /PackagePath:”C:\Program Files\Windows AIK\Tools\PETools\x86\WinPE_FPs\en-us\winpe-wmi_en-us.cab”

    There are many packages you can add to your WINPE boot environment, these are two I always add to mine.

    DISM – Step #5 – Adding Drivers to WinPE

    DISM /image:c:\winpe_x86\mount /Add-Driver /driver:C:\YOUR_FOLDER_OF_INF_DRIVERS\ /recurse

    A nice addition to DISM over the previous peimg command in WINPE 2.0 is the ability to add drivers with the /recurse command. The /recurse command now allows us to simply have all of our drivers in their own directory and tell DISM to scan the root folder and everything beneath it. The number of sub directories won’t matter. I have a huge library of drivers, for example, you will want to have the network and vga drivers for anything that you boot up to in the WinPE environment. By adding the network driver to your WinPE boot environment, it allows you to access network shares for capturing and deploying .wim images.

    DISM – Step #6 – Adding Custom Scripts, Batch Files, Etc.

    xcopy /e /y “C:\YOUR_FOLDER_OF_SCRIPTS” C:\winpe_x86\mount\Windows\System32\

    Without adding anything to your WinPE boot environment you will simply be left with a command prompt window when booting to it on a computer. I have added over 15 different batch scripts with different functions. Click here to download my WinPE discs. One thing I highly suggest adding is GImageX. GImageX is a very small GUI program that you can add to be able to capture, deploy, and mount images within the WinPE boot environment. I have provided a picture of GImageX GUI below.

    For WinPE 3.0 Boot Environment - Mount, Deploy, Capture Images

    For WinPE 3.0 Boot Environment - Mount, Deploy, Capture Images

    DISM – Step #7 – Unmounting your finished .WIM

    Dism /Unmount-Wim /MountDir:C:\winpe_x86\mount\ /Commit

    This commits the final changes to your .WIM file and anything you added to it. It is very important to unmount your .WIM file when you have finished.

    DISM – Step #8 – Copies your .WIM to Boot ISO

    copy c:\winpe_x86\winpe.wim c:\winpe_x86\ISO\sources\boot.wim /Y

    DISM – Step #9 – Creates bootable .ISO of WinPE 3.0

    oscdimg -n -bc:\winpe_x86\etfsboot.com c:\winpe_x86\ISO c:\winpe_x86\winpe_x86.iso

    Now, if you are wanting to use a flash stick you will need to format a flash stick in a certain way, and then simply copy the contents of the c:\winpe_x86\ISO\ to your flash drive. And thats it! Stick it in a computer, restart, and boot to it. The .ISO made in step #9 can simply be burned to a CD with Nero or other program capable of making bootable CD and then you can boot to it in the same way.

    DISM – Step #10 – Optional Backup

    xcopy /e /y “C:\winpe_x86″ E:\BACKUP_FOLDER_FOR_LATEST_BOOT_BUILD\

    This step is optional, but I always like to keep a backup for the future. Also, if you ever need to create another bootable flash stick or CD you can simply go to your backup and grab the files.

    Share and Enjoy:
    • Twitter
    • Facebook
    • Digg
    • del.icio.us
    • Technorati
    • StumbleUpon
    • Google Bookmarks

    Tags: , , , , , , ,

    112 Responses to “Deployment Image Servicing and Management (DISM) – WinPE 3.0 Boot Environment”

    1. Dennis says:

      Hey Brian,

      I muxt say that your guide helped me alot:) thnx
      but,

      I tried to download your driver map, but i get some critical errors when trying to open the archive with either Winrar or 7-zip.

      You have any idea how to fix this?
      thnx

      //Dennis

    2. Stuart says:

      Brian,

      Is there a way of determining speed/duplex or setting speed/duplex for a NIC in a WinPE 3.0 boot environment ?

      Thanks

    3. Scott Scanlon says:

      I didn’t see an option to post comments on the WinPE 3.0 Boot Environment Scripts page, so I’m commenting here…

      I can’t find any directions for using the “WinPE3.0_Contents_x86″ files. Do you copy them over to your winpe.iso using something like Magic ISO? And to what directory?

      Also what files within “WinPE3.0_Contents_x86.zip” need to be customized?

      I have found Symantecs Ghost to be the easiest for adding drivers, but I’m not sure how to customize it with these files. Has anyone gone that route?

      Thanks.

    4. SCOTT SCANLON says:

      I didn’t see an option to post comments on the WinPE 3.0 Boot Environment Scripts page, so I’m commenting here…

      I can’t find any directions for using the “WinPE3.0_Contents_x86″ files. Do you copy them over to your winpe.iso using something like Magic ISO? And to what directory?

      Also what files within “WinPE3.0_Contents_x86.zip” need to be customized?

      I have found Symantecs Ghost to be the easiest for adding drivers, but I’m not sure how to customize it with these files. Has anyone gone that route?

      Thanks.

    5. SCOTT SCANLON says:

      do i copy the contents via:
      xcopy /e /y “C:\WinPE3.0_Contents_x86″ C:\winpe_x86\mount\Windows\System32\

    6. Gary says:

      Thanks man – you rule!

    7. Iain says:

      Excellent – thanks mate!

    8. Marco says:

      So Brian, I have successfully implemented your instructions, but have run into a snafu with a elite book 2540p. I get an error message “WDSClient: an error occured while starting networking” and I know it is related to the drivers injected in to my boot.wim. My problem is that i have downloaded the latest driver from intel for the 82577LM and it still fails. I injected all versions of the driver.

      Thanks,
      marco

    9. Daniel Lopes says:

      is there any way to remove the “Press any key to start from CD / DVD” Option ??

    10. Edward Tippelt says:

      del /q c:\winpe_x86\iso\boot\bootfix.bin should do it

    11. Erik Sundin says:

      I had issues mapping a network drive in PE 3.0 (vs 2003 server). The sollution was to add this DWORD to the winPE registry:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\LmCompatibilityLevel=2

      Apparently Windows 7 (and PE 3.0) defaults LmCompatibilityLevel to 3.

    12. Deb says:

      I am a bit confused on your instructions versus the instructions Microsoft has posted. Am I supposed to run your instructions on the customized machine?

    Leave a Reply