Differences
This shows you the differences between two versions of the page.
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" %a 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 time; WinPE 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! |