So I spent the past evening and a few hours today playing Mr. Fixit with my sister-in-law’s old college laptop. This one set some new records in terms of things that Ccleaner and Defraggler found and cleaned up: 2.2GB worth of junk files! 12000 fragmented files, 90000 fragments, 40% total fragmentation on a 32 GB partition! Gigabytes worth of Windows Hotfix uninstallers and System Restore Points well past their expiration date. No wonder it was running so slow.
The system was a labyrinth of old Toshiba support utilities running at startup, unnecessary Windows services, auto-update background programs waiting for new versions of programs last updated in 2006, and other myriad performance-sapping programs. When I started the optimization, there were 70 processes running at a fresh boot (and swapping constantly to virtual memory); when I finished, there were a reasonable 30 processes running. Then came the inevitable bump from Windows XP SP2 to SP3, and the countless security updates (104 needed right after SP3 came online), and then the security update updates.
There were other problems to be surmounted, such as a broken keyboard with some of the numbers and control keys not working (2, 8, 9, 0, alt, w, r, s, x; there’s a pattern here) and a broken trackpad + pointing stick. Those stupid eraser-shaped trackpoint controllers were all the rage since the Thinkpad, but they always seemed to have hardware problems in later life. I know this because I have a Dell on which I had to physically disconnect the trackpoint to fix the identical problem. In these cases, the trackpoint controller sends a flood of incorrect signals (via the PS/2 interrupt), causing the mouse to either move continuously to one side of the screen or the other. In Windows, you can’t disable the PS/2 controller and you can’t permanently remove it either. In Linux, I had to disable the i8042 Programmable Interrupt Controller (PIC) using “i8042.noaux=1”, or the X server would seem to get stuck while loading. This all made the initial work a bit difficult, until I managed to disable the trackpoint completely in the BIOS settings.
But, once all the optimizations are in place and the system is thoroughly scrubbed, it’s actually a fine little machine. The surprising thing is the solid pieces of tech that were built into this machine from 2005. It’s got Gigabit ethernet, a PCIe 16x-lane Nvidia graphics card, an Intel Pro Wireless 2915abg miniPCI card, and SATA 1.0 connecting the hard disk. Spending about $100 on extra parts (SSD, 2GB DDR2 RAM, new USB keyboard and mouse) today would probably give the machine another 5 years of useful surfing life and would let it run Windows 8 or Linux actually pretty well. The great thing is that even the bargain-bin SSDs would fully saturate this thing’s SATA link nowadays. And with 1GB DDR2 SO-DIMMs going for $5 a pop used, upgrading is almost an afterthought. Alas, it’s not my laptop.
As a measure of thoroughness, I’d been trying to scan the system using a variety of Linux-based antivirus rescue CDs. The first one up is BitDefender, available here:
Unfortunately, the BitDefender rescue disk’s root mount has too little space to store the necessary antivirus definition updates, and it throws the following error dialog:
"Update error: an unexpected error code was generated (-1009)"
The aufs entry below is the filesystem that is completely used up.
Filesystem 1K-blocks Used Available Use% Mounted on
aufs 254508 254444 64 100% /
udev 254508 224 254284 1% /dev
/dev/sdb 1829216 1023488 805728 56% /cdrom
/dev/loop0 373888 373888 0 100% /rofs
none 254508 0 254508 0% /dev/shm
tmpfs 254508 120 254388 1% /tmp
none 254508 60 254448 1% /var/run
none 254508 0 254508 0% /var/lock
none 254508 0 254508 0% /lib/init/rw
/dev/sda2 3896164 3658152 238012 94% /media/HDDRECOVERY
/dev/sda1 35158220 30762392 4395828 88% /media/SQ003610
To try to fix this, I set a symbolic link up that points to the USB stick’s storage space, which is mounted under /cdrom, then try moving the existing definitions over:
sudo su -
mv /opt/BitDefender-scanner/var/lib/scan/Plugins/* /cdrom/av-definitions
ln -s /cdrom/av-definitions /opt/BitDefender-scanner/var/lib/scan/Plugins
But it seems like this isn’t working either.
On this rescue CD, only root can write to the /cdrom mount, so I tried to update the AV definitions using a cumulative.zip file, which BitDefender provides here:
But this hangs the system somehow as well and doesn’t actually seem to write to the flash drive. Maybe I can try putting the definitions on one of the mounted hard disks and pointing the symbolic link there.