Jump to content

Install WinXP OEM VLK and RTL using only about 500MB


Siginet

Recommended Posts

Ever since USB installs have been made possible I have wanted to make it easier to fit all versions of XP on a stick without wasteing space. With multiboot CD/DVDs this is possible by having all versions of XP on a disk and compileing it in an optimized ISO. But that wasn't very useful for usb sticks.

Now this new method is the most clever method yet! And this new method could probably be modified to work on CD/DVDs too.

This small tutorial is based on the latest WinSetupFromUSB GUI.

============================

I used Windows XP Professional OEM as my base OS. I opened WinsetupUSB Gui v1 Beta1 found in this thread:

http://www.msfn.org/board/2-t139737.html

Once you create your first os you will need to modify a few things...

1. create a folder inside "WIN_SETUP\XP_PRO_SP3\I386" called "CONV".

Inside "CONV" you will create 3 more folders "VLK", "OEN", and "RTL".

Copy these files from your Windows XP Pro OEM disk and place them in the "CONV\OEN" directory (Some of the files may be compressed with _ at the end... you can keep them compressed):

dpcdll.dll

eula.txt

oembios.bin

oembios.cat

oembios.dat

oembios.sig

pidgen.dll

setupp.ini

svcpack.inf (Only needed if you have different apps integrated through svcpack)

Follow this same process for the VLK folder and the RTL folder.

2. Now go to your "WIN_SETUP" folder on the root of your USB stick and extract the "XP_PRO_SP3.ISO" to a new folder "XP_PRO_SP3_FULL"

Inside the new "XP_PRO_SP3_FULL" folder go into the I386 directory. Rename the txtsetup.sif file to txtsetup.vlk. Inside the txtsetup.vlk file add this line to the [sourceDisksNames.x86] section:

777 = %cdname%,%cdtagfilei%,,\i386\CONV\VLK

Also seaarch the txtsetup file for all instances of the above files you placed in the VLK directory and change the first number set to 777

For example Change:

dpcdll.dll = 100,,,,,,,2,0,0

To:

dpcdll.dll = 777,,,,,,,2,0,0

Now copy this txtsetup.vlk file and name it txtsetup.oen and modify the line you just created:

777 = %cdname%,%cdtagfilei%,,\i386\CONV\VLK

To:

777 = %cdname%,%cdtagfilei%,,\i386\CONV\OEN

And copy it again name the file txtsetup.rtl then change that same line to:

777 = %cdname%,%cdtagfilei%,,\i386\CONV\RTL

3. Go back inside your WIN_SETUP\XP_PRO_SP3_FULL\I386 folder

Copy the setupldr.bin file and duplicaate it 2 more times. Naming all three of them like this:

SETUPLDR.VLK

SETUPLDR.OEN

SETUPLDR.RTL

Open each one in a hex editer. Replace all instances of "winnt.sif" with "winnt.vlk" for the VLK and do the same for OEN and RTL.

***NOTE*** You only need to replace the lowercase instances of "winnt.sif"!

Change every lowercase instance of "txtsetup.sif" to "txtsetup.vlk" in each setupldr file according to the vlk, oen, rtl extension of the setupldr file.

4. If you had any winnt.sif files for each of the OSes you should rename them (winnt.vlk, winnt.oen, winnt.rtl) and place them in the XP_PRO_SP3\I386 Directory on the USB Stick.

5. Now compile your XP_PRO_SP3_FULL folder into an ISO in the same layout as the old XP_PRO_SP3.ISO file.

Your new ISO should have this in it:

 Directory of G:\WIN_SETUP\XP_Pro_SP3_FULL

12/11/2009 10:18 PM <DIR> .
12/11/2009 10:18 PM <DIR> ..
12/11/2009 10:18 PM <DIR> I386
0 File(s) 0 bytes

Directory of G:\WIN_SETUP\XP_Pro_SP3_FULL\I386

12/11/2009 10:18 PM <DIR> .
12/11/2009 10:18 PM <DIR> ..
04/13/2008 10:13 PM 47,564 NTDETECT.COM
12/10/2009 09:43 PM 260,288 SETUPLDR.OEN
12/10/2009 09:45 PM 260,288 SETUPLDR.RTL
12/10/2009 09:39 PM 260,288 SETUPLDR.VLK
12/10/2009 09:44 PM 461,432 TXTSETUP.OEN
12/10/2009 09:45 PM 461,432 TXTSETUP.RTL
12/10/2009 09:41 PM 461,432 TXTSETUP.VLK
7 File(s) 2,212,724 bytes

Total Files Listed:
7 File(s) 2,212,724 bytes
5 Dir(s) 1,746,513,920 bytes free

6. Now you will need to modify your winsetup.lst

color black/cyan yellow/cyan
timeout 10
default /windefault

title Back to Main Menu
configfile /menu.lst


title Second part of 2000/XP/2003 setup / Boot first internal hard disk
savedefault
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
rootnoverify (hd0)
chainloader (hd0)+1

