Part 1: Reducing Size Of Source

Introduction

Back when i first became intereste in All in One (AIO) cd's, I found a method to very easily and quickly reduce the size of the install source by about 120 megs.  For the most part I never gave out my method, keeping it a secret.  My method has been perfected through countless unattended cd's and now i share one of my best kept unattended secrets.  A secret so well received the original thread is one of those that never ends.  I'm hoping the original thread and this guide help people the same way the original threads on AIO cd's helped me.  I call my method reducing size of source.

Prerequisites<
Windows XP CD (home or pro)
A partition with about 2-3 gigs free
A hex editor (my favorite is Hexworks, but any will do)
A XP Boot sector (you can use mine)
Cd identification files (you can use mine)
A CD menu (you can use mine or another menu like cdshell)
XP SP1a
XP SP1a Bootdisks (optional)
cdimage.exe (doesn't matter what version)

Slipstreaming

Before we begin you can slipstream your cd.  For this guide I'm gonna assume you're using an XP SP1 local source.  The guide will work without sp1 though, in fact it'll work for any version of NT.  For steps on slipstreaming your XP see the msfn.org or other sites, I won't go into it.

Terms

Local source means your XP CD copied to the hard drive.  This guide will refer to the Local source as c:\xpcd
BOOT  is c:\$WIN_NT$.~BT, then later renamed to c:\Install\BOOT (note capital letters).  This is the folder windows boots from.

Reducing Size of Source

First, from a windows GUI run this command:

c:\xpcd\i386\winnt32.exe /noreboot                        

XP Setup should come up.  Make sure you chose New Installation, not Upgrade.  Go through the options as usual.  Don't download updated setup files.  At the "Setup Options" screen, click on "Advanced Options", and make sure "copy all installation files from the CD" is checked. If it's grayed out - that's fine.

It will create 2 folders on the root of the drive.  These folders are hidden so make sure you can see hidden files/folders.

The BT folder has your boot files; the LS folder has the main install files (the i386 folder).  Rename the 2 folders as follows:

Rename $WIN_NT$.~BT to BOOT (note capital letters)
Rename $WIN_NT$.~LS to Install (case doesn't matter)

Put the BOOT folder into the Install folder.  In the BOOT folder, delete the following files:

BOOTSECT.DAT
migrate.inf
winnt.sif

In the Install folder, delete size.sif.  You should now have the following:

In the BOOT folder, open setupldr.bin in a hex editor (like hexworks).  In the hex editor, replace i386 with BOOT.  It should do this 4 times.

To do this in hex works, open the file.  Click on the Edit menu, click Replace.  For Type you want a Text String.  In the Find: box type i386, in the Replace: box type BOOT (note capital letters).  Below is a picture for hexworks:

Now click on OK.  Then click "replace all".  It then should say "4 occurences replaced".  Now save the file, and don't back it up.

If you want to use an unattend file, rename it to winnt.sif and put it in the BOOT folder. 

Now we need to make the cd idents and boot menu.  If you want you can download the cd idents above, or you can copy them from your local source.

If you download my boot sector, extract VOL1.DAT to the Install folder.  Hex edit VOL1.DAT and replace VOL1 with BOOT.  See picture below.

Note the RED is what you are changing.  Now save the file and don't back it up.

Next we need to make a boot menu, I use the old diskemu.  If you want something newer you can try cdshell.  Download my cdmenu.zip and extract to the Install folder.  Edit diskemu.cmd to how you want the boot menu to look like, this is what you'll see when you boot the cd.

Your install folder should now look like below, note that you need SPNOTES.HTM if the cd will be slipstreamed with SP1 or higher.

We just need to make it an image using cdimage.exe.  Run the following command.  Make sure you have at least 500 megs free.  XPCD is your cdname, you can change that if you want.  XP.ISO is the cd image made.

cdimage -lXPCD -t08/23/2001,13:00:00 -h -n -m -o -bc:\Install\VOL1.DAT c:\Install c:\XP.ISO

To burn it just use nero or easy cd creator.  In Nero select File > burn image > and select your image.  Make sure you chose Disk at once.

That's it.  You now have a bootable unattended cd that's only around 338 megs, much smaller than the 475 megs of a regular xp pro cd.

Credits

khauyeung - for his help making AIO cd's
Everyone as msfn

Summary

With this guide you now have a custom bootable XP cd.  Benefits include a faster install, no user interaction since you can use an unattend file if you want, and of course you now have plenty of room for other stuff on the cd.  The only limitation is you can only use this cd for Clean installs, not upgrades.  If you use an unattend file, you also cannot use recovery console or repair windows.  Part 2 will show you how to make a true AIO CD.

Continue to Part 2