Virtualizing XP

This past summer I was asked to install a Linux based system on an “old” laptop. The laptop had no Enter key cap although the membrane key remained usable with a firm tap. Two of the three USB ports no longer worked. Windows XP was installed. Single core CPU with 2 GB RAM.

This was a refurb project. XP ran okay but was not exactly fast. The owner told me to do whatever I wanted with the laptop. I performed the following:

  • Removed cruft software that no longer was being used.
  • Removed the malware magnets Flash plugin, Java, Adobe Reader.
  • Removed Security Essentials.
  • Removed End-of-Life (EOL) updates: KB2934207 and KB2949787.
  • Disabled indexing.
  • Stopped the paging file.
  • Stopped the System Restore service.
  • Rebooted.
  • Peformed an aggressive cleanup.
  • Defragged the system.
  • Scheduled chkdsk to run.
  • Rebooted with an LMDE USB flash drive.
  • Resized the C: partition with gparted.
  • Rebooted.
  • Restored the paging file.
  • Rebooted to verify all was working.

With the LMDE 32-bit USB flash drive and gparted I created /, swap, and /home partitions. I installed LMDE.

I installed VirtualBox.

I configured VirtualBox to use the XP partition as a raw disk. Using the raw disk option saves disk space, especially with small capacity laptop drives.

I used a shell script I wrote long ago and converted the BIOS information to the new VirtualBox configuration. The script snags the NIC MAC address.

I assigned 768 MB RAM to the virtual machine.

I booted into the XP virtual machine.

No nag notices about EOL and no nag notices to reactivate.

I believe the lack of activation nags is due to the BIOS and MAC address spoofing. On other XP systems I have had to reactivate.

Not that reactivation is a big deal anymore with XP. The current Microsoft policy for XP users is to allow perpetual reactivations. I experimented on one XP system and I reactivated about two dozen times, which seems to confirm the new policy. Anyone trying to do the same as described here might still be prompted to reactivate, but that no longer is a concern. No product ID is needed. Just click through the dialogs.

Satisfied that no reactivation prompt was likely, I disconnected the virtual network cable to isolate the system.

The virtualized XP system remained sluggish. I then disabled all of the bloatware in the MS Config Startup tab. The virtualized XP system then became snappy. I was surprised how snappy with a single core CPU that did not support virtualization extensions and had only 2 GB RAM.

I manually edited the grub.cfg file not to show XP as a boot option. This avoided any potential of XP complaining about hardware changes that are different from the virtual hardware, which normally requires reactivation.

An interesting project. On the Linux side probably most of everything I did could be scripted for a one-click VM creation.

Posted: Category: Tutorial, Usability Tagged: General, Windows, Virtual Machines

Next: Adding a Dictionary

Previous: Old Computers