[syslinux] PXE Boot Solution

Lindgren Daniel daniel.lindgren at tullverket.se
Tue Jun 2 22:27:13 PDT 2009


> I really hate to suggest this.. I mean I really really hate 
> to suggest this.. I think it would be in your best interest 
> to look at microsoft's deployment services (WDS).
> 

Agree to the above if you are an MS shop. If you do not already have a
WDS infrastructure, you could use PXELINUX to do boot WinPE over PXE.
I've put together a (swedish) instruction on how to do it with a 64-bit
WinPE, replace "amd64" with "x86" for 32-bit:
http://www.itproffs.se/forumv2/tm.aspx?m=82540&mpage=1&key=&#82540. The
commands are all there, for Windows Automated Installation Kit (WAIK,
free from MS), tftpd-hpa and PXELINUX. Here's an english instruction
that looks to do the same:
http://sysadminman.net/blog/2007/pxe-boot-winpe-2-vista-using-linux-as-t
he-pxe-server-8.

If you want to make the WinPE wim smaller, remove all unnecessary
languages from the image (adapt path if necessary):

FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*ar-SA*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*bg-BG*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*cs-CZ*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*da-DK*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*de-DE*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*el-GR*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*es-ES*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*et-EE*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*fi-FI*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*fr-FR*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*he-IL*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*hr-HR*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*hu-HU*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*it-IT*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*ja-JP*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*ko-KR*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*lt-LT*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*lv-LV*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*nb-NO*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*nl-NL*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*pl-PL*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*pt-BR*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*pt-PT*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*ro-RO*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*ru-RU*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*sk-SK*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*sl-SI*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*sr-Latn-CS*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*sr-..-CS*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*th-TH*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*tr-TR*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*uk-UA*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*zh-CN*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*zh-HK*) DO DEL "%i" /s /q
FOR /r C:\TEMP\WinPE_%ARCH%\mount %i in (*zh-TW*) DO DEL "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*ar-SA*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*bg-BG*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*cs-CZ*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*da-DK*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*de-DE*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*el-GR*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*es-ES*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*et-EE*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*fi-FI*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*fr-FR*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*he-IL*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*hr-HR*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*hu-HU*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*it-IT*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*ja-JP*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*ko-KR*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*lt-LT*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*lv-LV*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*nb-NO*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*nl-NL*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*pl-PL*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*pt-BR*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*pt-PT*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*ro-RO*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*ru-RU*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*sk-SK*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*sl-SI*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*sr-Latn-CS*) DO RD "%i" /s
/q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*sr-..-CS*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*th-TH*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*tr-TR*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*uk-UA*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*zh-CN*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*zh-HK*) DO RD "%i" /s /q
FOR /d /r C:\TEMP\WinPE_%ARCH%\mount %i in (*zh-TW*) DO RD "%i" /s /q

Then use a manual command to capture and compress the new image (adapt
paths):

imagex /capture /boot /compress maximum C:\TEMP\WinPE_%ARCH%\mount
C:\TEMP\WinPE_%ARCH%\winpe_new.wim "WinPE"
imagex /unmount C:\TEMP\WinPE_%ARCH%\mount 
del C:\TEMP\WinPE_%ARCH%\winpe.wim /F /Q
ren C:\TEMP\WinPE_%ARCH%\winpe_new.wim winpe.wim

Our WinPE wim is ~100 MB, with drivers added for some HP and Dell
servers.

Cheers,
Daniel




More information about the Syslinux mailing list