Jump to content

How I Pxe-booted Winpe And A Request For Help


RickR

Recommended Posts

Well, I did it. I was finally able to get WinPE to PXE-boot from a Linux (Debian) server.

It turns out that I was having difficulty in two areas:

1. Building the right version of WinPE and its support files and

2. Choosing the right tftp server and configuring it properly.

So here's what I found.

I ended up building WinPE from Windows Server 2003 Service Pack 1 RC2 in the usual manner. RC2 is available for general download from Microsoft. I slipstreamed it into my Win2K3 install tree. The WinPE build resulted in a set of what I call boot support files (NTLDR, ntdetect.com, startrom.com) that worked properly with my tftp server.

I expanded the startrom.com from the file startrom.n1_ rather than from startrom.co_. This keeps the boot process from requesting that you hit the F12 key to boot.

By the way, NTLDR and WINPE.ISO had to be capitalized to conform to what the boot support files (startrom.com and NTLDR, I think) are requesting. I'm not sure this is true of all tftp servers (I'm a Linux novice), but it's what my tftp server expected.

Speaking of a tftp server, I used tftp-hpa because atftpd (the tftp server I was using) choked when the WinPE file got above 90 MB. This resulted in the client machine showing a failure message that didn't expose the reason for the failure. Be sure to set the verbosity of your tftp server as high as possible and monitor the server's error log as the boot progresses. You can find out a lot about why a boot is failing that way. Also be sure the winnt.sif, startrom.com, NTLDR, <IMAGENAME>.ISO, and ntdetect.com files are in the right place. That is, in the target directory specified by your tftp server (often this is a settable option).

Once I had the boot support files in the right place, I still had problems when WinPE itself tried to load. I had earlier built a WinPE iso that successfully PXE-booted using tftpd32. I believe I built this image using the RC1 version of Windows Server 2003 SP1. That image in turn initially had a problem with Diskpart.exe. It wouldn't properly create partitions. So I built the WinPE file set using the slipstreamed RC1 install tree using mkimg.cmd without creating an iso. Next, I substituted a version of Diskpart.exe that came with my original WinPE distribution from a Windows OPK disk. Then I used oscdimg.exe to create my iso file. I used the boot support files that were created using SP1 RC2 to load this image and everything worked.

So now I have an image of dubious ancestry, but at least it boots and does what I need it to do. There may be a better way of getting everything together, but since I don't have the BETA WinPE stuff from Microsoft, I'm feeling my way along. Any advice about streamlining the build would be appreciated.

Finally, a request. I really want to get my iso image under 90 MB so I can use the atftpd server instead of tftpd-hpa. All I want to be able to do is run Diskpart.exe, map to a network share and run the Windows Installer (winnt32.exe) for Win2K and Win2K3. What things can I strip out???

Link to comment
Share on other sites


New feature on the way!

The one missing part is the ability to specify the block size for the Dload.

With a forced 8k block size.. a 150 meg image loads in 25 seconds! The default (fixed) auto setting takes over 4 minutes to Dload.

I was asked by the PE product manager to submit a bug repoort about this. MS is going to try and squeek this into the SP1 release. But if it does not make it... it will be in the longhorn version.

I'm still docking out my Linux PXE server config.

Chris

Link to comment
Share on other sites

  • 2 weeks later...

Very interesting this topic !

I try to boot a BartPE iso from PXE

I do an bartPE iso (with WinXP SP2 source)

I put the PEBUILDER.ISO, winnt.sif, startrom.com, NTDLR, and ntdetect.com in my /tftpboot directory.

(I also modified dhcpd.conf to point to NTDLR: filename "/tftpboot/startrom.com"; )

It doesn't work. no boot.

Can you help me ?

(The TFTP work, I boot successfuly a GEEXBOX with PXE)

Link to comment
Share on other sites

RickR> I test with atftpd. I have the same problem that you about the big file:

atftpd log:

atftpd[22533.-1209584992]: Advanced Trivial FTP server started (0.7)
atftpd[22533.-1209586768]: Serving /tftpboot/startrom.com to 10.0.0.227:2070
atftpd[22533.-1218028624]: Serving /tftpboot/startrom.com to 10.0.0.227:2071
atftpd[22533.-1218028624]: Serving NTLDR to 10.0.0.227:2072
atftpd[22533.-1218028624]: Serving BOOTFONT.BIN to 10.0.0.227:45750
atftpd[22533.-1218028624]: Serving ntdetect.com to 10.0.0.227:45751
atftpd[22533.-1218028624]: Serving winnt.sif to 10.0.0.227:45752
atftpd[22533.-1209586768]: Serving PEBUILDER.ISO to 10.0.0.227:45753
atftpd[22533.-1209586768]: Requested file to big, increase BLKSIZE

I mail the author, I think this is a bug (file over 90 MB)

I try with tftpd-hpa, it works perfectly with a Bart's PE CD from 2003 server SP1-RC2. (the Bart's PE CD from WinXP-SP2 make a BSOD, I will try later on another PC)

Now, I will test with with topic: http://www.msfn.org/board/index.php?showtopic=10181

to run the install automatically

:)

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...