title First part of XP_Pro_SP3 VLK setup
find --set-root /WIN_SETUP/XP_Pro_SP3.ISO
map --mem /WIN_SETUP/XP_Pro_SP3.ISO (0xff)
savedefault 1
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
root (0xff)
chainloader /I386/SETUPLDR.VLK

title First part of XP_Pro_SP3 OEM setup
find --set-root /WIN_SETUP/XP_Pro_SP3.ISO
map --mem /WIN_SETUP/XP_Pro_SP3.ISO (0xff)
savedefault 1
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
root (0xff)
chainloader /I386/SETUPLDR.OEN

title First part of XP_Pro_SP3 RTL setup
find --set-root /WIN_SETUP/XP_Pro_SP3.ISO
map --mem /WIN_SETUP/XP_Pro_SP3.ISO (0xff)
savedefault 1
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
root (0xff)
chainloader /I386/SETUPLDR.RTL

BTW... for some reason whenever I make my USB stick with WinSetupFromUSB Gui I don't have any information in my menu.lst to launch the winsetup.lst file.

So I add this to the top of my menu.lst file:

color black/cyan yellow/cyan
default /default
default 0
timeout 10

title Windows XP/2000/2003 Setup
root (hd0,0)
configfile /winsetup.lst
savedefault --wait=2

I think this is everything I did. Hopefully we can add this capability to an upcomming version of WinSetupFromUSB! :D

A huge thanks to ilko_t!!!

Edited by Siginet
Link to comment
Share on other sites


Just a note.

Using:

map --mem /WIN_SETUP/XP_Pro_SP3.ISO (0xff)

the whole image is loaded into memory.

This on low-ram machines may be a problem.

In these cases you should try using:

map /WIN_SETUP/XP_Pro_SP3.ISO (0xff)

BUT

you need to make sure that the .iso on the stick is contiguous.

Contig or wincontig will do:

http://technet.microsoft.com/en-us/sysinte...s/bb897428.aspx

http://wincontig.mdtzone.it/en/

More details:

http://diddy.boot-land.net/grub4dos/Grub4dos.htm

http://diddy.boot-land.net/grub4dos/files/map.htm

jaclaz

Link to comment
Share on other sites

But this is a mini ISO which is very small.

It's only 2,752 KB

I think just about any computer can handle that. ;)

Sure :) I thought your method was based on a "real" .iso, i.e that the "XP_PRO_SP3.ISO" contained a "full" install. :blushing:

The "beta 1" is this one, right?:

http://www.msfn.org/board/install-2000-xp-...37-page-27.html

If I may, additional to the instructions, you could do a DIR /S D:\>C:\isodir.txt with the "XP_PRO_SP3.ISO" before and after the addition, so that it is clear.

jaclaz

Link to comment
Share on other sites

Good idea. When I get home later I'll modify this thread to be more specific. I was kinda in a rush writeing it. ;)

If anyone else trys this please let me know. I want to hear how well it worked for you.

I really think this is an improvement to the earlier methods of multiboot. :thumbup

Link to comment
Share on other sites

I have confirmed that this method does indeed work on CD/DVDs as well! :D

After I created my setupldr and txtsetup files for my disk (Without DriverPacks)...

I integrated driverpacks to my disk as well. Then I created some more setupldr and txtsetup files with the driverpacks info in them.

I made boot options to install with DPs or Without DPs and they both work fully. :D

Edited by Siginet
Link to comment
Share on other sites

  • 2 months later...

Thanks for the awesome guide, it'd be great to see this functionality in powerpacker or winsetupfromUSB.

Are the Retail and (unbranded) OEM versions of dpcdll.dll, pidgen.dll and the oembios files the same? I can't find a verified hash of an OEM disc so I'd rather use the retail files and just modify setupp.ini.

Edited by luksyl
Link to comment
Share on other sites

Ok I finally got hold of an unbranded OEM disc, as it turns out dpcdll.dll, pigen.dll and the 4 oembios files are exactly the same for Retail and OEM discs, there are however the following differences:

acc_dis.ch_

accessib.ch_

eula.txt

iesupp.ch_

iewebhlp.ch_

setupp.ini

supp_ed.ch_

The help files on the OEM disc obviously tell the user to refer to the manufacturer instead of MS for support, it's not a major deal but if we are looking to install 100% faithful versions it might be useful.

Link to comment
Share on other sites

Ok I finally got hold of an unbranded OEM disc, as it turns out dpcdll.dll, pigen.dll and the 4 oembios files are exactly the same for Retail and OEM discs, there are however the following differences:

acc_dis.ch_

accessib.ch_

eula.txt

iesupp.ch_

iewebhlp.ch_

setupp.ini

supp_ed.ch_

The help files on the OEM disc obviously tell the user to refer to the manufacturer instead of MS for support, it's not a major deal but if we are looking to install 100% faithful versions it might be useful.

Nice find. I know that if I ever add the functionality to PowerPacker or we ever add the functionality to WinSetupFromUSB GUI that it would be added in a way that it actually checks the hashes of each file against the main OS.

Link to comment
Share on other sites

  • 3 weeks 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...