Help - Search - Members - Calendar
Full Version: ubcd4win, PXE and a great success!
UBCD4Win Forums > Main Forum: UBCD4Windows - Support > General Questions
fred-d
HI folks,

I just wanted to give some props to the people that make this project work. last week, I was able to set up a pxe server and make a disk image that booted the project, using different pieces of the original bart package, and the rest of the UBCD4win package.

for the pxe server you can use whatever you want. (we used emboot, but you could use the intel pxe pdk..) and the tftp server we used the one that comes with win2k3.

versions used: bartpe 3.1.10a, ubcd4win 2.6, drivers 1.8, assorted files from sp1 for w2k3.

I used a tool called sdiloader.exe to create a ntfs compressed disk image (google xpeffi.exe, xpeffi is a downloader tool to download and install embedded XP. I downloaded the install files, then extracted one of the cabs to get the sdiloader tool and a driver sdi.sys.. etc... the driver prompts to install the first time you launch sdiloader.exe..) anyway.

there were a lot of articles that I had to sift through to get the correct recipe. but after a day of playing, I was able to get it to work

I used the original ramdisk driver from bartpe 3.1.10a (limited to 96 MB, but that's ok it worked!!) I left the ramdisk autoresizer from the project alone and it also resized like a charm.

I used nu2shell from the original bartpe package and replaced peloader. (I went through some of the config files and replace "peloader.exe" with "nu2shell.exe" in the menu files and things worked very well.

I wanted to use nu2shell because of the password protection built in. anyone in the building can boot from the pxe server, and we have a few tools up there for us to use, (dos network boot for imaging machines, a chkdsk tool, ubcd4win disk image. and a couple of others) and I wanted the password so that the few technically saavy users wouldn't pwn any machine they wanted with it.. very handy...


also, the "environment" settings plugin worked perfectly with nu2shell. props for putting that together. (I can't find the forum entry at the moment for the author of that plugin. so thanks!! you know who you are!!) (as a note I read somewhere that the environment plugin didn't work with nu2shell. someone fixed it it seems, great work.

I disabled all the plugins that I don't use/don't have licenses for, (adaware etc..) I left the entire driver package in because its nice not to have to worry about wether the right nic driver is there.. I was left with a 210MB sdi disk image that downloads in about 40 seconds (100Mb lan) and after it boots, is lightning fast (cause its running from big ramdisk.) and is perfect for fixing registries. and getting data off of corrupted OS's, diagnosing hardware problems etc.

it works reasonably well in a machine that has 384M of ram (ramdisk is about 31 Mb after resize), but 512 is perfectly acceptible. ramdisk is about 75 Mb after resize) and 75 seems to be plenty.

if anyone wants the process/recipe in more detail, feel free to e-mail, PM or IM me. I'm in the process of writing notes on it so I won't forget what I did... I'll update my profile with the correct info if its not there already.

Thanks again!!!
Fred
pcuser
Thank you very much Fred! I have a boot server setup already and have been wanting to find the time to figure out how to drag a UBCD4Win image accross the lan and boot it. Your secret recipe would be very much appreciated. Feel free to post your notes here or you can PM me with them.

Tom
fred-d
QUOTE (pcuser @ Mar 27 2006, 02:09 PM) *
Thank you very much Fred! I have a boot server setup already and have been wanting to find the time to figure out how to drag a UBCD4Win image accross the lan and boot it. Your secret recipe would be very much appreciated. Feel free to post your notes here or you can PM me with them.

Tom

my system : winxp sp2 40 gig drive, p4 with 512M ram.
I don't know what results you will get with a win2k system.
my pxe server :emboot
my tftp server :the win2k3 default. I couldn't get the emboot tftp server to play correctly.


This process is not for the feint of heart. please read it fully and understand what is going on. I don't want to be responsible for anyone formating thier other hard drive by accident...
these notes are the distillation of a lot of different resources and a lot of time.

most of this is taken from Harold over at 911cd.com forum pages

please print this out so you can follow as you are doing it.

1. Download MS Windows Server 2003 Service Pack 1 (RC). It is a SFX CAB archive.
You may use WinRAR to open it. Extract the SETUPLDR.EX_ and RAMDISK.SY_. STARTROM.n1_
Expand SETUPLDR.EX_ and ramdisk.sy_ to get SETUPLDR.EXE RAMDISK.SYS and STARTROM.N12
make a folder called tftproot copy the setupldr.exe to the folder tftproot and rename it to NTLDR (no extension)
copy STARTROM.N12 to tftproot and rename it to STARTROM.0 (zero)
copy NTDETECT.COM from the win2k3 sp1 folder to the tftproot folder

2. Build a normal XPsp2 source (a directory with xp cd contents, and sp2 slipstreamed in. not a cd)
find and replace the driver RAMDISK.SYS in your “source” directory with the one from W2k3-SP1 .

3. there is no 3...

4. start with a fresh bartpe 3.1.10a directory ( this is so you don't lose any configs you already have...), rename the plugin folder to plugin.orig, and install fresh copies of ubcd4win and drivers packages into your bartpe builder directory.

5. after extracting the ubcd4win plugins and drivers, delete the ramdisk folder from "plugins"
copy the ramdisk folder from the plugin.orig to the plugin folder.
(the patched version of the ramdisk driver doesn't work with what we're doing.)
(**if you want the password functionality of nu2shell, replace the zz5 plugin with the one
from plugins.orig, then in the nu2menu plugin search for text "peloader.exe" and in the
xml files replace peloader.exe with nu2shell.exe. seems to work like a charm.

6. update malware defs/antivirus defs now or after the build, whatever you are comfortable with

7. go through the drivers directory and delete the ones you know you won't be using. these will take up space in the disk image, and we want it to be as small as possible, but make sure you have the ones you need.

8. launch pebuilder, disable plugins as many plugins as you are comfortable with, I disabled ones like opera and some of the duplicate tools. if you are familiar with the project, you have some favorites that you use all the time, and others that you used less often.
( if you are using nu2shell, select it in the plugin list and click config. a dialog will popup,
place a check in the box that enables the password and type in the password you want
and follow the dialog. )
once you are happy with your selection of plugins, close the plugins dialog and start the build.

if you want to use ISO file instead of smaller SDI image. build the ISO. copy the ISO image to the tftproot folder and skip down to step 21

if you want to build a smaller sdi disk image continue on to step 9.

9. ok so we have built and have the bartpe output directory structure. right click on the bartpe output folder and select properties, notice the size, subtract 80. this is the size of the disk we will create.

10. download xpeffi.exe from here

http://www.microsoft.com/downloads/details...&DisplayLang=en

11. launch it and select only "windows xp embedded sp1 tools" in the middle where it says download location click "change location" and select somewhere familiar to you, I created a folder called sdi on the desktop and chose it ..

click "start download now" when its done it will launch the setup application. cancel out of it, we are not interested in it.

12. in the sdi folder will be a couple of files, one of them is tools.cab. you can use winzip to extract the files. keep all the files together.. we are interested in the file called sdiloader.exe, sdi.sys, sdi.inf, and sdi.cat

13. launch sdiloader, it will prompt you to install a driver, go ahead and do it. when the gui comes up, click the "add disk" button and navigate our tftproot folder and for a file name I used bartpe.sdi. it will prompt you to create it if it does not exist.

It will ask you what size it should be, (the default is 64) change it to the number we wrote down earlier. this will create a virtual hard disk which we will work with next. keep sdiloader running, just minimize it.

14. open a cmd window. and run DISKPART.EXE (case is unimportant in the following.)
A. type: LIST DISK <enter>(it will return the hard disks it finds. one will be the disk we just created with sdiloader
B. type: SELECT DISK x <enter> (where x is the small drive we just created,(usually disk 1 but make sure you have the right one!!!)
C. type: CLEAN <enter>
d. type: ASSIGN LETTER=R (or whaterver, I'll use R...)
E. type: EXIT

15. in the cmd window type:
format R: /FS:NTFS /V:BARTPE_SDI /Q /C /Y (make sure your drive letter is the same as what we ASSIGNed just now!!
this formats the drive and enables compression.

16. once the format is done, in the cmd windows type
robocopy.exe /MIR c:\pebuilder\bartpe\ R:\ /MIN:150000 /R:3 /W:4
(make sure the pebuilder\bartpe directory is the output of the build process.

17. in the cmd window type DEFRAG R:

18. in the cmd windows type
robocopy.exe /MIR c:\pebuilder\bartpe\ R:\ /MAX:150000 /R:3 /W:4

(note the min and max difference in the 2 robocopy commands.

19. all of the files should fit. you can play with different sizes after you are familiar with the process.

20. go back to the sdiloader application, or relaunch it if you closed it. and select "remove disk" it will dismount our disk image file.

21. navigate to the tftproot folder and create a textfile called WINNT.SIF and paste the following lines

for using sdi image:
#############snip##################

[SetupData]
BootDevice="ramdisk(0)"
BootPath="\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdimageoffset=36352 /rdpath=bartpe.sdi"

#############snip##################

for using ISO image
#############snip##################

[SetupData]
BootDevice="ramdisk(0)"
BootPath="\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=bartpe.iso"

#############snip##################

you can boot an iso image, but they are larger. if you try this with a strait ISO image,
the "/rdimageoffset=36352" will need to be replace with "/rdexportascd" and change the rdpath=bartpe.iso

so in our tftproot folder we have the files:
NTDETECT.COM, NTLDR, WINNT.SIF, STARTROM.0, and (BARTPE.SDI or BARTPE.ISO)

*I capitalized all of them... I think it makes a difference, I did it just in case.
**important----copy all of the files in our tftproot folder into the root directory of your tftp server.***

22. if you are already running a pxe server, you will have to configure its menu etc.. so that it passes the STARTROM.0 file as the start up file. this file will handle pushing the rest of the files to the client machine.
hilander999
QUOTE
also, the "environment" settings plugin worked perfectly with nu2shell. props for putting that together. (I can't find the forum entry at the moment for the author of that plugin. so thanks!! you know who you are!!) (as a note I read somewhere that the environment plugin didn't work with nu2shell. someone fixed it it seems, great work.

clapping.gif

It's good to hear that Bart finally fixed the nu2shell program. The versions from 3.1.4 - 3.1.7 did not create
a full set of environemt settings in the registry & this was causing way too many errors to be usable.

I have not looked at the new version since we are no longer using either peloader or nu2shell, but it's good
to hear a sucess story anyway.

I am curious as to why you think the ramdisk included with ubcd4win is patched?
It's nothing more than an earlier version of the same driver that has a higher limitation than the current
version that is included in Bart's download.

This may have changed because I read something about the new driver re-sizing itself based on memory
but I have been spending all of my free time getting the next version ready for release so there's a good
chance your gonna want to rebuild that SDI in a couple weeks. biggrin.gif
fred-d
QUOTE (hilander999 @ Mar 27 2006, 04:38 PM) *
QUOTE
also, the "environment" settings plugin worked perfectly with nu2shell. props for putting that together. (I can't find the forum entry at the moment for the author of that plugin. so thanks!! you know who you are!!) (as a note I read somewhere that the environment plugin didn't work with nu2shell. someone fixed it it seems, great work.

clapping.gif

It's good to hear that Bart finally fixed the nu2shell program. The versions from 3.1.4 - 3.1.7 did not create
a full set of environemt settings in the registry & this was causing way too many errors to be usable.

I am curious as to why you think the ramdisk included with ubcd4win is patched?
It's nothing more than an earlier version of the same driver that has a higher limitation than the current
version that is included in Bart's download.


it was nothing more than an assumption on my part. I have no facts to back that up. sad.gifI thought it was a rewrite that worked with the autoresizer plugin...

sorry for any confusion...

Fred
hilander999
QUOTE
it was nothing more than an assumption on my part. I have no facts to back that up. sad.gifI thought it was a rewrite that worked with the autoresizer plugin...

sorry for any confusion...

Fred
No confusion, just curiosity.

I wrote the environment plugin because nu2shell was interfering with too many programs & causing errors.
I have never tested it WITH nu2shell, so I really don't know if it's actually compatible, or if Bart finally fixed nu2shell.

3.0 is using Joshua's preshell to do all kinds of things at boot time & also provides for the use of a password.

I will admit the the next version is a little on the heavy side, weighing in @ around 420mb
without the driver pack, but this is the full compliment of plugins & has a much nicer feel to it
than any previous version of the project has ever had.
pcuser
QUOTE
3. there is no 3...
laugh.gifI got a good chuckle out of that! So, here it is...

Step number 3:

Here's what we'll end up with...
You'll be able to boot your UBCD4Win iso image, not via cdrom but via ethernet.

PXE is a network boot protocol used to boot a computer via ethernet. In our case, we're going to boot the UBCD4Win iso image via PXE (in VMWare Player or a real pc on your lan). After it works in VMWare then you can use the same setup to boot other computers on your lan without changing a thing.

Here's how it works:
First of all, I'll assume that you've already followed the steps above and have NTLDR, NTDETECT.COM, STARTROM.0 and ramdisk.sys extracted (and uncompressed and renamed) from the SP1 file for Win2003 and that you've also made a text file called WINNT.SIF with these contents:
QUOTE
[SetupData]
BootDevice="ramdisk(0)"
BootPath="\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=pebuilder.iso"


Copy NTLDR, NTDETECT.COM, STARTROM.0 and WINNT.SIF to your build folder (the same folder that pebuilder.exe is in) and copy ramdisk.sys to the i386 folder of your source files folder (the folder that you copied your XP cd to) and delete the existing ramdisk.sy_ file

Now build UBCD4Win as usual. Disable anything that you don't need unless you have tons of ram and gigabit network. You have to have enough ram for the size of the iso image plus at least 128mb.

Now you need to download TFTPD32 and extract the 3 files from the zip file to your build folder.

Run tftpd32.exe and set these options:
Current Directory: Should be your build directory
Click the "Settings" button and enable "Use anticipation window of" and set it to 256

Now click on the "DHCP Server" tab and set:
bootfile = STARTROM.0
mask = 255.255.255.0

There's 4 settings in this tab that'll depend on the settings of your router. "ip pool starting address", "size of pool", wins/dns server" and "default router".

This assumes that your router IP Address is 192.168.1.1
IP Pool Starting Address = 192.168.1.250
Size of pool = 5 (this gives you 192.168.1.250-192.168.1.254)
Wins/DNS Server = 192.168.1.1
Default Router = 192.168.1.1

You should set your existing router to limit it's IP Range to 192.168.1.249 so there's no conflicts.

If you have VMWare Player installed on your system then you should be able to boot it and tap the F12 key during post (to boot via LAN) and boot your UBCD4Win iso image via PXE (if you have enough ram).

You can also boot any pc on your lan this way provided that it can boot via LAN. Be aware that it most likely won't work if the pc's are connected via a switch. They need to be connected via a hub or router.

If you find this helpfull then thank Fred wink.gif

Tom
avengeur
very interesting but i have some problem with step 4 :

4. start with a fresh bartpe 3.1.10a directory ( this is so you don't lose any configs you already have...), rename the plugin folder to plugin.orig, and install fresh copies of ubcd4win and drivers packages into your bartpe builder directory.


since my bartpe folder and my ubcd cd are really different i don't really understand what to do here , specially the :
install fresh copies of ubcd4win and drivers packages into your bartpe builder directory.

thanks
rdsok
QUOTE (avengeur @ Mar 5 2008, 09:37 AM) *
since my bartpe folder and my ubcd cd are really different i don't really understand what to do here , specially the :
install fresh copies of ubcd4win and drivers packages into your bartpe builder directory.

thanks


First... take note of the dates on the posts in this thread. They are now very close to being 2 years old!!...

Since that time, UBCD4Win now includes the OEM version of BartPE. So step 4 is irrelevant. Install UBCD4Win and you will have the complete project that already includes PEBuilder ( named UBCD4WinBuilder.exe ) .
fred-d
QUOTE (avengeur @ Mar 5 2008, 10:37 AM) *
very interesting but i have some problem with step 4 :

4. start with a fresh bartpe 3.1.10a directory ( this is so you don't lose any configs you already have...), rename the plugin folder to plugin.orig, and install fresh copies of ubcd4win and drivers packages into your bartpe builder directory.


since my bartpe folder and my ubcd cd are really different i don't really understand what to do here , specially the :
install fresh copies of ubcd4win and drivers packages into your bartpe builder directory.

thanks


its been a while since I've revisited this, so bear with me. back when I did this, UBCD4Win was a little different. I seem to remember the drivers being a different download etc.. I think you can safely skip step 4...

I think its time to update my image on our PXE server we've been running with the one that I made when I created this post.. The process is not really that bad if you understand what the different steps are doing. If you skip making the SDI image, its really not that hard. but, like I said, not for the feint of heart either. thanks for that info on the VMWare bit. I'll have to play with that a bit.

I've gotten a few e-mails from people looking for help on setting this up in the last couple of months. I'll try and edit the posts to be a little more descriptive, and give the purpose for each step...

Thanks.
avengeur
Thanks for the reply first , (i had notice the date two years old that's why i have post ^^ )

well i will try skip the 4. and continue with the 5 i have extract the plugins and drivers i will try to follow the rest smile.gif

btw ramdisk doesn't seem to exist in ubcd4win so we have just to put the ramdisk of the bartpe plugin folder ?

i will continue to try as it would be really useful to boot on a ubcd4win instead of a bartpe on pxe.
There is something i still don't understand well, if we just copy the drivers and plugins directory from ubcd and then compile with pe builder from bart's pe, well it would mean that bartpe and ubcd4win difference is just in the plugin ? (but ubcd4win and bartpe seems very different)
last time i have try to put on pxe ubcd4win iso the pxe said that it can't findfind the ISO (rather strange because if i put a bartpe iso it work)

for the sdi what's the interest to use it instead of the iso ?
anyways thanks for your time.
fred-d
QUOTE (avengeur @ Mar 5 2008, 11:51 AM) *
Thanks for the reply first , (i had notice the date two years old that's why i have post ^^ )

well i will try skip the 4. and continue with the 5 i have extract the plugins and drivers i will try to follow the rest smile.gif

btw ramdisk doesn't seem to exist in ubcd4win so we have just to put the ramdisk of the bartpe plugin folder ?

i will continue to try as it would be really useful to boot on a ubcd4win instead of a bartpe on pxe.
There is something i still don't understand well, if we just copy the drivers and plugins directory from ubcd and then compile with pe builder from bart's pe, well it would mean that bartpe and ubcd4win difference is just in the plugin ? (but ubcd4win and bartpe seems very different)
last time i have try to put on pxe ubcd4win iso the pxe said that it can't findfind the ISO (rather strange because if i put a bartpe iso it work)

for the sdi what's the interest to use it instead of the iso ?
anyways thanks for your time.

I'm trying it with the latest revision of UBCD4Win right now, I've already got my bartpe.sdi built and on the server I just have to try it out..

I replaced the ramdisk.sys in the folder
C:\pebuilder3.10a\BartPE\i386\system32\drivers\ramdisk.sys
with the one I downloaded and extracted.

my sdi filesize weighed in at around 325M so we'll see..

I used the SDI only because its a compressed format, its like a virtual hard disk using ntfs's built in compression. the partition I created was 325M where the ISO was about 465 or so..
fred-d
well,

UBCD4Win 3.12 worked out of the box, I even used the Joshua's pre logon config password with success.
I didn't have to play with the nu2shell or anything it all just worked. the only thing that's a little weird is the menus
there are alot of duplicate entries.. I'm not sure how to go about troubleshooting that part of it.

stuff seems to work though..

I'm not sure how it would run on a machine with only 512M of ram. that's the next test..

I now have an image with the most recent defs on my PXE server.

it took a long time to download though its about 100M bigger than my last effort.

but NICE job again Guys!!!

thanks for all your hard work on this tool!!!

the next thing I'll be looking for is a PGP plugin, but I think that's a ways off yet, and a topic for a different thread...
rdsok
QUOTE (fred-d @ Mar 5 2008, 11:54 AM) *
there are alot of duplicate entries.. I'm not sure how to go about troubleshooting that part of it.


You must build the ISO so the post processing steps will run and sort/correct the menu's. PEBuilder itself does not support post processing, so this is added into the steps that build the ISO
fred-d
QUOTE (rdsok @ Mar 5 2008, 01:15 PM) *
QUOTE (fred-d @ Mar 5 2008, 11:54 AM) *
there are alot of duplicate entries.. I'm not sure how to go about troubleshooting that part of it.


You must build the ISO so the post processing steps will run and sort/correct the menu's. PEBuilder itself does not support post processing, so this is added into the steps that build the ISO



aahhhh.... ok, so I'll redo my disk image, the structure that I copied didn't have the post processing, where the structure that I have now does. (I built the ISO so I could get the 465M number I quoted above....)

thanks for that, I'll give it a try
avengeur
so basically you have just copy the plugins directory and drivers directory and compiled with pe-builder , then do the sdi image or iso file and that have works?

(i have try with nu2shell but with it i got many error when compiled)

"I replaced the ramdisk.sys in the folder
C:\pebuilder3.10a\BartPE\i386\system32\drivers\ramdisk.sys
with the one I downloaded and extracted"

from W2k3-SP1 ?
fred-d
QUOTE (avengeur @ Mar 5 2008, 02:04 PM) *
so basically you have just copy the plugins directory and drivers directory and compiled with pe-builder , then do the sdi image or iso file and that have works?

(i have try with nu2shell but with it i got many error when compiled)

"I replaced the ramdisk.sys in the folder
C:\pebuilder3.10a\BartPE\i386\system32\drivers\ramdisk.sys
with the one I downloaded and extracted"

from W2k3-SP1 ?



with the build I just did, I started with a fresh install of UBCD4Win V3.12 strait up, no changes.

I disabled a lot of plugins because I wanted to trim it down some.

I did a build just like making a regular cd (make sure you build the ISO even if you aren't going to use it...)

then I replaced the ramdisk.sys just like you have above. (yes from w2k3-SP1)
(if you don't, you'll get a 0x7b BSOD because the ramdisk.sys won't know how to access the sdi ramdisk.. that happened to me this morning..)

I think you can safely disregard anything that pertains to nu2shell as the default install of 3.12 just works..

just start with a clean install of 3.12 and don't worry about doing anything with those folders other than replacing the ramdisk.sys...

Fred
fred-d
Here's the updated process.

my system : winxp sp2 80 gig drive, p4 with 1024M ram.
my pxe server :emboot
my tftp server :the win2k3 default. I couldn't get the emboot tftp
server to play correctly.


This process is not for the feint of heart. please read it fully and understand
what is going on. I don't want to be responsible for anyone formating thier other
hard drive by accident...
these notes are the distillation of a lot of different resources and a lot of time.

most of this is taken from Harold over at 911cd.com forum pages

please print this out so you can follow as you are doing it.

1. Download MS Windows Server 2003 Service Pack 1 (RC). It is a SFX CAB archive.
You may use WinRAR to open it.
A. Extract the SETUPLDR.EX_ and RAMDISK.SY_. STARTROM.n1_
B. Expand SETUPLDR.EX_ and ramdisk.sy_ to get
SETUPLDR.EXE RAMDISK.SYS and STARTROM.N12
C. Make a folder called tftproot copy the setupldr.exe to the folder tftproot and
rename it to NTLDR (no extension)
D. copy STARTROM.N12 to tftproot and rename it to STARTROM.0 (zero)
E. copy NTDETECT.COM from the win2k3 sp1 folder to the tftproot folder

2. Build a normal XPsp2 source (a directory with xp cd contents, and sp2 slipstreamed in. not a cd)

3. set up your tftp server.

4. start with a fresh UBCD4WinV3.12 install

5. launch UBCD4WinBuilder.exe , disable as many plugins as you are comfortable with, I
disabled ones like opera and some of the duplicate tools.

6. (**OPTIONAL**)go through the drivers directory and delete the ones you know you won't be using.
these will take up space in the disk image, and we want it to be as small as possible, but
make sure you have the ones you need.

7. update malware defs/antivirus defs from the plugin configuration tool (enable,disable config etc..)

8. once you are happy with your plugins, go ahead and build and create the iso. (Just do it..
its needed for post processing.)
***replace c:\pebuilder3.10a\bartpe\i386\system32\drivers\ramdisk.sys with the one you
extracted in step1. if you rebuild make sure you replace the file again because it'll get deleted.

you can also put the ramdisk.sys file in your xp-sp2 source folder replacing the ramdisk.sy_ file there
then when you rebuild, you won't have to keep replacing it in the bartpe folder.


***if you want to build a smaller sdi disk image continue on to step 9.
***if you want to use ISO file instead of smaller SDI image.
copy the ISO image to the tftproot folder and skip down to step 21

9. ok so we have built the bartpe output directory structure. right click on the
"c:\pebuilder3.10a\bartpe" output folder and select properties, notice the size,
subtract 80M. Write this down, this is the size of the SDIdisk we will create later.

10. download xpeffi.exe from here
http://www.microsoft.com/downloads/details...;DisplayLang=en

11. launch xpffi.exe and select only "windows xp embedded sp1 tools"
In the middle where it says download location click "change location"
and select somewhere familiar to you, I created a folder called sdi
on the desktop and chose it ..
click "start download now" when its done it will launch the setup application.
cancel out of it, we are not interested in it.

12. in the sdi folder will be a couple of files, one of them is tools.cab.
you can use winzip to extract the files. keep all the files together..
we are interested in the file called sdiloader.exe, sdi.sys, sdi.inf, and sdi.cat

13. launch sdiloader, it will prompt you to install a driver, go ahead and do it.
when the gui comes up, click the "add disk" button and navigate our tftproot folder
and for a file name I used "bartpe.sdi". it will prompt you to create it if it does not exist.

It will ask you what size it should be, (the default is 64) change it to the number we wrote down earlier.
this will create a virtual hard disk which we will work with next. keep sdiloader running, just minimize it.

14. open a cmd window. and run DISKPART.EXE (case is unimportant in the following.)
A. type: LIST DISK <enter>(it will return the hard disks it finds. one will be the disk we just created
with sdiloader
B. type: SELECT DISK x <enter> (where x is the small drive we just created,(usually disk 1 but make
sure you have the right one!!!)
C. type: CLEAN <enter>
d. type: create partition primary <enter>
e. type: ASSIGN LETTER=R (or whaterver, I'll use R...)
f. type: EXIT

15. In the cmd window type:
format R: /FS:NTFS /V:BARTPE_SDI /Q /C /Y
(make sure your drive letter is the same as what we ASSIGNed just now!!
this formats the drive and enables compression.

16. once the format is done, in the cmd windows type
robocopy.exe /MIR c:\pebuilder3.10a\bartpe\ R:\ /MIN:150000 /R:3 /W:4

17. in the cmd window type DEFRAG R:

18. in the cmd windows type
robocopy.exe /MIR c:\pebuilder3.10a\bartpe\ R:\ /MAX:150000 /R:3 /W:4

(note the min and max difference in the 2 robocopy commands.

19. all of the files should fit. you can play with different sizes after you are familiar with the process.

20. go back to the sdiloader application, or relaunch it if you closed it. and select "remove disk"
it will dismount our disk image file.

21. navigate to the tftproot folder and create a textfile called WINNT.SIF and paste the following lines

for using sdi image:
#############snip##################

[SetupData]
BootDevice="ramdisk(0)"
BootPath="\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdimageoffset=36352 /rdpath=bartpe.sdi"

#############snip##################

for using ISO image
#############snip##################

[SetupData]
BootDevice="ramdisk(0)"
BootPath="\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=bartpe.iso"

#############snip##################

so in our tftproot folder we have the files:
NTDETECT.COM, NTLDR, WINNT.SIF, STARTROM.0, and (BARTPE.SDI or BARTPE.ISO)

*I capitalized all of them... I think it makes a difference, I did it just in case.
**important----copy all of the files in our tftproot folder into the root directory of your tftp server.***

22. if you are already running a pxe server, you will have to configure its menu
so that it passes the STARTROM.0 file as the start up file.
this file will handle booting the machine correctly.

once you have it working, you can just replace your iso/sdi image
if you're using sdi image, it is good to keep an eye on how much free space
it has. the smaller the file the less time it will take to download to boot the
machine.
avengeur
That sound pretty easy but i still have an error:
when booting to my tftp it said : the file UBCD.ISO (i have call it that way) can't be loaded error code 16, but if put in bart pe ISO i don't have this error only with my ubcd, anyone have an idea? (i don't think this come from my tftp as it work with windows pe / bart pe)
Thanks
fred-d
QUOTE (avengeur @ Mar 6 2008, 06:25 AM) *
That sound pretty easy but i still have an error:
when booting to my tftp it said : the file UBCD.ISO (i have call it that way) can't be loaded error code 16, but if put in bart pe ISO i don't have this error only with my ubcd, anyone have an idea? (i don't think this come from my tftp as it work with windows pe / bart pe)
Thanks



try renaming the iso that doesn't work with the name that does work.. . just for giggles..
ubcd.iso and bartpe.iso..


I don't know about the error, but make sure you are changing the contents of your winnt.sif file to reflect the different iso name
avengeur
QUOTE
try renaming the iso that doesn't work with the name that does work.. . just for giggles..
ubcd.iso and bartpe.iso..


I don't know about the error, but make sure you are changing the contents of your winnt.sif file to reflect the different iso name



well already try that but still same result, ok for bartpe iso , error for ubcd4win iso, the only big difference between both is the size (bart 160Mo , ubcd 550Mo)
i have recompiled 5 times ubcd4win still the same result (i have even try with 0 plugin)
pcuser
QUOTE
the only big difference between both is the size (bart 160Mo , ubcd 550Mo)


Get the size of your ISO down below 500MB.
avengeur
QUOTE (pcuser @ Mar 6 2008, 12:19 PM) *
QUOTE
the only big difference between both is the size (bart 160Mo , ubcd 550Mo)


Get the size of your ISO down below 500MB.



i will try but like i said i even tried a ubcd4win image with 0 plugin and still don't work
pcuser
Are you sure you have enough RAM?
avengeur
QUOTE (pcuser @ Mar 6 2008, 12:30 PM) *
Are you sure you have enough RAM?



i have 512Mo i will try on a machine with more ram but 512 should be enough.
fred-d
Hi,

with a minimal set of plugins, I have a few anti-spyware, antivirus, disk diagnostics, registry editors etc. my iso image is 400M. using sdi image, I was able to get the same build in a 275M sdi image. remember that you need enough ram for the initial boot-ramdisk. then you need enough free for the computer to use, then you need enough left over to make a decent "B:\ drive". I haven't tried my 275M build on a machine with 512 M ram yet that'll be the next test.

F
avengeur
QUOTE (fred-d @ Mar 6 2008, 12:56 PM) *
Hi,

with a minimal set of plugins, I have a few anti-spyware, antivirus, disk diagnostics, registry editors etc. my iso image is 400M. using sdi image, I was able to get the same build in a 275M sdi image. remember that you need enough ram for the initial boot-ramdisk. then you need enough free for the computer to use, then you need enough left over to make a decent "B:\ drive". I haven't tried my 275M build on a machine with 512 M ram yet that'll be the next test.

F



I will try too find a machine with more ram to see, if you can try the image of 400Mo (the iso) on a 512 machine to see if you get the same error , if not then i don't understand smile.gif
hilander999
QUOTE (avengeur @ Mar 6 2008, 12:43 PM) *
QUOTE (pcuser @ Mar 6 2008, 12:30 PM) *
Are you sure you have enough RAM?



i have 512Mo i will try on a machine with more ram but 512 should be enough.

The system alone requires no less then 41mb to boot at all and that is the absolute minimun we found durring testing, 70mb is a more accurate number as the machine will be extremely slow at 41mb. To use the MS ram loading feature you must not exceed 500mb, this is a restriction from the driver written by MS and there is no way around it.

ISO + MIN RAM + RAMDRIVE < SYSTEM RAM

You must get your total ram requirements below the system's installed ram or it will never boot.
fred-d
greetings,

With my 275M sdi image, on a 512M ram system, the system would boot. but things didn't work correctly.
I ran the antivirus or the anti-spyware, and it stomped all over itself. (errors like "vdx image destroyed" when it was loading the definitions, or windows explorer wouldn't open the c:\ drive etc..

I put another 128m stick in the machine and they behaved nicely.

good info Highlander, thanks for that!! I didn't realize there was that upper limit.

Kind regards,

Fred
avengeur
QUOTE (fred-d @ Mar 6 2008, 03:34 PM) *
greetings,

With my 275M sdi image, on a 512M ram system, the system would boot. but things didn't work correctly.
I ran the antivirus or the anti-spyware, and it stomped all over itself. (errors like "vdx image destroyed" when it was loading the definitions, or windows explorer wouldn't open the c:\ drive etc..

I put another 128m stick in the machine and they behaved nicely.

good info Highlander, thanks for that!! I didn't realize there was that upper limit.

Kind regards,

Fred


And any info with the iso image on a 512 ram system ? (i would like my image to boot even if i get some error after smile.gif, but i am not sure the ram is the problem in my case. thanks)
avengeur
I have try with a 250Mb image, same result it still doesn't "find" the ISO (but still work with a bart's pe iso)
avengeur
hi, another question about the step 16 17 18 :

16. once the format is done, in the cmd windows type
robocopy.exe /MIR c:\pebuilder3.10a\bartpe\ R:\ /MIN:150000 /R:3 /W:4

17. in the cmd window type DEFRAG R:

18. in the cmd windows type
robocopy.exe /MIR c:\pebuilder3.10a\bartpe\ R:\ /MAX:150000 /R:3 /W:4



what is the difference between the 16 and 18 ? (i know the min max but what does it do?), why copy two times ?
thx
fred-d
hi,

are you changing the contents of the winnt.sif file? make sure all of the relevant files in your tftpbood directory on your boot server are all caps? I think it makes a difference.

if you are doing the above, please elaborate the steps in the boot process, and at what step it is failing.

I'm not sure about the copying the contents in 2 passes, but I think it makes it easier to cram all the files into the disk image. you copy all the big ones first, do a defrag, then the little ones. if you watch the free space on the disk image in my computer, the free space will go up, and down as the copying happens, that is the ntfs compression squeezing the files. that's why the wait and retry switch in that command..
avengeur
QUOTE (fred-d @ Mar 10 2008, 10:30 AM) *
hi,

are you changing the contents of the winnt.sif file? make sure all of the relevant files in your tftpbood directory on your boot server are all caps? I think it makes a difference.

if you are doing the above, please elaborate the steps in the boot process, and at what step it is failing.

I'm not sure about the copying the contents in 2 passes, but I think it makes it easier to cram all the files into the disk image. you copy all the big ones first, do a defrag, then the little ones. if you watch the free space on the disk image in my computer, the free space will go up, and down as the copying happens, that is the ntfs compression squeezing the files. that's why the wait and retry switch in that command..



hmm ok i understand thanks, for my problem it's finally solve, the problem was like we think the ram + the size,
i have been able to boot the image (after changing it from iso to sdi) with a size of 300Mb , with 400 or much it doesn't work (maybe we more ram but i have try a 2gb pc and it didn't work).
Anyway i am finally able to make it work with the sdi format i will now look better on the modules to keep or not smile.gif
thanks for all i am happy now biggrin.gif
avengeur
Btw i almost forget, is it possible to keep the multiboot with pxe? (ntfs for dos, windows rescue etc) or all the things relative to multiboot are necessary remove?
fred-d
once you are familiar with making the sdi image file, and formatting it etc. make sure that you don't have too much free space.I think in my last build, I had 5Mb free. towards the end of the second robocopy command, there was a lot of retrying while the files were compressed.

I was able to get my image down to about 242 Mb. it booted and most things worked correctly but it was Reeeeaaal slow..

I put another 128M stick in it and it seemed to be more usable. so you might want to take that into consideration in how you plan on using it this way.

its no problem for me because almost all the machines in my environment have 512+

I'm glad you got it working!!
Congrats!

kind regards,
Fred
fred-d
QUOTE (avengeur @ Mar 10 2008, 12:41 PM) *
Btw i almost forget, is it possible to keep the multiboot with pxe? (ntfs for dos, windows rescue etc) or all the things relative to multiboot are necessary remove?


I don't know. I disabled most of it. (I didn't experiment to see if diabling them actually saved any space but I knew I wasn't using them so I disabled them.)


I don't think its relevent. I think that because if I want to boot a different image, I'll just create another menu item in my PXE boot menu and tell it to use the correct image...

ubcd4win is my choice for winpe environment(so I don't have to mess with the other windows files in my tftpboot), for memory test, I'm using a floppy image of memtest86+... etc etc..

I'm using ubcd4win because I'm convinced that it is the best winpe tool for the job. I don't run into confilicts with my winnt.sif. Though there might be a way to use subdirectories to have different winpe disk images. I don't think there's a need so... YMMV

Kind Regards,
Fred
fred-d
one other benefit of using the sdi image is that you can go back and update the defs without having to rebuild the intire project. you just download the files, open the sdi image with the utility, and drop the files in, unmount it, and upload it back to tftpboot.. nice...

Kind Regards,
Fred
avengeur
QUOTE (fred-d @ Mar 10 2008, 11:43 AM) *
once you are familiar with making the sdi image file, and formatting it etc. make sure that you don't have too much free space.I think in my last build, I had 5Mb free. towards the end of the second robocopy command, there was a lot of retrying while the files were compressed.

I was able to get my image down to about 242 Mb. it booted and most things worked correctly but it was Reeeeaaal slow..

I put another 128M stick in it and it seemed to be more usable. so you might want to take that into consideration in how you plan on using it this way.

its no problem for me because almost all the machines in my environment have 512+

I'm glad you got it working!!
Congrats!

kind regards,
Fred



if i understand well we should try to put the sdi size while creating it as near as the final size? in my last sdi image i had 30Mb free so i should recreate it with the neareast size to get it work better?
i don't understand well about the 128M stick , you had the image 242 Mb (nice work ^^ ) but work better with a sdi file of 370 ?

i just want to be sure to understand if the sdi "drive" should be the neareast possible of the final size or if we should put more space (sorry i think that what you try to explain but i have sometimes some problem to understand well english ^^ )
regards
fred-d
QUOTE
if i understand well we should try to put the sdi size while creating it as near as the final size?



yes that's correct. you want it to be as small as possible. Once I had my final ubcd4win build, I went through the process about 10 times to get the smallest size I could.
jmm_dss
Thanks for the detailed instructions, fred-d. Works great on Windows Server 2003 + MS TFTP + pxelinux.

By removing a bunch of plug-ins, i was able to whittle the sdi size down to 190MB. A file this small appears to work fine on systems with only 512MB memory, but of course I had to make some sacrifices.

One tip I found is that you can compress the BartPE folder if you are using a NTFS file system to get a really close estimate of how big the sdi file needs to be.

However, one odd thing I noticed was that if I specified that the sdi file should be 180 to 189 MB in size, it would always only make a 180MB disk image (according to diskpart). So it appears it is doing some rounding based on the number I put in. It's not that surprising I guess; I've seen similar behavior in the text mode portion of XP setup.

Anyway thanks and good luck to the others who attempt this.
fred-d
Greetings,

QUOTE (jmm_dss @ Mar 23 2008, 10:18 PM) *
By removing a bunch of plug-ins, i was able to whittle the sdi size down to 190MB.

that doesn't leave you much. I kept one antivirus, and one anti malware. a couple password "recovery" things, a registry editor. (I find that if I get some boot errors where it can't find the system hive, boot ubcd, open and close the registry, and that fixes it..) and some disk utilities. so 190 is the magic size, thanks for that info!
QUOTE (jmm_dss @ Mar 23 2008, 10:18 PM) *
One tip I found is that you can compress the BartPE folder if you are using a NTFS file system to get a really close estimate of how big the sdi file needs to be.

Nice tip! I didn't think of that... that would take off a bunch of itterations.
QUOTE (jmm_dss @ Mar 23 2008, 10:18 PM) *
However, one odd thing I noticed was that if I specified that the sdi file should be 180 to 189 MB in size, it would always only make a 180MB disk image (according to diskpart). So it appears it is doing some rounding based on the number I put in. It's not that surprising I guess; I've seen similar behavior in the text mode portion of XP setup.

yeah, I noticed that too. I think it may have something to do with block size? someone with more knowlege might fill us in...

Thanks for the info and the props.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.