IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> ubcd4win, PXE and a great success!
fred-d
post Mar 27 2006, 10:36 AM
Post #1


Newbie
*

Group: Members
Posts: 6
Joined: 12-December 05
From: NH
Member No.: 2181



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
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
pcuser
post Mar 27 2006, 02:09 PM
Post #2


Project Programmer
******

Group: Moderators
Posts: 1332
Joined: 20-November 04
Member No.: 459



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
User is online!Profile CardPM
Go to the top of the page
+Quote Post
fred-d
post Mar 27 2006, 04:20 PM
Post #3


Newbie
*

Group: Members
Posts: 6
Joined: 12-December 05
From: NH
Member No.: 2181



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.

This post has been edited by fred-d: Mar 27 2006, 05:08 PM
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
hilander999
post Mar 27 2006, 04:38 PM
Post #4


Project Development
******

Group: Moderators
Posts: 1822
Joined: 28-September 05
Member No.: 1733



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
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
fred-d
post Mar 27 2006, 05:00 PM
Post #5


Newbie
*

Group: Members
Posts: 6
Joined: 12-December 05
From: NH
Member No.: 2181



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
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
hilander999
post Mar 27 2006, 11:57 PM
Post #6


Project Development
******

Group: Moderators
Posts: 1822
Joined: 28-September 05
Member No.: 1733



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.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
pcuser
post Mar 30 2006, 01:16 AM
Post #7


Project Programmer
******

Group: Moderators
Posts: 1332
Joined: 20-November 04
Member No.: 459



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
User is online!Profile CardPM
Go to the top of the page
+Quote Post
pcuser
post Aug 27 2006, 12:30 AM
Post #8


Project Programmer
******

Group: Moderators
Posts: 1332
Joined: 20-November 04
Member No.: 459



Is there an easy way to drag this topic back over to the public forum? I would hate to think that the efforts spent on it would be for just a few of people (that will most likely never use/try it).
User is online!Profile CardPM
Go to the top of the page
+Quote Post
LittlBUGer
post Aug 27 2006, 04:45 AM
Post #9


Main Mirror/Here Since Beginning/Mod
*******

Group: Moderators
Posts: 3844
Joined: 27-May 04
From: MT, USA
Member No.: 31



Yes, this topic can be easily moved, but why is it here in the first place? smile.gif


--------------------

IPB Image
IPB Image
"Only two things are infinite, the universe and human stupidity, and I'm not sure about the former." - Albert Einstein
"Computers are really strange - first everything works fine, then something goes terribly wrong and nothing works, and then - like a thunderbolt from a clear sky, everything is back to normal again. It's like nothing ever happened. Like the computer were female." - Unknown
"Some people say that I must be a terrible person, but it's not true. I have the heart of a young boy. In a jar on my desk." - Stephen King
"If there is anything the nonconformist hates worse than a conformist, it's another nonconformist who doesn't conform to the prevailing standard of nonconformity." - Bill Vaughan
"Microsoft Windows [n.]: A thirty-two bit extension and GUI shell to a sixteen bit patch to an eight bit operating system originally coded for a four bit microprocessor and sold by a two-bit company that can't stand one bit of competition." - Unknown
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 22nd November 2006 - 08:11 PM