How to create highly customized TinyXP-like Windows XP install with lots of drivers on a bootable USB stick
This is my first technical guide of a decent length. I'm testing if Squidoo suits well for such guides.
Doing things like this is routine for me, I always work on some non-trivial way of doing things be it for fun or because no other way works. I often just do it and forget about it afterwards, but in this exception when I told my friends what I was doing he was all like "dude you've gotta write this down, it'll be useful to ppl". I double checked everything so it all *should* work if you stick to my precise instructions. Regardless, if you manage to explode your pc and shoot yourself in the foot by following this guide, do note, that this is all your responsibility and I don't really guarantee anything, and I don't even know what the hell I'm taking about. So here it is, enjoy(heh).
What you will need
- WinXP SP3 Clean install
- TinyXP Rev10
- DriverPacks Base installer
- Hotfix pack
- Hiren's Boot CD (optional)
About the hotfix pack - the short description:
After Windows XP setup there is gonna be an APPS.exe file on the desktop. It's a shortcut to an APPS folder on the installation media. You will find there a file Critical WinXP SP4. Double-click that file and wait for it to finish.
A (slightly) longer version:
You have the ability to integrate hotfixes and addons into the WinXP install with nLite. While you can download updates file by file and one by one integrate them in nLite, I think it is far easier to download existing update pack.
However with the official update packs there is a catch: since many update packs include updates and new versions of applications that were removed from the distribution, you might end up installing updates along with unwanted software. To avoid this, I found an update pack containing only critical updates, without new applications and stuff I don't really need. Unfortunately it seems it wasn't designed to easily integrate with nLite, but is a separate install. So we'll just leave it as is and copy it to the install cd to be copied to your desktop. I'll show you precisely what to do later. In the end you'll just launch the installer after the windows setup and it will do its job.
Windows XP on Amazon
These all should work, they're 32bit and have SP3.
Getting the prerequisites
Get a clean untouched install of WinXP SP3. You can get one from Amazon, you can download one from thepiratebay for all I care, but without the original untouched setup files we won't get far.
You should know that TinyXP Rev10 includes an untouched WinXP setup version which supposedly has all of the default features and services, but I'm not sure that it is truly untouched, as in unmodified and suitable for use as our initial setup files. Maybe it is, but I didn't test it so using it is at your own risk if you like. Also, this guide is written with x86(32 bit) WinXP in mind.
Get TinyXP Rev10. You can download it from thepiratebay or any other torrent tracker, or your favorite p2p network, or direct downloads like mediafire, hotfile and whatnot.
You can get nLite at their official website here.
DriverPacks Base installer is here. At the moment of writing the latest version is 10.06
To get the DriverPacks themselves, you need to download them through BitTorrent. The links to .torrents are here. Scroll down to Windows 2000/XP/2003(x86). Download the driverpacks you need. If you don't have a torrent client already, you should probably download utorrent - in my experience it is the fastest and most feature-complete torrent client out there. It also has a very small memory footprint.
The latest version of WinSetupFromUSB (which is 1.0 beta8 at the moment of writing) could be downloaded here.
Get the WinXP hotfix pack I talked about above via one of the following links. Hopefully they will stay alive for long enough.
If you plan to transfer the windows setup to usb (which is a part of this guide), you might want to add Hiren's Boot CD to the mix. You can download Hiren's Boot CD here.
Preparing the distributive
In this guide you will customize the shizzle out of your own WinXP install, decide what customizations from TinyXP to keep and what to get rid of, include massive driver packs, latest hotfixes and your own personal drivers if you have something specific that driver packs don't cover.
Mount your WinXP iso. Or insert your WinXP cd. Or open the folder with your WinXP setup files. Whatever is right for your situation.
Create somewhere a folder. In the rest of this guide I will refer to it as XPLITE.
TinyXP Rev10 has 3 preset installations to choose from. We'll choose XP02 since it is the middle ground between uncut XP01 and minimal XP03.
A little history. What I'm describing here are my experiences in modifying TinyXP to install it on my old laptop. My main reason for this was the lack of eastern languages support in TinyXP XP02 version. I study Japanese so I need those fonts and input methods. And since I generally like most of the tweaks that TinyXP XP02 has, I decided to splice it with my own customization but leaving the eastern languages support in.
Important note: In nLite there is a section called "Tweaks". TinyXP Rev10 has tweaks defined in 'last session.ini' AND supplies its own tweaks in a registry file located at TINYXP\XP02\I386\SVCPACK\TWEAK\TWEAK.reg . Since this TWEAK.reg is being applied after the installation, it overrides some of the nLite tweaks. Normally this is ok, but if you change something in nLite Tweaks section, it might conflict with TWEAK.reg setting. So, you have 3 options:
(Easy) Don't modify the nLite tweaks. If you don't have much experience with computers, or you're totally fine with TinyXP tweaks, just don't change the nLite tweaks. I like TinyXP tweaks so that's what I did.
(Intermediate) Delete the TWEAK.reg and setup your own tweaks with nLite. You lose some of the TinyXP tweaks, but you can change things however you want without fear of them being overriden or duplicated by the TWEAK.reg. Worst case of duplicated tweaks is having a double entry for regedit when you right click my computer though.
(Advanced) Change the nLite tweaks however you like. Then, in Finetuning sections, right after step 5, open XPLITE\I386\SVCPACK\TWEAK\TWEAK.reg in a text editor. Take a look at the contents and compare them to your own tweaks you customized in nLite. Luckily every tweak is commented (comments start with ';'). Tweaks you don't want - just remove the lines or type ';' in the beginning of the lines.
I strongly recommend to not remove any more components than TinyXP, since you might accidentally remove an important component that might seem useless by its description, but is actually needed for a program, service or feature you might need. I know what im talking about, since I've experienced this a couple of times. If you do remove something you shouldn't have, you will have 3 problems:
Obviously, something you need will not work at all or will be buggy and prone to problems.
It is possible that you will not notice any problems during the setup nor after it is complete. Generally, if you removed something important, you'll learn about it only after a while, when you already installed your drivers and most of the software and configured the system. At least that's what I experienced.
It will be next to impossible to re-add this component to an existing windows installation. You'll have to repeat this whole procedure of customizing and building your xp installation and reinstalling windows.
Note: there is however a way of safely removing various components from Windows XP with the possibility of re-adding them. After WinXP is installed, you should find a folder on your desktop named eXPerience. In it should be a ShrinkXP Scripts folder. Read the readme file.
When everything is customized to your heart, start the integration process. Since we will be adding more stuff to the install, don't create the iso yet.
TinyXP has a bunch of apps included. Some of them are silent installers, and others are portable apps. None of the apps are auto installed, and you don't have to install any of these silent apps of course. You can even delete them if you want to. I do recommend to install some of them, but the setup files on TinyXP rev10 are outdated by now. I suggest you go to each app website and download the latest version. Here are some apps I find useful:Recommended apps
- everything: almost instantly searches all of your files on all drives
- notepad2: an enhanced and better notepad
- daemon tools: a professional cd emulation and image management tool
- getdiz: a dedicated .diz and .nfo file viewer
- imgburn: the best image burning utility I ever used
- .net framework: that one goes without saying, it is a vital component in a lot of current software
- unlocker: when you can't delete some file that's "in use", unlocker comes to help
copy the APPS folder from TINYXP to XPLITE. This is the folder that has those apps and a shortcut will be created on the desktop automatically after Windows is installed, so you may place apps, updates and other files you may need here.
Copy Critical.WinXP.SP18.104.22.168.enu.exe to XPLITE/APPS
In XPLITE\I386 folder there is a file txtsetup.sif. Open it with the text editor of your choice. Default notepad will do.
Find the section SourceDisksFiles. Insert this line somewhere in the section, preferably around files that start with 'f':
FRSTXP02.BAT = 1,,,,,,,1,0,0
There are two types of driverpacks - official and 3rd party. Here is the list of official driverpacks (at the moment of writing):
- Graphics A
- Graphics B
- Graphics C
- Mass Storage
- Sound A
- Sound B
Everything that is not included in that list but is available for download from the driverpacks website(through torrent) is 3rd party, at least at the moment of writing. In any case, when you go to a download page of a specific driverpack, like Bluetooth, you will see a warning demonstrated below that states that this is a 3rd party driverpack.
3rd party driverpacks go into another folder, unsurprisingly named "3rd party DriverPacks".
Extract the DPs_BASE_1006.exe (last version at the moment of writing) file you downloaded to some temporary directory. Let's call it DPTEMP.
After the driverpacks base finishes, you should have a working setup with your customizations. You can open nLite, set the path to install as XPLITE, skip the preset selection, and select "Create bootable ISO" only.
By default the mode is set to create image, which builds an iso when you click make iso. I prefer this way, since then I can test it in a virtual machine, burn it using ImgBurn, back it up etc.
If you switch the mode to direct burn it'll just burn the image to a blank cd.
Meta, feel free to skip to the next part
This tutorial has an extra optional step. I'm mostly describing my own experience in installing a modified WinXP to an old laptop. This laptop didn't have a working cd/dvd drive, so to install anything i had to use a USB flash drive or lan install. And after some research and a few attempts, lan install turned out to be way more complex and much messier than the USB stick approach.
Making this custom Windows XP setup work from usb proved to be much more challenging than anticipated. The setup is tailored exclusively to work from a cd, and to enable it to work from usb flash drive it needs a lot of hacks. Thankfully, there are a lot of tools available to do the job of transferring a windows setup to a USB flash drive with just a few clicks. However, most of these tools aren't suitable for a heavily modified install such as this one.
So after a lot of experimentation I settled on a particular method of transferring the setup to a USB stick, which worked pretty well with my old laptop, and also allows further customization, such as adding a fully functional Hiren's Boot CD to the same flash drive.
I made the same install for some of my friends and it worked really well for them too.
USB Sticks on Amazon
A good USB stick, been using those a lot.
This is actually just like my own SanDisk Cruzer Titanium. I've been using it for five years and even now it's working like a charm. The price is weird, but I included it here just for the heck of it. What actually won me over to buy this one was a youtube video of some guy driving a car over this USB stick TWICE, and it didn't even scratch.
Making a bootable USB stick
Transferring the setup to USB flash drive:
Insert your flash drive and open WinSetupFromUSB. There are 2 exe files, regular WinSetupFromUSB_1-0-beta8.exe and WinSetupFromUSB_1-0-beta8_x64.exe. If you already know which one to start, then go ahead. if you don't, just open the first one.
Wait while it refreshes the list of USB drives. Select your flash drive from the dropdown list.
So, this goes to FRSTXP02.BAT:
cmdow @ /hidFOR %%I IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%I:\usbdrive.tag (SET CDROM=%%I:\WINSETUP\XPpSP3\& GOTO DONECD):DONECDstart %CDROM%\I386\SVCPACK\SILENT\USRMSG.exestart %CDROM%\I386\SVCPACK\SILENT\NOINF.exeIF NOT EXIST "%AllUsersProfile%\Start Menu\Programs\Startup" MD "%AllUsersProfile%\Start Menu\Programs\Startup"XCOPY "%CDROM%\I386\SVCPACK\SILENT\SCNDXP02.BAT" "%AllUsersProfile%\Start Menu\Programs\Startup" /i /r /v /k /f /c /h /yEXIT
And this goes to SCNDXP02.BAT:
cmdow @ /hidFOR %%I IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%I:\usbdrive.tag (SET CDROM=%%I:\WINSETUP\XPpSP3\& GOTO DONECD):DONECDSTART /wait %SYSTEMDRIVE%\DPsFnshr.exeSTART /wait %CDROM%\I386\SVCPACK\SILENT\ITEMS.exeDEL /S /F /Q "%WINDIR%\Media\Windows Navigation Start.wav"DEL /S /F /Q "%WINDIR%\Media\Windows XP Start.wav"DEL "%ALLUSERSPROFILE%\Start Menu\Programs\Startup\Windows Search.lnk"DEL "%ALLUSERSPROFILE%\Start Menu\Activate Windows.lnk"DEL "%ALLUSERSPROFILE%\Start Menu\Programs\Windows Search.lnk"DEL "%ALLUSERSPROFILE%\Start Menu\Programs\Accessories\System Tools\Activate Windows.lnk"powercfg -h offREM Unlock "System Volume Information"cacls "%SYSTEMDRIVE%\System Volume Information" /E /G "%USERNAME%":FREGEDIT /S %CDROM%\I386\SVCPACK\TWEAK\Tweak.regXCOPY "%CDROM%\I386\SVCPACK\DESKTOP\APPS.exe" "%ALLUSERSPROFILE%\Desktop" /i /r /v /k /f /c /h /yXCOPY "%CDROM%\I386\SVCPACK\LINKS\System Config.lnk" "%USERPROFILE%\Start Menu\Programs\Accessories" /i /r /v /k /f /c /h /yREM MD "%USERPROFILE%\Application Data\Microsoft\Internet Explorer\Quick Launch"REM XCOPY "%CDROM%\I386\SVCPACK\QLI\*.scf" "%USERPROFILE%\Application Data\Microsoft\Internet Explorer\Quick Launch" /i /r /v /k /f /c /h /yREM XCOPY "%CDROM%\I386\SVCPACK\QLI\*.lnk" "%USERPROFILE%\Application Data\Microsoft\Internet Explorer\Quick Launch" /i /r /v /k /f /c /h /ySTART /wait %CDROM%\I386\SVCPACK\SILENT\ThemeChooser.exeATTRIB -R -A -S -H "%WINDIR%\FRSTXP02.BAT"DEL "%WINDIR%\FRSTXP02.BAT"START /wait %CDROM%\I386\SVCPACK\SILENT\MakeGenuine.exeSHUTDOWN.EXE -R -F -T 5 -C "Restarting Windows XP..."ATTRIB -R -A -S -H "%AllUsersProfile%\Start Menu\Programs\Startup\SCNDXP02.BAT"DEL /S /F /Q "%AllUsersProfile%\Start Menu\Programs\Startup\SCNDXP02.BAT"
- Move APPS folder from usbdrive WINSETUP\XPpSP3\ to the root of the usbdrive
If you want to know what exactly I have modified, you can just compare the original files with the modified ones.
Hiren's Boot CD on Amazon
If you don't feel like downloading Hiren's Boot CD and want an easier (yeah, right) solution, there ya go.
Adding Hiren's Boot CD
Hiren's Boot CD comes either in zip or iso format. It doesn't really matter which one you got, since most of the modern archivers like WinRAR or 7Zip(which I recommend) can handle both formats.
First, extract the HBCD folder from Hiren's Boot CD and copy it to the root of your flash drive.
Right there in USB root, open menu.lst in your favorite text editor, and at the end append these lines:
title Hiren's BootCD
find --set-root /HBCD/menu.lst
There, you should be done now. I suggest you test the resulted setup before actually deploying it. If you have a spare laptop or another pc, test this setup that all works, driverpacks are being installed and all is well. You can always test it in a virtual environment like VirtualBox, but with USB stick it's not as straightforward as with an ISO. If you are interested in a guide on how to use VirtualBox to test things like that for your advantage, let me know in the comments and I'll consider writing about it.
If you have any questions or you've spotted a mistake in my guide, or some of my instructions aren't clear enough, leave a comment and I will see what can be done.