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.
WinPE 3.0 Boot Environment
You will need the following to proceed:
- 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.
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
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 2 – Copy WinPE 3.0 to your local C Drive
[vb]copype.cmd x86 c:winpe_x86
copy c:winpe_x86winpe.wim c:winpe_x86ISOsourcesboot.wim [/vb]
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
[vb]Dism /Mount-Wim /WimFile:C:winpe_x86winpe.wim /index:1 /MountDir:C:winpe_x86mount [/vb]
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
[vb]Dism /image:C:winpe_x86mount /Add-Package /PackagePath:”C:Program FilesWindows AIKToolsPEToolsx86WinPE_FPswinpe-wmi.cab”
Dism /image:C:winpe_x86mount /Add-Package /PackagePath:”C:Program FilesWindows AIKToolsPEToolsx86WinPE_FPsen-uswinpe-wmi_en-us.cab”[/vb]
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
[vb]DISM /image:c:winpe_x86mount /Add-Driver /driver:C:YOUR_FOLDER_OF_INF_DRIVERS /recurse[/vb]
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.
[vb]xcopy /e /y “C:YOUR_FOLDER_OF_SCRIPTS” C:winpe_x86mountWindowsSystem32[/vb]
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. 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.
DISM – Step 7 – Unmounting your finished .WIM
[vb]Dism /Unmount-Wim /MountDir:C:winpe_x86mount /Commit[/vb]
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
[vb]copy c:winpe_x86winpe.wim c:winpe_x86ISOsourcesboot.wim /Y[/vb]
DISM – Step 9 – Creates bootable .ISO of WinPE 3.0
[vb]oscdimg -n -bc:winpe_x86etfsboot.com c:winpe_x86ISO c:winpe_x86winpe_x86.iso[/vb]
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_x86ISO 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
[vb]xcopy /e /y “C:winpe_x86” E:BACKUP_FOLDER_FOR_LATEST_BOOT_BUILD[/vb]
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.