Jump to content

* * * * * 1 votes

boot WinPE 2.0 over network with PXE

  • Please log in to reply
9 replies to this topic

#1 valentin

  • .script developer
  • 8 posts

Posted 13 February 2007 - 05:39 PM


did anyone try to boot VistaPE over network? I did try and had some success. The bootmanager loads and so does the boot.wim which extracts to memory (? Windows loading ...). After that my computer seems to hang. Any ideas? I think it would be very nice to have a VistaPE without the need of a USB-stick or a CD/DVD.


PS.: I am posting my instructions tomorrow. Maybe someone can figure out what went wrong.

#2 NightMan


    Frequent Member

  • .script developer
  • 433 posts
  • Location:Russian, Moscow

Posted 23 February 2007 - 08:30 PM


I am posting my instructions tomorrow. Maybe someone can figure out what went wrong.

i can try it at work at monday, can you write simple instruction how boot it without RIS...

#3 valentin

  • .script developer
  • 8 posts

Posted 26 February 2007 - 04:14 PM


i can try it at work at monday, can you write simple instruction how boot it without RIS...

Hi and thanks,

I didnt have time to report yet. But I did it. I was using a Gentoo (Linux) as DHCP and TFTP-server. In the end the problem were the casesensitve directory-names and the backslash and slash-conversion.

Here is a working tutorial:

1. Build your project as usual (you wont need an ISO).
IMPORTANT: my boot image is called boot.wim

