Jump to content

PXELinux Boot WinPE 2.0


Metzen

Recommended Posts

Just going over some WinPE 2.0 stuff... I haven't tried anything out yet.

It appears WinPE 2.0 can reboot to the memtest...? It's included in the default image under:

mount\Windows\Boot\PCAT

Anyways... Just doing some idle thinking about this problem. I use PXELinux for a menu based system at work for floppy diagnostic utilities and such. We use WinPE as well. PXELinux has been great thus far as a solution. PXE boot files for WinPE 2.0 are located here:

mount\Windows\Boot\PXE

Notice the .12 files are similiar to startrom.12 files that we'd rename for the PXELinux kernel?

Here's an image detailing the boot procedure in technical (see attached).

PXEBoot.com (startrom.com) is the loader, then passes off to bootmgr for a menu system (is my understanding?).

Will experiment and post results tomorrow.

Nevermind. All information is found in the WAIK.

http://www.msfn.org/board/index.php?showtopic=84688

post-16205-1164783694_thumb.png

Edited by Metzen
Link to comment
Share on other sites


Any idea if you can start the PE 2.0 loader from a PXElinux menu?

All of my tests, booting PXELinux from TFTPd32 and calling \Boot\pxeboot.com (the one that was .n12 before) led to nothing. No errors, maybe a reboot if i pressed F12.

Link to comment
Share on other sites

Any idea if you can start the PE 2.0 loader from a PXElinux menu?

All of my tests, booting PXELinux from TFTPd32 and calling \Boot\pxeboot.com (the one that was .n12 before) led to nothing. No errors, maybe a reboot if i pressed F12.

i never tried this. but memdisk is a RAMDisk based dos boot image.

Give it a try - replace memdisk by pxeboot.com

Link to comment
Share on other sites

i never tried this. but memdisk is a RAMDisk based dos boot image.

Give it a try - replace memdisk by pxeboot.com

my understanding was that MEMDisk is a RAMDisk driver that loads a floppy image you point it to. If I set the bootfile on the DHCP server to pxeboot.com all is working ok. But what I want is to add Windows PE 2.0 to my existing PXELinux menu. So I tried adding a entry containing only "KERNEL \Boot\pxeboot.com", which does not work for me.

Link to comment
Share on other sites

Any idea if you can start the PE 2.0 loader from a PXElinux menu?

All of my tests, booting PXELinux from TFTPd32 and calling \Boot\pxeboot.com (the one that was .n12 before) led to nothing. No errors, maybe a reboot if i pressed F12.

It works. That are the installation steps that i have made. I tried it with the RTM Version

Here come my small guide on how to do it:

1. Create a directory named "C:\PXE" (any other location or name is also

fine)

2. create 2 subdirectories within this directory: "boot" and "sources"

3. copy pxeboot.com (or pxeboot.n12) to "boot" (This one can be found in the

PE sources, you need to mount or apply one PE

WIM in order to get it.)

4. copy the BCD from the setupDVD to "boot"

5. copy the boot.sdi (from the Setup DVD) to "boot"

6. copy the bootmgr.exe to \ (so in this case "C:\PXE")

7. copy the "boot.wim" to "sources

Cofigure the DHCP & TFTPD server:

1. set the TFTPD root to "C:\PXE"

2. set the DCHP bootfile to /boot/pxeboot.com (or pxeboot.n12)

Done!!!

So in case you wnat to use PXELINUX you should add:

# PE 2.0

label xpe2

MENU label Windows PE 2.0

kernel /boot/pxeboot.0

to your config file and rename pxeboot.n12 to pxeboot.0

Link to comment
Share on other sites

thanks for all your help, I got it working now. It involved adding re-write rules to the tftp server but finally it works. I had to use rewriting cause I like to sort the files in my tftp-root the way I think it's right. This way I could stuff everything belonging to PE 2.0 in its own folder in the tftp path.

Link to comment
Share on other sites

Hi there,

I was originally using Windows Deployment Services to provide the booting but thanks to you guys I'm able to cut all that out in favour of something giving me far greater control.

Anyway for whatever reason I'm unable to load WinPE 2 through pxelinux. I've tried appending

KERNEL \Boot\pxeboot.0 (renamed pxeboot.n12) to the default.0 config file but all I end up getting is tftp download failed, press any key to reboot.

I've even tried using /Boot/pxeboot.0 to see if that would work, but still came with the same error

Remembering unix/linux is case sensitive I checked the casing of both the command and filename but that's fine

If I cut out pxelinux completely and simply set the DHCP bootfile name to be \Boot\pxeboot.n12 it works fine so TFTP is definetly able to find the file, it's just there seems to be a broken link of sorts when pxelinux gets involved.

Does anybody have any ideas? :)

Link to comment
Share on other sites

