In "Windows-speak," WinPE is shorthand for the Windows Preinstallation Environment, a favorite tool for system administrators, particularly those who must build and deploy Windows installations in bulk.
But it's not just a professional tool for volume Windows work: WinPE is also quite useful as a toolkit for building bootable Windows images that can be installed and run from a USB Flash drive (aka UFD).
In fact, Microsoft defines WinPE as "a minimal operating system designed to prepare a computer for Windows installation." WinPE is what you run when you boot from a Windows Vista or a Windows 7 install CD (or other installable image) and also supports the Windows Repair Environment (sometimes abbreviated as WinRE) that you can run from such media as well.
Windows Automated Installation Kit for Windows 7 (WAIK)
The primary toolset for working with WinPE is the Microsoft Windows Automated Installation Kit, otherwise known as WAIK (pronounced "wake"). There's a new version out for Windows 7 that adds to the environment's capabilities, and makes it easier to work with WinPE than it was with earlier versions.
To use WAIK, you must grab its ISO file from the Microsoft Download Center and then burn it to a DVD (or mount that ISO image) so you can install this tool on your PC.
Microsoft calls the machine upon which you build install images using WinPE a "technician computer" and documents the requirements for such machines in a TechNet article entitled Building a Technician Computer. Almost any modern PC running Windows XP, Vista, or Windows 7 is likely to qualify for the role, as long as it has a CD or DVD burner, image burning software, and network access. None of my normal desktops has ever failed to qualify for the role.
Setting up the Windows PE Build Environment
Here's a set of step-by-step instructions for creating the directory structure required to construct a Windows PE image (you must install WAIK first, and you should also make an on-disk copy of a Windows 7 installation image from a DVD you burn from a valid Windows 7 .ISO file (or that you mount using some kind of image mounting tool, such as Virtual CloneDrive).
- Click Start, All Programs, Microsoft Windows AIK, Deployment Tools Command Prompt to launch a WinPE command window (you must run this from an account with admin privileges).
- Run the copype.cmd script, where that script takes two arguments: target platform (which may be one of x86 for 32-bit environments, amd64 for 64-bit AMD processors, and ia64 for 64-bit Intel processors), and destination (a path specification where you wish to root your WinPE directory). Here's an example:
- You can add additional applications and scripts to a Windows PE image that you might want to use while working inside a Windows PE runtime environment. Microsoft recommends the following items be added from the Windows AIK directories:
- ImageX: a tool to capture and apply Windows image .WIM files:
- Package Manager: a tool to manage .WIM files offline (also requires the MSXML 6 binaries):
- Create an exclusion list if you plan to use ImageX in your WinPE image; otherwise, locked files encountered during an ImageX capture can cause that operation to fail. Exclude files by creating a configuration file named Wimscript.ini. Here's an example of a common file, which must be saved in the same directory where ImageX.exe resides (K:\WinPE_x86\iso\ in this example):
xcopy c:\Program Files\Windows AIK\Tools\x86\imagex.exe K:\WinPE_x86\iso\
xcopy c:\Program Files\Windows AIK\Tools\x86\Servicing K:\WinPE_x86\iso\Servicing /s copy %windir%\system32\msxml6*.dll K:\WinPE_x86\iso\Servicing
[ExclusionList] ntfs.log hiberfil.sys pagefile.sys "System Volume Information" RECYCLER Windows\CSC [CompressionExclusionList] *.mp3 *.zip *.cab \WINDOWS\inf\*.pnf
You can find more information on this topic in the TechNet article entitled Create an ImageX Configuration file.
Create a Bootable UFD
Next, you must prep a USB Flash Drive (UFD) to act as your bootable WinPE device The first set of steps describes how to prep the UFD for use. The second set describes how to copy your WinPE image to that device.
List 1: Prep the UFD.
From a command prompt, enter the following series of instructions:
- List disk (be sure to note the disk number associated with the UFD you want to format; you are going to destroy the contents of whichever disk you select here, so be sure to pick the right one. In my case, this was the only 4 GB (3936 MB, actually) device: it appeared in my list as disk 11.
- Select disk 11
- Create partition primary size=3800
- Format fs=fat32
The following screenshot captures steps 2-8 (step 1 opens a new command window, and step 9 closes it) with sufficient commentary to describe what each step is doing. Notice that you must enter a lower number than the total size of the drive reported in the list disk command to create the primary partition on your UFD.
A single command suffices to copy the contents of the WinPE ISO directory to the UFD (be sure to use the right drive letter for the UFD you're using). Ours was named F:
Xcopy K:\WinPE_x86\iso\*.* /s /e /f F:\
After that, you can boot from your UFD to run the Windows Repair Environment, to perform basic repairs on your primary system disk. With more tinkeringand addition of further scripts, device drivers, and programs to your WinPE imagethere's no limit to the things you can use WinPE to do.
A basic WinPE image for Windows 7 requires under 1 GB of storage space; 4 GB is big enough for even fairly complex, well-populated WinPE images.
If you really want to get fancy, check out the WinBuilder project at http://www.boot-land.net. They have active WinPE projects for XP, Vista, and Windows 7, and can do amazing things with this technology. See the Resources section for some useful pointers to Windows 7related projects
Useful WinPE Resources
Microsoft Windows Client TechCenter:
- Windows 7 Desktop Deployment (http://technet.microsoft.com/en-us/library/ee461266%28WS.10%29.aspx)
- Windows Automated Installation Kit for Windows 7 (http://technet.microsoft.com/en-us/library/dd349343%28WS.10%29.aspx) download from http://www.microsoft.com/downloads/details.aspx?FamilyID=696dd665-9f76-4177-a811-39c26d3b3b34&displaylang=en)
- WinBuilder.net is a Website devoted to various kits and installation tools built around WinPE. The Windows 7 version is called Win7PE. The Win7PE forums contain information, tutorials, scripts, and pointers to relevant downloads (http://www.boot-land.net/forums/index.php?showforum=91)