Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
winpe [2008/03/03 07:21]
mcb30
winpe [2010/06/05 07:34] (current)
sha0 Add info about next-server DHCP option
Line 9: Line 9:
 ===== Obtaining Windows AIK ===== ===== Obtaining Windows AIK =====
  
-Windows PE is available as part of the Windows Automated Installation Kit (AIK). ​ Download the AIK from its home page at [[http://​www.microsoft.com/​downloads/​details.aspx?​FamilyID=c7d4bc6d-15f3-4284-9123-679830d629f2&DisplayLang=en]], or from the direct download at [[http://​download.microsoft.com/​download/​8/6/d/86d6ba9c-98ff-444e-87ed-3e76772eb2a6/vista_6000.16386.061101-2205-LRMAIK_EN.img]].+Windows PE is available as part of the Windows Automated Installation Kit (AIK). ​ Download the AIK from its home page at [[http://​www.microsoft.com/​downloads/​details.aspx?​FamilyID=94BB6E34-D890-4932-81A5-5B50C657DE08&displaylang=en]], or from the direct download at [[http://​download.microsoft.com/​download/​9/c/d/9cdfa30e-5901-40e4-b6bf-4a0086ea0a6a/6001.18000.080118-1840-kb3aikl_en.iso]].
  
 Install the AIK onto a working Windows system (the "​technician computer"​). ​ The installation requires around 1GB of disk space. Install the AIK onto a working Windows system (the "​technician computer"​). ​ The installation requires around 1GB of disk space.
- 
 ===== Setting up WinPE ===== ===== Setting up WinPE =====
  
-Open the Windows PE Tools Command Prompt (//Start// -> //All Programs// -> //Microsoft Windows AIK// -> //Windows PE Tools Command Prompt//) and enter the following commands (some of which are case-sensitive):​+Open the Windows PE Tools Command Prompt (//Start// -> //All Programs// -> //Microsoft Windows AIK// -> //Windows PE Tools Command Prompt//) and enter the following commands (some of which are case-sensitive). Note that if you intending to install a 64 bit version of Windows, the second command below should specify "​amd64"​ instead of "​x86"​ (amd64 is a generic reference to 64 bit support which includes support for both AMD and Intel based 64bit hardware):
  
     mkdir C:\Temp     mkdir C:\Temp
Line 33: Line 32:
     %BCDEDIT% -set {ramdiskoptions} ramdisksdidevice boot     %BCDEDIT% -set {ramdiskoptions} ramdisksdidevice boot
     %BCDEDIT% -set {ramdiskoptions} ramdisksdipath \Boot\boot.sdi     %BCDEDIT% -set {ramdiskoptions} ramdisksdipath \Boot\boot.sdi
-    for /f "​tokens=3"​ %%i in ('​%BCDEDIT% -create -d "​Windows PE" -application osloader'​) do set GUID=%%i+    for /f "​tokens=3"​ %in ('​%BCDEDIT% -create -d "​Windows PE" -application osloader'​) do set GUID=%a
     %BCDEDIT% -set %GUID% systemroot \Windows     %BCDEDIT% -set %GUID% systemroot \Windows
     %BCDEDIT% -set %GUID% detecthal Yes     %BCDEDIT% -set %GUID% detecthal Yes
 +    %BCDEDIT% -set %GUID% winpe Yes
     %BCDEDIT% -set %GUID% osdevice ramdisk=[boot]\Boot\winpe.wim,​{ramdiskoptions}     %BCDEDIT% -set %GUID% osdevice ramdisk=[boot]\Boot\winpe.wim,​{ramdiskoptions}
     %BCDEDIT% -set %GUID% device ramdisk=[boot]\Boot\winpe.wim,​{ramdiskoptions}     %BCDEDIT% -set %GUID% device ramdisk=[boot]\Boot\winpe.wim,​{ramdiskoptions}
Line 42: Line 42:
     %BCDEDIT% -set {bootmgr} displayorder %GUID%     %BCDEDIT% -set {bootmgr} displayorder %GUID%
     del /Q bcdedit.exe     del /Q bcdedit.exe
 +
 +Note: When using inside a batch file, replace %a with %%a  (twice) in the "​for"​ command parameters.
  
 ===== Transferring WinPE to a TFTP server ===== ===== Transferring WinPE to a TFTP server =====
Line 49: Line 51:
 Several of the filenames are case-sensitive,​ and you **must** ensure that the case is preserved when you copy the files. ​ Assuming that your TFTP server root is ///​var/​lib/​tftpboot//,​ the filenames should appear as: Several of the filenames are case-sensitive,​ and you **must** ensure that the case is preserved when you copy the files. ​ Assuming that your TFTP server root is ///​var/​lib/​tftpboot//,​ the filenames should appear as:
  
-    ​/​var/​lib/​tftpboot/​Boot +  * ''​/​var/​lib/​tftpboot/​Boot''​ 
-    /​var/​lib/​tftpboot/​Boot/​pxeboot.n12 +  * ''​/​var/​lib/​tftpboot/​Boot/​pxeboot.n12''​ 
-    /​var/​lib/​tftpboot/​Boot/​bootmgr.exe +  * ''​/​var/​lib/​tftpboot/​Boot/​bootmgr.exe''​ 
-    /​var/​lib/​tftpboot/​Boot/​BCD +  * ''​/​var/​lib/​tftpboot/​Boot/​BCD''​ 
-    /​var/​lib/​tftpboot/​Boot/​winpe.wim +  * ''​/​var/​lib/​tftpboot/​Boot/​winpe.wim''​ 
-    /​var/​lib/​tftpboot/​Boot/​boot.sdi+  * ''​/​var/​lib/​tftpboot/​Boot/​boot.sdi''​
  
 ===== Configuring DHCP and TFTP ===== ===== Configuring DHCP and TFTP =====
  
-Configure your DHCP server to hand out //"​\Boot\pxeboot.n12"//​ as the boot filename.  ​For ISC DHCPD, you can do this by adding+Configure your DHCP server to hand out //"​\Boot\pxeboot.n12"//​ as the boot filename.  ​
  
-    filename "​\Boot\pxeboot.n12";+**For ISC DHCPD**, you can do this by adding the following to ///​etc/​dhcpd.conf//​.
  
-to ///​etc/​dhcpd.conf//.+    next-server XXX.XXX.XXX.XXX; 
 +    filename "​\\Boot\\pxeboot.n12";​
  
-Note that you **must** use a backslash (\) as the path separator, rather than the more usual forward slash (/).  If you use a forward slash, //​pxeboot.n12//​ will be unable to locate //​bootmgr.exe//​ and the boot will fail.  Your TFTP server must be configured to support the use of backslashes as path separators; see [[:​tftp_backslash|Supporting broken TFTP clients]] for instructions on configuring your TFTP server to do this.+where the **next-server** details either the IP address or DNS hostname of your TFTP server. 
 +{{ :​warning.png}} 
 + 
 +<sub>Note that you **must** use a backslash (\) as the path separator, rather than the more usual forward slash (/).  If you use a forward slash, //​pxeboot.n12//​ will be unable to locate //​bootmgr.exe//​ and the boot will fail.  Your TFTP server must be configured to support the use of backslashes as path separators; see [[:​tftp_backslash|Supporting broken TFTP clients]] for instructions on configuring your TFTP server to do this
 + 
 +Note also that each backslash is doubled within ///​etc/​dhcpd.conf//;​ this is because ISC DHCPD treats a backslash as an escape character.</​sub>​ 
 + 
 +**For Microsoft DHCP Server**, set the following options 
 + 
 +    Option Number ​      ​Option Name           ​Value 
 +    066                 Boot Server ​          ​XXX.XXX.XXX.XXX 
 +    067                 ​Bootfile Name         ​boot\pxeboot.n12 
 + 
 +where option 66 refers to your TFTP server'​s IP address or DNS hostname.
  
 ===== Booting WinPE ===== ===== Booting WinPE =====
  
-Boot your diskless client using gPXE.  If all has gone well, you should see it boot from your WinPE image.  ​The boot takes quite a long timeWinPE downloads over 160MB of data via TFTP each time it boots.+Boot your diskless client using gPXE.  If all has gone well, you should see it boot from your WinPE image.  ​It takes quite a long time, since WinPE downloads over 160MB of data via TFTP and also seems to occasionally spend several minutes sitting at a blank screen apparently doing nothing. 
 + 
 +{{ :​screenshots:​winpe.png?​400x300 |Windows PE booted via gPXE}}
  
 Congratulations on a successful boot of Windows PE! Congratulations on a successful boot of Windows PE!

QR Code
QR Code winpe (generated for current page)