With
the cost of solid state disks like Compact Flash and USB thumb drives
coming down in price, they have become an attractive option to use as a
replacement for hard drives on home entertainment PCs. They are noise
free and generate very little heat. This article describes how I was
able to get
BeyondTV Link,
a .Net application, running Windows XP Home using an inexpensive
compact flash card. As a disclaimer, please note that your mileage may
vary when doing this procedure so please don't blame me if things go
badly, your spouse leaves you, and/or your dog bites you as a result of
this article.
My first attempt was to do this with a USB thumb drive, given the motherboard I was using, a
Via Epia M10000,
has an option in BIOS to boot to a USB drive. After many failed
attempts and investigation, I believe Windows XP does not support
booting off of a USB drive no matter how much wishful thinking, so I
took an alternative road using a compact flash card and an IDE adaptor.
Please let me know in the comments if you have found a way to get USB
drives to boot into Windows XP.
I used a cheap 1 gig Compact Flash card but depending on your skill
level and tolerance of repeated attempts, I believe this can be done on
a 512MB card as well. BeyondTV Link (and the associated Firefly remote
software) use .Net which increases the disk usage significantly, so if
you are using a different application, I think 512MB is adequate. I
also used a compact flash IDE adaptor which is pretty easy to find both
online and at electronics stores.
I used two applications in the process. One I think is essential to the cause for anyone who isn't an expert,
XPLite from the LitePC.com, a very handy application that will help you remove components from the Windows OS. The other is
Partition Magic,
which makes it easy to resize and copy one hard drive to another. I
believe there are open source projects that can do some of this, but I
find Partition Magic easy and dependable so it's worth the cost to
purchase it.
Step 1 - Build system using a hard drive
Windows XP Home requires a minimum of 1.5Gigs of hard drive space, so
the first step is to build the system using a standard hard drive. I
created a partition of 2 Gigs but found it inadequate to installing
Service Pack 2, so I suggest putting the OS on a 3 Gigs or bigger drive
to start. I installed a fresh copy of the OS using NTFS since it has a
handy "compress files" option which I use later. I then added the VIA
drivers and spent a good deal of time in Windows Update getting all the
latest patches. I also installed BeyondTV Link and the Firefly Remote
software. I then verified everything was working properly. At this
point, it wouldn't be a bad idea to back everything up using a tool
like Partition Magic in case you need to come back to this point (I
learned this the hard way)
Step 2 - Turn off Virtual Memory
The first thing you'll want to do is turn off virtual memory so it
doesn't create a paging file on the drive. This can be found by right
clicking "My Computer" and selecting "Properties". It's under the
Advanced Tab, buried in another dialog by selecting the "Settings"
button under Performance. From there, it's under yet another "Advanced"
tab and it's labeled Virtual Memory (
screenshot). Make sure that when you select "No paging file" you hit the "Set" button or it won't actually adjust the settings.
Step 3 - XPLite from LitePC
The next step for me was pruning back the OS using XPLite from LitePC.
The first thing you should do is "disable" Windows File Protection in
the aptly named "Window File Protection" tab (
screenshot).
If you don't, you'll find windows constantly complaining about missing
files. I removed most components including those Advanced Components
you can get to show up by changing the default settings (
screenshot).
Be careful though, since you'll likely remove the System Restore
feature which gobbles up a lot of space, but prevents you from doing
something completely irreversible.
See my review on XPLite
for more information on how to use the product. Make sure you reboot a
couple times afterwards to remove any system restore points.
Step 4 - Clean up
The next thing I did was to boot into Windows Safe Mode (hold down the
F8 key) to do some basic clean up of the system. Make sure you have
changed file explorer to show hidden and system files. This can be
found in the "Folder Options" menu in the "View" tab. Your final system
will likely be different from mine, but here are a few good things to
remove or change to get more disk space:
- Delete anything in the Windows directory that starts with $NTUninstall.
- Delete anything I the Windows/SoftwareDistribution/Download directory.
- On
larger directories, go to the properties dialog and select the
"Advanced" button and pick "compress contents to save disk space". Note
that this is only available if you formatted your drive using NTFS. I
did this to the following folders: Program Files,
Windows/Microsoft.NET, Windows/.inf, Windows/system32.
Doing just that, I got the system down to 750MB or so. Being more aggressive, at one point I had a working system under 500MB.
Step 5 - Resize and Copy
I ran the floppy boot disks for Partition Magic to resize and move the
OS to the compact flash card. Make sure you resize the hard drive
partition small enough to fit the compact flash card, and then from
within Partition Magic, copy the drive over to the compact flash drive.
Final Step - Remove original Drive and put Compact Flash Drive in its place
The final step is to remove the original hard drive and switch the
connectors so it puts the compact flash drive in its place. Make sure
it's in the same location on the ID Bus (e.g Master Drive, Primary IDE
channel) or you'll quickly run into a "NTloader is Missing" error. With
any luck, it will boot up as it did before, albeit a lot more quietly
than that squeaky old disk you were using before.