2. Create a BCD using "bcdedit" for your net-boot like this (command line):
Bcdedit –createstore c:\BCDBcdedit –store c:\BCD –create {ramdiskoptions} /d “Ramdisk options” Bcdedit –store c:\BCD –set {ramdiskoptions} ramdisksdidevice  bootBcdedit –store c:\BCD –set {ramdiskoptions} ramdisksdipath  \Boot\boot.sdiBcdedit –store c:\BCD –create /d “YourVista” /application osloader
At this point you will get a GUID which will be refered as {guid1}.
Bcdedit –store c:\BCD –set {guid1} systemroot \WindowsBcdedit –store c:\BCD –set {guid1} detecthal YesBcdedit –store c:\BCD –set {guid1} winpe YesBcdedit –store c:\BCD –set {guid1} osdevice ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions}Bcdedit –store c:\BCD –set {guid1} device ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions}Bcdedit –store c:\BCD –create {bootmgr} /d “BootManager”Bcdedit –store c:\BCD –set {bootmgr} timeout 30 Bcdedit –store c:\BCD –displayorder {guid1}
IMPORTANT: The path has to be \Boot (casesensitive).3. Create a directory for all the files on a TFTP-server (mine is called /diskless)- copy \Windows\Boot\PXE\*.* (Vistas/WinPE 2.0) to /diskless- copy boot.wim to /diskless/Boot-copy \Fonts\*.* to /diskless/Boot/Fonts (IMPORTANT: this is casesensitive)4. Install a tftp server (I am using tftp-hpa)My /etc/conf.d/in.tftpd look like this
# /etc/init.d/in.tftpd# Path to server files from#INTFTPD_PATH="/tftproot"# For more options, see tftpd(8)#INTFTPD_OPTS="-s ${INTFTPD_PATH}"INTFTPD_PATH="/diskless"INTFTPD_RPATH="/etc/tftpr"INTFTPD_USER="nobody"INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH} -m ${INTFTPD_RPATH}"
and /etc/tftpr looks like this (IMPORTANT if you use a linux system)
rg      \\      /
5. Install a dhcp-server (my Gentoo uses: http://www.isc.org/products/DHCP)and my config file looks like this:
allow booting;allow bootp;option domain-name "testnet";option domain-name-servers x.x.x.x, y.y.y.y;default-lease-time 600;max-lease-time 7200;log-facility local7;ddns-update-style none;option root-path "/diskless";next-server;filename "/Boot/pxeboot.com";subnet netmask {  range;  default-lease-time 600;  max-lease-time 7200;  option routers;}
IMPORTANT: My DHCP and TFTP-servers IP is: and I did blackout my DNS-servers IP
change to match your configuration

6. start your DHCPD and TFTP-daemon

7. now you should be able to boot via network (if your BIOS/network card supports PXE)
HINT: if not, you might wanna try http://registration....bfg/index.shtml

#4 Brito


    Platinum Member

  • .script developer
  • 10566 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
    European Union

Posted 26 February 2007 - 10:36 PM

Valentin, would you post this info on the wiki to keep it as reference as others when trying PXE? :P

#5 sebus


    Frequent Member

  • Advanced user
  • 360 posts

Posted 04 April 2007 - 01:27 PM

This set of instructions came from:

Installing Vista...

But as somebody pointed there the command (and other ones):

Bcdedit –store c:\BCD –create {ramdiskoptions} /d “Ramdisk options”

does not work as bcdedit does not accept parameter -create, but /create

So having the correct bcd file in the end, I get error 0x0000000
Boot selection failed because a required device is inaccessible

That is with pxeboot, with WDSNBP.COM the boot runs in circles looking for the tftp server

I use Ardence PXE server in Proxy mode and Ardence TFTP server

Anybody really had any success with PXE VistaPE boot?


#6 RobinG

  • Members
  • 7 posts
  • Location:Cambridge, UK

Posted 04 April 2007 - 02:05 PM

That is with pxeboot, with WDSNBP.COM the boot runs in circles looking for the tftp server

Use pxeboot.com (or pxeboot.n12 for no F12 prompt) instead of WDSNBP.COM.

Also, see a later blog entry on the site you quote with further info.

#7 RobinG

  • Members
  • 7 posts
  • Location:Cambridge, UK

Posted 04 April 2007 - 02:05 PM

This one actually, Deploy a WinPE 2.0 image using PXE and the WAIK.

And checkout its comments too.

#8 sebus


    Frequent Member

  • Advanced user
  • 360 posts

Posted 04 April 2007 - 08:05 PM


Use Ghost32 instead of DOS Ghost as the DOS version has serious problems with SATA drives

Tools used
(no Linux tools needed - that is good for anybody not having access to Linux or knowledge to do it):

- TFTPD32 from http://perso.wanadoo...in/tftpd32.html
or (much faster) Bootix TFTPD32 from trial version of bootix® BootManage Administrator
- DHCP server (I use NetWare, but I believe any will do)
- PXE server in proxy mode (I tried Ardence PXE, Argon PXE, 3Com PXe - that one comes with Ghost Solution Suite 2.0)
Above could be not used if DHCP was configured to serve TFTP Server IP and TFTP Filename
- Windows Automated Installation Kit from http://www.microsoft...;displaylang=en
- Symantec's Ghost32 (optional & commercial)


Install PXE server, edit bootptab so it reads for the client you are testing
(depending what PXE server is used you might have to edit this file in notepad istead it own Win GUI):


Install WAIK
This page is helpful http://www.svrops.co...winvistape2.htm
I also needed to modify the winpe.wim to include in system32 3 additional files: ghost32.exe
shutdown.cmd =
wpeutil shutdown

reboot.cmd =
wpeutil reboot

imagex /mountrw c:\windowspe_x86\winpe.wim 1 c:\windowspe_x86\mount

add the files to where you need them (ie windows\system32) and then:

imagex.exe /unmount /commit c:\windowspe_x86\mount

The above make usage for ghost much easier (no need to traverse directories)
Then follow instructions on this page:
with modifications (NOTE / instead of original page -):

Run these commands from your Vista / WinPE 2.0 VirtualPC computer. After booting WinPE 2.0,
you will automatically be presented with a command prompt. If runnning on Vista, open a command prompt.

bcdedit -createstore c:\BCD
bcdedit /store c:\BCD /create {ramdiskoptions} /d "Ramdisk options"
bcdedit /store c:\BCD /set {ramdiskoptions} ramdisksdidevice boot
bcdedit /store c:\BCD /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi
bcdedit /store c:\BCD /create /d "MyWinPE Boot Image" /application osloader

and then when you have the correct GUID:

bcdedit /store c:\BCD /set {f801521f-e25c-11db-8889-0018f364d15f} systemroot \Windows
bcdedit /store c:\BCD /set {f801521f-e25c-11db-8889-0018f364d15f} detecthal Yes
bcdedit /store c:\BCD /set {f801521f-e25c-11db-8889-0018f364d15f} winpe Yes
bcdedit /store c:\BCD /set {f801521f-e25c-11db-8889-0018f364d15f} osdevice ramdisk=[boot]\Boot\WinPE.wim,{ramdiskoptions}
bcdedit /store c:\BCD /set {f801521f-e25c-11db-8889-0018f364d15f} device ramdisk=[boot]\Boot\WinPE.wim,{ramdiskoptions}
bcdedit /store c:\BCD /create {bootmgr} /d "Windows VISTA BootManager"
bcdedit /store c:\BCD /set {bootmgr} timeout 30
bcdedit /store c:\BCD /set {bootmgr} displayorder {f801521f-e25c-11db-8889-0018f364d15f}

Start TFTP server (one of the two above - Bootix is much faster) and the computer boots to VistaPE after F12 hit
If using TFTPD32 then MUST select in settings Allow '\' As virtual root
Bootix seems to work with NO configuration needed at all

#9 ThatOneGuy

  • Members
  • 8 posts

Posted 24 April 2007 - 06:56 PM

Thanks for the info on this guys. I was able to replace BartPE on my PXE sever with VistaPE without many problems. The hard part for me was figuring out how to get VistaPE to find x: as the program drive since everything is contained in boot.wim. I didn't originally know that vistape.cd was used as a search file to figure out which drive to use, but after I managed to RTFM I made a batch file that does "copy x:\windows\system32\vistape.cd x:\" and placed it first in the winpeshl.ini file before autorun.cmd searches for that file. I was using 007. This allowed all my desktop icons and start menu programs to show up. Although this way is simple, maybe there's an easier way of going about it?

#10 Goik

  • Members
  • 2 posts
    United States

Posted 27 June 2008 - 04:32 PM

This was one of my most fustrating projects, depise doing everything right down to the syntax command lines. I dont know if its WAIK version conflicts or the way BCD file was transported from another machine or what it was, but nothing was getting done. TFTP32d was working wonderfully, client PC would PXE boot to it and get going and then end up in 0xc00000f error. BCD data file not being read right or whatever. I got mad at the end for not being able to pull this off when everyone else could despise some errors or whatever they did.

I had to conclude that the BCD file i created just wouldnt work for whatever reason.

Out of the blue, thinking outside of the box, I decided to copy the BCD file from WAIK ( and also from Vistape in boot folder afterward for testing purposes), ran into errors....it couldnt find the source WIM files. At that point, I decided to just simply import the folder \Sources\ with the WIM file in it into the TFTPD32 folder where supposely the \Boot\ folder should be according to the BCD creation file process, simply because I was looking at the contents of the BCD file to see where it would look for the boot folder and it was no longer '\Boot\' but instead '\sources\' folder.( remmy the "[boot]\Boot\WinPE.wim,{ramdiskoptions} line?)

What DO I KNOW!?!?!? it worked! I oddly was dumbfounded at this and wondered out loud while cursing politely why the heck we had to create the BCD file to begin with!?!? No one had mentioned this either! ( forgive me if i missed it somewhere in the forums or google out here ) So instead of going through the whole process of making the BCD file, just simply import the BCD file from your vistape boot folder into the TFTPD folder ( or where you put your perferred 'root' folder ) along with the PXEBoot.com files and so forth. Import your vistape created boot.wim file in the folder as well, under the folder named 'sources' or whatever was named for your vistape ( remember the BCD file will be looking for boot.wim, not winpe.wim ). Of course youll have to fiddle with TFTP32d settings as you would have to begin with and once it PXE boot right, youre gonna be in VistaPE on the client PC in no time. The BCD file that was created or modified for VistaPE will just do fine! *growls*

Now, im still peeved about this, thinking why the heck this kind of info isnt around. Why did no one else mention this here in the forum?

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users