thanks for all your help, I got it working now. It involved adding re-write rules to the tftp server but finally it works. I had to use rewriting cause I like to sort the files in my tftp-root the way I think it's right. This way I could stuff everything belonging to PE 2.0 in its own folder in the tftp path.

did you replace initrd by pxeboot.0 or kernel?

can you elaborate your configuration bit? Im trying to boot winpe 2.0 from pxelinux.

Link to comment
Share on other sites

thanks for all your help, I got it working now. It involved adding re-write rules to the tftp server but finally it works. I had to use rewriting cause I like to sort the files in my tftp-root the way I think it's right. This way I could stuff everything belonging to PE 2.0 in its own folder in the tftp path.

did you replace initrd by pxeboot.0 or kernel?

can you elaborate your configuration bit? Im trying to boot winpe 2.0 from pxelinux.

Here is my understanding about pxelinux:

- it is proxy dhcp server, so it must be telling PXEClient boot file name (i.e. pxelinux.0)

-once pxelinux.0 starts running at client side, it reads pxelinux.cfg/AppropriateConfigClientFile

- then pxelinux.0 loads image (say initrd.img) with the help of memdisk (memdisk is just used as a RAM disk driver)

Is it correct?

I want to boot Windows PE 2.0 from pxelinux.

I was trying to boot pxeboot.0 (renamed pxeboot.n12 - windows pe network boot program) using pxelinux.

i tried following configurations but failed:

1. kernel boot/pxeboot.0

initrd=somegarbage kepxe

2. kernel memdisk

initrd=boot\pxeboot.0 kepxe

Can someone please advice?

Link to comment
Share on other sites

thanks for all your help, I got it working now. It involved adding re-write rules to the tftp server but finally it works. I had to use rewriting cause I like to sort the files in my tftp-root the way I think it's right. This way I could stuff everything belonging to PE 2.0 in its own folder in the tftp path.

did you replace initrd by pxeboot.0 or kernel?

can you elaborate your configuration bit? Im trying to boot winpe 2.0 from pxelinux.

Here is my understanding about pxelinux:

- it is proxy dhcp server, so it must be telling PXEClient boot file name (i.e. pxelinux.0)

-once pxelinux.0 starts running at client side, it reads pxelinux.cfg/AppropriateConfigClientFile

- then pxelinux.0 loads image (say initrd.img) with the help of memdisk (memdisk is just used as a RAM disk driver)

Is it correct?

I want to boot Windows PE 2.0 from pxelinux.

I was trying to boot pxeboot.0 (renamed pxeboot.n12 - windows pe network boot program) using pxelinux.

i tried following configurations but failed:

1. kernel boot/pxeboot.0

initrd=somegarbage kepxe

2. kernel memdisk

initrd=boot\pxeboot.0 kepxe

Can someone please advice?

I could do it. I was placing files at wring location under tftproot.

One should specify following configuration:

kernel \boot\pxeboot.0

initrd=somegarbage kepxe

boot folder must be located under tftp-root

Link to comment
Share on other sites

do you have a log from the TFTP server?

And post the relevant directory structure of your TFTP share. Probably it's just a missing file or wrong directory names.

Hi, of course. Sorry I should of included it before

Unfortunetly I don't have a TFTP server log (that i'm aware of anyway). It's the Server 2003 TFTP service pulled out of the RIS installation

The structure is

TFTP root

D:\Imaging\TFTP

Relevent Files and Folders

\Boot

\pxelinux.cfg

\Sources

memdisk

menu.c32

pxelinux.0

The root folder has Windows deployment services & BDD folders etc in there too

Inside Boot is

bcd, boot.sdi, bootmgr.exe, hdlscom1.com, hdlscom1.n12, hdlscom2.com, hdlscom2.n12, pxeboot.com, pxeboot.0, WdsConfig.inf, wdsnbp.com & winpe.wim

Inside the Sources folder is BOOT.WIM and the pxelinux.cfg\default file is currently

DEFAULT menu.c32

PROMPT 0

NOESCAPE 0

ALLOWOPTIONS 0

TIMEOUT 50

MENU TITLE PXE services

LABEL Imaging

KERNEL \Boot\pxeboot.0

LABEL Boot to local hard drive

localboot 0

Hope this helps :)

Link to comment
Share on other sites

well, can't help you much there. My TFTP server is aTFTPd on OpenSuSE.

Didn't the Windows TFTP service have some sort of log?

You could easily figure out missing files if you have the TFTP log. When i had this "TFTP download failed" errors, it was always a file missing in the TFTP folder.

Link to comment
Share on other sites

Not that i've seen yet.

I've looked in the Event viewer but I suppose with Microsoft they could be logging anywhere. Plus I've had it working with just directly linking \Boot\pxeboot.n12 to the PXE bootfile option in DHCP.

Thanks anyway

Edited by Deman
Link to comment
Share on other sites

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...