Walkthrough: Deploy an Image by using PXE
This walkthrough describes how to set up a third-party PXE server by using Windows PE 2.0. The process includes copying Windows PE 2.0 source files to your PXE server and then configuring your PXE server boot configuration to use Windows PE.
Prerequisites
To complete this walkthrough, you need a technician computer, which provides all the tools and the source files. For more information, see Building a Technician Computer.
Step 1: Copy Source Files onto PXE Server
In this step, you copy Windows PE source files to your PXE server.
On your technician computer, click Start, point to Programs, point to Windows OPK or Windows AIK, and then click Windows PE Tools Command Prompt.
The menu shortcut opens a Command Prompt window and automatically sets environment variables to point to all the necessary tools. By default, all tools are installed at C:\Program Files\<version>\Tools, where <version> can be Windows OPK or Windows AIK.Run the Copype.cmd script. The script requires two arguments: hardware architecture and destination location.
copype.cmd <arch> <destination>
where <arch> can be x86, amd64, or ia64 and <destination> is a path to a local directory. For example,
copype.cmd x86 c:\winpe_x86
The script creates the following directory structure and copies all the necessary files for that architecture. For example,
c:\winpe_x86 c:\winpe_x86\ISO c:\winpe_x86\mount
Mount the base Windows PE image (Winpe.wim) to the \Mount directory by using ImageX. For example,
imagex /mountrw c:\winpe_x86\winpe.wim 1 c:\winpe_x86\mount
Map a network connection to the root TFTP directory on the PXE/TFTP server and create a \Boot folder. For example,
net use y: \\<PXEServer>\TFTPRoot y: md Boot
Copy the PXE boot files from the mounted directory to the \Boot folder. For example,
cd \temp\Windows\Boot\PXE copy c:\winpe_x86\mount\Windows\Boot\PXE\*.* y:\Boot
Copy the Boot.sdi file to the PXE/TFTP server.
copy c:\Program Files\<version>\Tools\PETools\x86\boot\boot.sdi y:\Boot
where <version> can be Windows OPK or Windows AIK.
Copy the bootable Windows PE image (Winpe.wim) to the \Boot folder.
copy c:\winpe_x86\winpe.wim y:\Boot
Step 2: Configure boot configuration
In this step, you create a BCD Store by using the BCDEdit tool. BCDEDIT can be run only from a Windows Vista computer or a Windows PE environment. BCDEdit is located in the \Windows\System32 directory.
On a Windows Vista computer or in a Windows PE environment, create a BCD store by using BCDEdit. For example,
Bcdedit –createstore c:\BCD
Create the RAMDISK settings. For example,
Bcdedit –store c:\BCD –create {ramdiskoptions} /d “Ramdisk options” Bcdedit –store c:\BCD –set {ramdiskoptions} ramdisksdidevice boot Bcdedit –store c:\BCD –set {ramdiskoptions} ramdisksdipath \boot\boot.sdi
(Optional) Create kernel debugger settings. For example,
Bcdedit –store c:\BCD –create {dbgsettings} /d “Debugger settings” Bcdedit –store c:\BCD –set {dbgsettings} debugtype serial Bcdedit –store c:\BCD –set {dbgsettings} baudrate 115200 Bcdedit –store c:\BCD –set {dbgsettings} debugport 1
Create OSLoader settings for the Windows PE image. For example,
Bcdedit –store c:\BCD –create /d “MyWinPE Boot Image” /application osloader
If the
create
command is successful, then the computer will return a GUID value. The following examples refer to this value asguid1
.Bcdedit –store c:\BCD –set {guid1} systemroot \Windows Bcdedit –store c:\BCD –set {guid1} detecthal Yes Bcdedit –store c:\BCD –set {guid1} winpe Yes Bcdedit –store c:\BCD –set {guid1} osdevice ramdisk=[boot]\Boot\WinPE.wim,{ramdiskoptions} Bcdedit –store c:\BCD –set {guid1} device ramdisk=[boot]\Boot\WinPE.wim,{ramdiskoptions}
Create the BOOTMGR settings. For example,
Bcdedit –store c:\BCD –create {bootmgr} /d “Windows VISTA BootManager” /inherit {dbgsettings} Bcdedit –store c:\BCD –set {bootmgr} timeout 30 Bcdedit –store c:\BCD –displayorder {guid1} {guid2}
where
guid1
,guid2
, and so on are the GUIDS for each .wim file entry.Copy the BCD file to your server. For example,
copy c:\BCD \\server\TFTPRoot\Boot
Configure your PXE/TFTP server to point PXE clients to download WDSNBP.COM.
Your PXE/TFTP server is now configured.
Deployment process
The following outlines the download process.
- A client is directed (by using DHCP Options or the PXE Server response) to download Wdsnbp.com
- Wdsnbp.com validates the DHCP/PXE response packet and proceeds to download PXEBoot.com.
Note
PXEBoot.com requires the client to press the F12 key to initiate PXE boot. One can rename one of the other PXE boot files (such as pxeboot.n12) to download Wdsnbp.com to a different file.
- PXEBoot.com downloads Bootmgr.exe and the BCD store. The BCD store must reside in a \Boot directory in the TFTP root folder. Additionally, the BCD store must be called BCD.
- Bootmgr.exe reads the BCD operating system entries and downloads Boot.sdi and the Windows PE image (Winpe.wim).
- Bootmgr.exe begins booting Windows PE by calling into Winload.exe within the Windows PE image.