Siginet Posted December 12, 2009 Posted December 12, 2009 (edited) 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.htmlOnce 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.dlleula.txtoembios.binoembios.catoembios.datoembios.sigpidgen.dllsetupp.inisvcpack.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\VLKAlso seaarch the txtsetup file for all instances of the above files you placed in the VLK directory and change the first number set to 777For example Change:dpcdll.dll = 100,,,,,,,2,0,0To:dpcdll.dll = 777,,,,,,,2,0,0Now copy this txtsetup.vlk file and name it txtsetup.oen and modify the line you just created:777 = %cdname%,%cdtagfilei%,,\i386\CONV\VLKTo:777 = %cdname%,%cdtagfilei%,,\i386\CONV\OENAnd copy it again name the file txtsetup.rtl then change that same line to:777 = %cdname%,%cdtagfilei%,,\i386\CONV\RTL3. Go back inside your WIN_SETUP\XP_PRO_SP3_FULL\I386 folderCopy the setupldr.bin file and duplicaate it 2 more times. Naming all three of them like this:SETUPLDR.VLKSETUPLDR.OENSETUPLDR.RTLOpen 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_FULL12/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\I38612/11/2009 10:18 PM <DIR> .12/11/2009 10:18 PM <DIR> ..04/13/2008 10:13 PM 47,564 NTDETECT.COM12/10/2009 09:43 PM 260,288 SETUPLDR.OEN12/10/2009 09:45 PM 260,288 SETUPLDR.RTL12/10/2009 09:39 PM 260,288 SETUPLDR.VLK12/10/2009 09:44 PM 461,432 TXTSETUP.OEN12/10/2009 09:45 PM 461,432 TXTSETUP.RTL12/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 free6. Now you will need to modify your winsetup.lstcolor black/cyan yellow/cyantimeout 10default /windefaulttitle Back to Main Menuconfigfile /menu.lsttitle Second part of 2000/XP/2003 setup / Boot first internal hard disksavedefaultmap (hd0) (hd1)map (hd1) (hd0)map --hookrootnoverify (hd0)chainloader (hd0)+1title First part of XP_Pro_SP3 VLK setupfind --set-root /WIN_SETUP/XP_Pro_SP3.ISOmap --mem /WIN_SETUP/XP_Pro_SP3.ISO (0xff)savedefault 1map (hd0) (hd1)map (hd1) (hd0)map --hookroot (0xff)chainloader /I386/SETUPLDR.VLKtitle First part of XP_Pro_SP3 OEM setupfind --set-root /WIN_SETUP/XP_Pro_SP3.ISOmap --mem /WIN_SETUP/XP_Pro_SP3.ISO (0xff)savedefault 1map (hd0) (hd1)map (hd1) (hd0)map --hookroot (0xff)chainloader /I386/SETUPLDR.OENtitle First part of XP_Pro_SP3 RTL setupfind --set-root /WIN_SETUP/XP_Pro_SP3.ISOmap --mem /WIN_SETUP/XP_Pro_SP3.ISO (0xff)savedefault 1map (hd0) (hd1)map (hd1) (hd0)map --hookroot (0xff)chainloader /I386/SETUPLDR.RTLBTW... 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/cyandefault /defaultdefault 0timeout 10title Windows XP/2000/2003 Setuproot (hd0,0)configfile /winsetup.lstsavedefault --wait=2I think this is everything I did. Hopefully we can add this capability to an upcomming version of WinSetupFromUSB! A huge thanks to ilko_t!!! Edited March 12, 2010 by Siginet
jaclaz Posted December 12, 2009 Posted December 12, 2009 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)BUTyou 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.aspxhttp://wincontig.mdtzone.it/en/More details:http://diddy.boot-land.net/grub4dos/Grub4dos.htmhttp://diddy.boot-land.net/grub4dos/files/map.htmjaclaz
Siginet Posted December 12, 2009 Author Posted December 12, 2009 But this is a mini ISO which is very small.It's only 2,752 KBI think just about any computer can handle that.
jaclaz Posted December 12, 2009 Posted December 12, 2009 But this is a mini ISO which is very small.It's only 2,752 KBI 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. The "beta 1" is this one, right?:http://www.msfn.org/board/install-2000-xp-...37-page-27.htmlIf 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
Siginet Posted December 13, 2009 Author Posted December 13, 2009 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.
Siginet Posted December 14, 2009 Author Posted December 14, 2009 (edited) I have confirmed that this method does indeed work on CD/DVDs as well! 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. Edited December 14, 2009 by Siginet
Siginet Posted December 14, 2009 Author Posted December 14, 2009 Yeah I know! It's got me thinking of some great features I can add to a later version of Powerpacker.
luksyl Posted February 16, 2010 Posted February 16, 2010 (edited) 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 February 16, 2010 by luksyl
luksyl Posted February 17, 2010 Posted February 17, 2010 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.txtiesupp.ch_iewebhlp.ch_setupp.inisupp_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.
Siginet Posted February 18, 2010 Author Posted February 18, 2010 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.txtiesupp.ch_iewebhlp.ch_setupp.inisupp_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.
luksyl Posted February 19, 2010 Posted February 19, 2010 Oh yeah one more thing, the heading [setupSourceFiles.x86]in txtsetup.sif is actually[sourceDisksNames.x86]
Siginet Posted March 12, 2010 Author Posted March 12, 2010 Oh yeah one more thing, the heading [setupSourceFiles.x86]in txtsetup.sif is actually[sourceDisksNames.x86]Yes you are correct. I fixed the typo. Thanks!
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now