Boneyard Winner – Reviving an old laptop using a CF card and EWF

*** I was never able to solve the problem of filling up the memory when using EWF, needs either more research or more memory (with the understanding that reboots will be mandatory periodically) *** 

*** You can skip most of these items if you have a CD-Rom attached to the computer that is getting the CF card, go straight to installing windows onto the card,  and finish by completing the EWF instructions (IF you want EWF) ***

I have an old laptop that I have used on and off for small tasks for several years.  It is an Athlon 4 1400+, ECS Balance A535, and was thrown out in 2005/2006 as bad at the company I worked for at the time.  I don’t remember the reason, at least one of them was that we couldn’t keep a battery in it.  Over the past few years I have repaired it repeatedly (though haven’t tackled the battery issue yet).  I have:

  • Flashed the BIOS with a Chinese version (I believe) that uses the CPU fan less aggressively – I wanted to use it in class at the time and the fan would spin up/down, up/down…
  • Removed the original PRISM wireless card after wasting several days trying to make it work with Ubuntu, and installed a 3Com 3CRUSB USB wireless adapter
  • Removed the CD/DVD DRIVE (it was broken anyway)
  • Replaced the broken hard drive with a 4GB CF card using CF to IDE adapter
  • Removed the touch pad (for use in another project, will find its way back as modular)
  • Upgraded the memory to the maximum of 512 (plus internal 128 = 640)

I had been reading about the Enhanced Write Filter from Windows XP Embedded, and wanted to give it a try.  EWF acts like a buffer/cache that sits in front of an HD and lets everything get written to itself instead of the drive, until it is told to commit the changes.  I previously had the CF card loaded with XP, but I was worried about constant writes ruining the flash memory, and there was also an intermittent delay writing to the card.  Since I recently thrashed my OS on this machine, I was able (unfortunately) to start from scratch using the CF to IDE laptop adapter and the CF card.  In the picture the card is hooked to an IDE-USB adapter for testing.

Tools needed:

  • USB Thumb Drive (because my laptop does not have a CD drive)
    HP DriveKey Utility
  • boot98 or boot98se – DOS/Win9x boot disk (old School)
  • Windows XP CD (i386 folder)
  • Partition Magic 8 (reeeeal old school… you may have a better way of formatting your drive correctly, I’m sure some Linux partition tools would work well)
  • smartdrv.exe

First, use the HP DriveKey Utility to format the thumb drive as bootable.  Mine is version 2.1.8, I’m sure others would work.  Choose FAT, just vanilla FAT16.  Everytime I make a new bootable flash drive I forget that FAT32 causes problems.  This will limit you to 2GB, but that is more than enough.


Next, extract the files from boot98 or boot98se.  You can get those images here or get the files by other means.  If you don’t have a floppy drive, like most people, you may have to jump through a few hoops to extract the files.  Both “applications” want to extract to a floppy and make it bootable, but you can open them using WinRAR (even though they are EXE) and mount the IMA that is inside as a virtual floppy disk.  

You can skip the WinRar step if you don’t care what’s in the EXE and you make an empty virtual floppy disk.  

If you have an OS after XP (likely), you will need to do any rendition of this in XP Mode.  After you extract the IMA, open the VFD tool, install the driver, start it, do “Open/Create” on Drive0, select your IMA, and set the drive letter to B: (or A: if it is available).  When you run the HP Drive Key tool to format your USB key, tell it B: as the location for system files, then copy the files it didn’t retrieve from B: to your USB drive.

Now delete the AUTOEXEC.BAT from the USB stick, it’s not running anything we need, and edit CONFIG.SYS to only keep these items:

device=himem.sys /testmem:off
device=emm386.exe /NOEMS
dos=high,umb

Copy the i386 folder from your XP ISO or CD to the USB stick.
Copy the contents of Partition Magic’s PMDOS.cab file to a folder on the USB stick.
Copy the file PQPB.rtc from the root of Partition Magic’s setup files.

Next copy EWF’s files to the USB stick (or otherwise get them to your CF card).  I found this site, and it didn’t really work for me.  I tried, but I kept getting errors trying to enable EWF, but it does explain the inner workings.  What DID work is the pre-crafted package including reg entries and batch files from RoBoard.  I have no idea what their actual product is, but I downloaded the 100 XPe package, and it definitely does the job.  Great instructions included.  I followed them exactly except for HORM.  HORM lets you hibernate the machine, and always boot up from some default saved hibernation state.  This will not work for me because I have only 512mb of memory, I suspect that’s not enough to safely hibernate and save all files to RAM.

Now for some action.  Boot the machine with CF card attached:

Load partition magic (PQMAGIC) and partition, format, and set the drive active as FAT32 (not NTFS):

Reboot, and run smartdrv.exe.  I don’t know where to tell you to get it, this site has it but it doesn’t look maintained or permanent.

Change to the i386 folder and run WINNT, this is the setup program for the DOS installation of Windows XP.  If you didn’t load smartdrv you’re about to be in a lot of pain.  And by pain I mean waiting.  Horrible waiting.  Also note that DRIVER.cab is the LARGEST file in the extraction process.  Even with smartdrv it will trick you into thinking your installation has stalled out.  Just let it sit.

Finish the XP setup, when it is complete, DISABLE VIRTUAL MEMORY, it can’t help us anymore since everything is already being written to RAM.  You may also want to disable System Restore and sleep/hibernate but not required.  Follow the RoBoard instructions.  The only instance of “engrish” is found in the naming of the batch files, no big deal.  They will have you rebooting several times, then in CMD you can run “ewfmgr c:” and see the results:

Now you have a read only OS.  Unless you type “ewfmgr c: -commit” of course.  I disabled the shutdown command on the start menu using group policy, and I am using a batch file to run the commit command followed by a shutdown command so that all changes are committed on shutdown.  Commands:

ewfmgr c: -commit
shutdown -s -t 00

Group Policy option:

There was a HUGE boost in speed!  This laptop is actually fast!  It should be, the slowest part in the system has been bypassed.  It is still bad at playing flash/youtube videos though, but is about 15 seconds faster during boot time.  For the test, I just haphazardly threw some stuff in the startup folder:  Recycle Bin, My Computer, My Network Places, My Documents, IE6, Windows Movie Maker, Google Chrome, and Paint 🙂

With EWF:

Without EWF:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s