[syslinux] Most efficient way of pxe booting windows pe

Andrew Bobulsky rulerof at gmail.com
Tue Mar 29 09:37:31 PDT 2011


Hello Reni,

I'll second the confirmation of booting an ISO via HTTP.  Unlike Daniel
though, I had to use GRUB4DOS.  MEMDISK wouldn't work for some reason,
though I cannot remember why :(

Though it's unfortunate to have to consume so much unnecessary RAM, the
problem lies in the fact, to boot a WIM file, Windows' BOOTMGR needs to be
able to access both the boot.sdi and the boot.wim files through a method
that it understands.  MEMDISK acquiesces nicely to this requirement by
providing an INT 13 hook for BOOTMGR to get at the files it needs to get
work done.

To speed things up, when I wrote the Windows 7 deployment system for my
employer (a wonderful mess of CLI apps tied into a database with a web
server :P), I had the bright idea of booting a WinPE3 WIM from an iSCSI
target hooked to INT 13 using gPXE.  While that *did* work for booting WinPE
in a very fast and extremely efficient manner, the presence of the iBFT
caused problems (Windows wanted to install to the WinPE source disk!) and
the INT 13 hook caused Windows Setup to throw a fit over the resulting ARC
paths that the hook created.  I usually tend link my cautionary tale[1] to
folks looking to boot WinPE from the network, as I pulled my hair out for
almost a week on that one.

That said, by leveraging WinPE3 with Syslinux's COM32 system for menus and
gPXE for HTTP communication (with a little help from the Windows SIM and
djoin.exe[2]), the result was a network boot environment where
administrators could "provision" a set of machines, enable "deployment"
(i.e., an un-authed boot menu) mode, and install Windows 7 on a previously
"unknown" computer with ~30 seconds of interaction.  A very fun experience,
though it doesn't scale well to more than a hundred machines or so :P

Cheers,
Andrew Bobulsky

[1]:
http://social.technet.microsoft.com/Forums/en-US/w7itproinstall/thread/cea61
77e-9cb2-420e-bbc0-0cac487e51e2/
[2]:
http://technet.microsoft.com/en-us/library/offline-domain-join-djoin-step-by
-step(WS.10).aspx


-----Original Message-----
From: syslinux-bounces at zytor.com [mailto:syslinux-bounces at zytor.com] On
Behalf Of Lindgren Daniel
Sent: Tuesday, March 29, 2011 9:50 AM
To: For discussion of Syslinux and tftp-hpa
Subject: Re: [syslinux] Most efficient way of pxe booting windows pe

> We are using syslinux (memdisk) and gpxe already for a while.
> Also got a working winpe boot method by means of pxe. Which basicly is 
> a dd of an 'recovery partition' where winpe.wim is on.
> That method isn't really the most efficient way, cause its loaded into 
> memory twice.
> 
> We are going to do a major windows 7 deployment soon and i'm looking 
> for the most efficient way of booting a small winpe.
> Can anyone tell me the options and what is the best and most efficient 
> method of today into booting a winpe.wim?

We're using PXELINUX with memdisk to boot a WinPE ISO (RAM disk,
http://technet.microsoft.com/en-us/library/dd799303(WS.10).aspx),
transferred by HTTP using gpxe. Takes about 15 seconds to transfer on a LAN.

Our 64-bit ISO image is ~172 MB, even when loaded twice we're only talking
about ~350 MB RAM. Our Windows 7 machines have 2048-4096 MB RAM, can't see
the problem.

Cheers,
Daniel


_______________________________________________
Syslinux mailing list
Submissions to Syslinux at zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.





More information about the Syslinux mailing list