What is Windows PE?
Windows Preinstallation Environment (Windows PE) 2.0 is a minimal Win32 operating system with limited services, built on the Windows Vista kernel. It is used to prepare a computer for Windows installation, to copy disk images from a network file server, and to initiate Windows Setup.
Windows PE is not designed to be the primary operating system on a computer, but is instead used as a standalone preinstallation environment and as an integral component of other setup and recovery technologies, such as Setup for Windows Vista, Windows Deployment Services (Windows DS), the Systems Management Server (SMS) Operating System (OS) Deployment Feature Pack, and the Windows Recovery Environment (Windows RE).
This topic includes:
- Benefits of Windows PE
- Common Windows PE Scenarios
- Windows PE Limitations
- Windows PE Dependencies
- Supported Drivers
- Technologies Related to Windows PE
Benefits of Windows PE
Windows PE was created to help original equipment manufacturers (OEMs) and corporations boot a computer with no functioning operating system. In the past, OEMs and corporations often used an MS-DOS-based boot floppy disk to start a computer, and then either to:
- Connect to a network share where a Windows installation source or disk image was located.
- Troubleshoot and recover a copy of Windows that did not start.
However, an MS-DOS-based boot floppy disk has a number of limitations that make it awkward to use for preinstalling Windows or recovering existing installations or data:
- No support for the NTFS file system.
- No native networking support.
- No support for 32-bit (or 64-bit) Windows device drivers, making it necessary to locate 16-bit drivers.
- Rudimentary support for custom applications and scripts.
The limitations of MS-DOS-based boot disks led Microsoft to develop Windows PE, which is Microsoft’s primary tool for booting computers with no functional operating system. Once you boot a computer into Windows PE, you can prepare a computer for Windows installation and then initiate Windows Setup from a network or a local source. Otherwise, you can service an existing copy of Windows or recover data.
Because Windows PE is based on the kernel for Windows Vista, it overcomes the limitations of MS-DOS-based boot disks by providing the following capabilities:
- Native support for NTFS 5.x file systems, including dynamic volume creation and management.
- Native support for TCP/IP networking and file sharing (client only).
- Native support for 32-bit (or 64-bit) Windows device drivers.
- Native support for a subset of the Win32 Application Programming Interface (API); optional support for Windows Management Instrumentation (WMI) and Windows Script Host (Windows SH).
- Can be started from different kinds of media, including CDs, DVDs, USB flash devices (UFD), and Windows Deployment Services (Windows DS).
Note
This section discusses the standalone version of Windows PE. Customized versions of Windows PE that are used in other products and Windows technologies (such as Windows DS) may provide different functionality. For more information about using Windows PE in these environments, consult the relevant product documentation.
Common Windows PE Scenarios
Windows PE is a modified version of the Windows operating system that is designed to support installing Windows and troubleshooting and recovering an installation that can no longer boot.
- Installing Windows Vista. Windows PE runs every time you install Windows Vista. The graphical tools that collect configuration information during the setup phase are running within Windows PE. In addition, information technology (IT) departments can customize and extend Windows PE to meet their unique deployment needs. Windows PE also provides support for servicing Windows images.
Important
Windows PE supports the deployment of previous versions of Windows. Refer to your licensing agreement for restrictions or contact your Microsoft representative.
- Troubleshooting. Windows PE is useful for both automatic and manual troubleshooting. For example, if Windows Vista fails to start because of a corrupted system file, Windows PE can automatically start and launch the Windows Recovery Environment (Windows RE). You can also manually start Windows PE to use built-in or customized troubleshooting and diagnostic tools.
- Recovery. OEMs and independent software vendors (ISVs) can use Windows PE to build customized, automated solutions for recovering and rebuilding computers running Windows Vista. For example, users can start their computers from Windows PE recovery CDs or recovery partitions to automatically reformat their hard disks and to reinstall Windows Vista with the original drivers, settings, and applications.
Windows PE Limitations
Windows PE is a subset of Windows Vista, and has the following limitations:
- To reduce its size, Windows PE includes only a subset of the available Win32 application programming interfaces (APIs). I/O (disk and network) and core Win32 APIs are included.
- To prevent its use as a pirated operating system, Windows PE automatically stops running the shell and reboots after 72 hours of continuous use. This time period is not configurable.
- Windows PE cannot act as a file server or terminal server. (Remote Desktop is unsupported.)
- Distributed File System (DFS) name resolution is supported for standalone roots only. Domain roots are not supported.
- The tested methods of gaining network connectivity to file servers are TCP/IP and NetBIOS over TCP/IP. Other methods, such as the IPX/SPX network protocol, are not supported.
- All changes that you make to the Windows PE registry while running Windows PE are lost the next time you restart the computer. To make permanent registry changes, you must edit the registry offline before starting Windows PE.
- Drive letters are assigned in consecutive order as you create partitions in Windows PE. However, the drive letters are reset to the default order when you restart Windows PE.
- Windows PE does not support the Microsoft .NET Framework or the Common Language Runtime (CLR).
- Windows PE does not include the “Windows on Windows 32” (WOW32), “Windows on Windows 64” (WOW64), Virtual DOS Machine (VDM), OS/2 or POSIX subsystems.
- To install a 64-bit version of Windows you must use a 64-bit version of Windows PE. Likewise, to install a 32-bit version of Windows, you must use a 32-bit version of Windows PE.
- Windows PE can be used to configure and to partition a computer's disks before starting Windows Setup. If any hard disks are converted to dynamic disks with Diskpart.exe before you start Windows Setup, then those hard disks are recognized as "foreign" when the operating system is installed, and any volumes on those hard disks will not be accessible.
- Windows PE does not support applications packaged with Windows Installer (.msi).
- WIM File System Filter (WIM FS Filter) driver is not supported in Windows PE.
Windows PE Dependencies
Windows PE depends on a number of Windows technologies to function properly.
- If you use Windows PE on a network, DHCP and DNS servers are useful, but not required.
- If you boot Windows PE from the network, you must use a Windows DS server.
- If you install Windows, you must run Windows Setup (Setup.exe in Windows Vista or Winnt32.exe for Windows Server 2003).
- If you automate Windows Vista installation, you must use an Unattend.xml answer file.
Supported Drivers
Windows PE 2.0 supports the following drivers:
1394.inf
acpi.inf
adp94xx.inf
adpahci.inf
adpu160m.inf
adpu320.inf
agp.inf
apps.inf
arc.inf
arcsas.inf
battery.inf
brmfcmf.inf
brmfcsto.inf
brmfcumd.inf
brmfport.inf
bthpan.inf
bthspp.inf
cdrom.inf
cpu.inf
dc21x4vm.inf
defltbase.inf
defltwk.inf
disk.inf
djsvs.inf
dshowext.inf
dwup.inf
elxstor.inf
errata.inf
fdc.inf
flpydisk.inf
fontsetup.inf
hal.inf
hdaudbus.inf
hidbth.inf
hiddigi.inf
hidserv.inf
hpcisss.inf
i2omp.inf
iastorv.inf
iirsp.inf
iirsp2.inf
input.inf
ipmidrv.inf
iscsi.inf
iteatapi.inf
iteraid.inf
keyboard.inf
lsi_fc.inf
lsi_sas.inf
lsi_scsi.inf
machine.inf
mchgr.inf
megasas.inf
megasas2.inf
mf.inf
mraid35x.inf
mraid35x2.inf
mshdc.inf
msmouse.inf
msports.inf
net44x32.inf
net8185.inf
netathr.inf
netb57vx.inf
netbc6.inf
netclass.inf
nete1e32.inf
nete1g32.inf
netefe32.inf
netip6.inf
netirda.inf
netloop.inf
netmscli.inf
netmyk01.inf
netnb.inf
netnvm32.inf
netrasa.inf
netrass.inf
netrast.inf
netrtl32.inf
netrtx32.inf
netsis.inf
nettcpip.inf
nettun.inf
netuli6x.inf
netvgx86.inf
netvt86.inf
nfrd960.inf
ntrigdigi.inf
nvraid.inf
pcmcia.inf
puwk.inf
ql2300.inf
ql40xx.inf
ql40xx2.inf
ramdisk.inf
sbp2.inf
sceregvl.inf
scsidev.inf
secrecs.inf
sisraid2.inf
sisraid4.inf
symc8xx.inf
sym_hi.inf
sym_u3.inf
tape.inf
tdibth.inf
tpm.inf
ts_generic.inf
ts_wpdmtp.inf
uliahci.inf
ulsata.inf
ulsata2.inf
umbus.inf
unknown.inf
usb.inf
usbport.inf
usbprint.inf
usbstor.inf
volsnap.inf
volume.inf
vsmraid.inf
wd.inf
Technologies Related to Windows PE
Windows PE is closely related to a number of other Windows installation technologies, as well as several recovery technologies. Some of these technologies, such as Windows DS and Setup for Windows Vista, include customized versions of Windows PE.
Windows Setup
To be faster and more efficient, Windows Setup uses Windows image (.wim) files to install Windows on a hard drive. Setup uses a customized version of Windows PE to start the computer and to copy Windows to the hard drive from .wim files.
Unattended Setup
Unattended Setup is a method of automating clean installations and upgrades with minimal administrator or technician interaction. It relies on an answer file that you create and can be performed from the Windows product DVD or from a shared distribution folder.
Unattended Setup is particularly useful if you need to:
- Perform automated installations on computers that have heterogeneous hardware configurations.
- Perform automated installations on specific types of servers, such as domain controllers, remote access servers, and servers that run Certificate Services or the Cluster service.
- Configure a wide range of operating system settings during an automated installation without using batch files and scripts.
In addition to these deployment solutions, unattended Setup is a useful method of creating master installations for image-based and RIS installations.
A common method to initiate an unattended Setup is to boot the computer by using Windows PE, and then launch Setup with an answer file from a distribution folder on the network.