|
|
You must be logged in and have permission to create or edit a blog.
|
|
|
|
Booting WinPE 2.0 from a third party PXE Server
|
|
|
Location: Blogs Johan Arwidmark |
 |
| Posted by: johan |
3/30/2007 |
Welcome
This article describes how to configure a third party PXE Server (Jounin Tftpd32) for booting Windows PE 2.0
Perform all steps on a Vista Machine (the files/folders can of course later be transferred to a Windows 2003 SP1 server)
The guide covers the following steps
-
Configure and the Install WAIK,
-
Create a x86 Windows PE 2.0 image
-
Prepare the PXE Server folder structure
-
Create a new BCD store
-
Install and Configure the PXE Server (Tftpd)
-
Create an x64 Windows PE 2.0 Image
-
Create a BCD store with multiple choices
Step 1 – Creating the Server Structure
-
Download and install WAIK to the default location
-
Start an elevated command prompt (Run as administrator) and type the following commands
cd /d "C:\Program Files\Windows AIK\Tools\PETools" copype x86 c:\winpe_x86 ren winpe.wim winpe_x86.wim imagex /mount c:\winpe_x86\winpe_x86.wim 1 c:\winpe_x86\mount md C:\PXEServer\TFTPRoot\Boot\Fonts copy c:\winpe_x86\mount\Windows\Boot\PXE\pxeboot.n12 C:\PXEServer\TFTPRoot\boot /y copy c:\winpe_x86\ISO\boot\fonts\*.* c:\PXEServer\TFTPRoot\Boot\Fonts /y copy c:\winpe_x86\mount\Windows\Boot\PXE\bootmgr.exe C:\PXEServer\TFTPRoot /y imagex /unmount c:\winpe_x86\mount copy C:\winpe_x86\ISO\boot\boot.sdi C:\PXEServer\TFTPRoot\boot /y copy c:\winpe_x86\winpe_x86.wim C:\PXEServer\TFTPRoot\boot /y
Note: Each line beginning with imagex or copy is a separate line (might have been wrapped)
Step 2 – Create a new BCD Store
- In the C:\PXEServer folder, create a batchfile in named CreateBCD.cmd with the following content
Rem Creates BCD (boot configuration data) for Windows PE 2.0 set BCD-File=c:\PXEServer\Tftproot\Boot\BCD del %BCD-File% Bcdedit /createstore %BCD-File% Bcdedit /store %BCD-File% /create {ramdiskoptions} /d "Ramdisk options" Bcdedit /store %BCD-File% /set {ramdiskoptions} ramdisksdidevice boot Bcdedit /store %BCD-File% /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi for /f "tokens=1-3" %%a in ('Bcdedit /store %BCD-File% /create /d "WinPE x86" /application osloader') do set guid1=%%c Bcdedit /store %BCD-File% /set %guid1% systemroot \Windows Bcdedit /store %BCD-File% /set %guid1% detecthal Yes Bcdedit /store %BCD-File% /set %guid1% winpe Yes Bcdedit /store %BCD-File% /set %guid1% osdevice ramdisk=[boot]\Boot\winpe_x86.wim,{ramdiskoptions} Bcdedit /store %BCD-File% /set %guid1% device ramdisk=[boot]\Boot\winpe_x86.wim,{ramdiskoptions} Bcdedit /store %BCD-File% /create {bootmgr} /d "Windows Vista BootManager" Bcdedit /store %BCD-File% /set {bootmgr} timeout 30 Bcdedit /store %BCD-File% /set {bootmgr} displayorder %guid1% Bcdedit /store %BCD-File% /enum all
Note: Each line beginning with bcdedit or for is a separate line (might have been wrapped)
- In the Command prompt, run the CreateBCD.cmd batch file.
Step 3 – Configure the PXE Server
-
Download Tftpd32 v3.03 from http://www.jounin.net/tftpd32_download.html and extract the tftpd32.exe and tftpd.hlp files to C:\PXEServer.
-
Start Tftpd32 (Unblock for Vista Firewall) and configure the following TFTP Server Settings: - Base Directory: C:\PXEServer\TFTPRoot - Allow "\" As virtual root - TFTP Security: Read Only - Use anticipation windows of: 8192
Note: Using anticipation windows can greatly improve transfer speed, but since it is prohibited by the TFTP specification, a special warning is displayed when this box is checked.
- DHCP Server Settings, change to reflect your environment.
- IP pool starting address: 192.168.1.100 - Size of pool: 99 - Boot File: /boot/pxeboot.n12 - Default Router: 192.168.1.1 - Mask: 255.255.255.0 - Domain name: tslab.net
Optional – Add a x64 Image
-
Create a x64 Windows PE 2.0 Image
copype amd64 c:\winpe_x64 ren winpe.wim winpe_x64.wim copy c:\winpe_x64\winpe_x64.wim C:\PXEServer\TFTPRoot\boot /y
-
In the C:\PXEServer folder, create a batch file in named CreateBCD2.cmd with the following content.
Rem Creates BCD (boot configuration data) for two Windows PE 2.0 images set BCD-File=c:\PXEServer\Tftproot\Boot\BCD del %BCD-File% Bcdedit /createstore %BCD-File% Bcdedit /store %BCD-File% /create {ramdiskoptions} /d "Ramdisk options" Bcdedit /store %BCD-File% /set {ramdiskoptions} ramdisksdidevice boot Bcdedit /store %BCD-File% /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi
for /f "tokens=1-3" %%a in ('Bcdedit /store %BCD-File% /create /d "WinPE x86" /application osloader') do set guid1=%%c Bcdedit /store %BCD-File% /set %guid1% systemroot \Windows Bcdedit /store %BCD-File% /set %guid1% detecthal Yes Bcdedit /store %BCD-File% /set %guid1% winpe Yes Bcdedit /store %BCD-File% /set %guid1% osdevice ramdisk=[boot]\Boot\winpe_x86.wim,{ramdiskoptions} Bcdedit /store %BCD-File% /set %guid1% device ramdisk=[boot]\Boot\winpe_x86.wim,{ramdiskoptions}
for /f "tokens=1-3" %%a in ('Bcdedit /store %BCD-File% /create /d "WinPE x64" /application osloader') do set guid2=%%c Bcdedit /store %BCD-File% /set %guid2% systemroot \Windows Bcdedit /store %BCD-File% /set %guid2% detecthal Yes Bcdedit /store %BCD-File% /set %guid2% winpe Yes Bcdedit /store %BCD-File% /set %guid2% osdevice ramdisk=[boot]\Boot\winpe_x64.wim,{ramdiskoptions} Bcdedit /store %BCD-File% /set %guid2% device ramdisk=[boot]\Boot\winpe_x64.wim,{ramdiskoptions}
Bcdedit /store %BCD-File% /create {bootmgr} /d "Windows VISTA BootManager" Bcdedit /store %BCD-File% /set {bootmgr} timeout 30 Bcdedit /store %BCD-File% /set {bootmgr} displayorder %guid1% %guid2% Bcdedit /store %BCD-File% /enum all
Note: Each line beginning with bcdedit or for is a separate line (might have been wrapped)
Optional - BCD with multiple entries.
-
In the C:\PXEServer folder, create a batchfile in named CreateBCD3.cmd with the following content.
Rem Creates BCD (boot configuration data) for three Windows PE 2.0 images set BCD-File=c:\PXEServer\Tftproot\Boot\BCD del %BCD-File% Bcdedit /createstore %BCD-File% Bcdedit /store %BCD-File% /create {ramdiskoptions} /d "Ramdisk options" Bcdedit /store %BCD-File% /set {ramdiskoptions} ramdisksdidevice boot Bcdedit /store %BCD-File% /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi
for /f "tokens=1-3" %%a in ('Bcdedit /store %BCD-File% /create /d "WinPE x86" /application osloader') do set guid1=%%c Bcdedit /store %BCD-File% /set %guid1% systemroot \Windows Bcdedit /store %BCD-File% /set %guid1% detecthal Yes Bcdedit /store %BCD-File% /set %guid1% winpe Yes Bcdedit /store %BCD-File% /set %guid1% osdevice ramdisk=[boot]\Boot\winpe_x86.wim,{ramdiskoptions} Bcdedit /store %BCD-File% /set %guid1% device ramdisk=[boot]\Boot\winpe_x86.wim,{ramdiskoptions}
for /f "tokens=1-3" %%a in ('Bcdedit /store %BCD-File% /create /d "WinPE x86 2" /application osloader') do set guid2=%%c Bcdedit /store %BCD-File% /set %guid2% systemroot \Windows Bcdedit /store %BCD-File% /set %guid2% detecthal Yes Bcdedit /store %BCD-File% /set %guid2% winpe Yes Bcdedit /store %BCD-File% /set %guid2% osdevice ramdisk=[boot]\Boot\winpe_x86_2.wim,{ramdiskoptions} Bcdedit /store %BCD-File% /set %guid2% device ramdisk=[boot]\Boot\winpe_x86_2.wim,{ramdiskoptions}
for /f "tokens=1-3" %%a in ('Bcdedit /store %BCD-File% /create /d "WinPE x64" /application osloader') do set guid3=%%c Bcdedit /store %BCD-File% /set %guid3% systemroot \Windows Bcdedit /store %BCD-File% /set %guid3% detecthal Yes Bcdedit /store %BCD-File% /set %guid3% winpe Yes Bcdedit /store %BCD-File% /set %guid3% osdevice ramdisk=[boot]\Boot\winpe_x64.wim,{ramdiskoptions} Bcdedit /store %BCD-File% /set %guid3% device ramdisk=[boot]\Boot\winpe_x64.wim,{ramdiskoptions} Bcdedit /store %BCD-File% /create {bootmgr} /d "Windows VISTA BootManager" Bcdedit /store %BCD-File% /set {bootmgr} timeout 30 Bcdedit /store %BCD-File% /set {bootmgr} displayorder %guid1% %guid2% %guid3% Bcdedit /store %BCD-File% /enum all
Note: Each line beginning with bcdedit or for is a separate line (might have been wrapped) |
|
| Permalink |
Trackback |
|
|
|