While Windows XP has already reached end of life support (April 2009) and is reaching it’s end of extended support in less than a year (April 2014), it is still in use by a large number of Windows users – 39% as of February 2013. Many people are happy with it’s level of performance and have no desire to relearn how to use it, as Windows 7 requires to some degree and Windows 8 Metro does to a high degree. However, some users still want to see the performance increases and benefits that can be accrued from upgrades such as solid state drives. So without further ado, here’s some tips to maximize your Windows XP performance after migrating to an SSD.
First off, migrating to the SSD is itself not simple, especially if you don’t have original installation media (ie, you only have restore disks or a restore partition). If you only have a restore partition, you should definitely create a restore disk prior to any upgrade attempts. If your restore partition doesn’t support creating restore disks, you can make your own using a live CD such as EaseUS Disk Copy (simple), Parted Magic or Clonezilla (for more advanced users) to create an image of the disk or partition. We recommend making a backup of both your existing set up to use to migrate to the SSD, then making one of a freshly restored system in case you ever need a complete reset. Even if you have the original manufacturer’s restore disks, it’s still a good idea to create your own in case there are problems with the OEM’s.
Something important to consider with SSDs is partition alignment: in order to get the best performance, your Windows partition needs to be aligned so that it’s start sector lines up with the SSD page boundaries. Since it’s not possible to position a partition at sector 0, the easiest way to do this is to start the partition at sector 2048 (ie) leave a space of 1 MB. or 1024 kB, before the beginning of the partition. If you have any other partitions (say for data), they’ll need to be aligned to 1 MB boundaries as well. Primary partitions can be right next to each other, so long as the previous partition size is a multiple of 1024 kB. Logical partitions will need 1 MB of space before each partition to hold the logical partition table information.
If you’re cloning just the Windows partition, make sure you create the target partition with 1 MB of space before it on the SSD drive.
If you’re cloning the entire drive, you’ll need to either move or resize the partition afterwards to get 1 MB of space before the Windows partition.
Moving and resizing partitions can be easily accomplished using a tool such as the Windows based EaseUS’s Partition Manager (free for personal use) or using a live CD such as Parted Magic or GParted Live.
If you’re cloning or restoring the entire disk, make sure you have an SSD that is the same size or larger than the original. Unfortunately this is not practical in many cases, such as when the original hard drive is more than 128 GB as SSDs larger than 128 GB are still prohibitively expensive. If that’s the case, you’re going to have a little more work to do.
While you can shrink the main Windows partition and just copy that to the solid state drive, you will not be capturing the original hard drive’s MBR and will wind up losing the boot loader that starts up Windows XP. To fix this, you will need a Windows XP install disk (preferably with the same Service Pack level as the Windows XP installation you are going to move) to reinstall the bootloader.
Once you have your XP system moved to your SSD and properly aligned, there are several other things you can do to improve both performance and life of your SSD.
Windows XP does not natively support TRIMming SSDs (informing a solid-state drive which blocks of data are no longer considered in use and can be wiped internally). If you have an Intel or OCZ SSD, these companies provide TRIM utilities; if you have one from another company such as SanDisk, you’ll need to download a generic version of TRIM. TRIM should be run once a month or so to optimize SSD performance; you can use the Task Scheduler to automate this.
If you have a Scheduled Task to defragment your drive, be sure to disable it as this is both unnecessary and will shorten your SSD’s life by performing a large number of write operations.Disable Indexing
Indexing involves a fair amount of system overhead and wear-and-tear on your drive over time. If you don’t find yourself searching your Windows SSD drive regularly, you should disable indexing on it:
- Open “My Computer” in Windows Explorer.
- Right click on the SSD drive (most likely “C”) and select “Properties”.
- Under the “General” tab, uncheck “Allow Indexing Service to index the disk for fast file searching”.
If you never really search at all using the built in Windows Search or only have the SSD and no other hard drive for storing data, you can disable the Indexing service altogether:
- Open the Services console either by navigating to the Administrative Tools folder or by using the “Run” command to launch “services.msc”.
- Double click on “Indexing Service”.
- Click on the “Startup type” drop down box and select “Disabled”.
- Click “OK”.
Ensure that write caching it enabled:
- Open the Device Manager console by using the “Run” command to launch “devmgmt.msc”.
- Click on the “Policies” tab.
- Ensure the radio button “Optimize for performance” is checked and that the checkbox “Enable write caching on the disk” is checked.
Similar to defragging, Windows will attempt to optimize placement of files on disk when the computer is idle. Since files on SSD are optimally placed by definition, this only increases wear and tear on your SSD and reduces it’s lifespan.
- Install Microsoft’s TweakUI Windows XP Power Toy.
- On the left hand navigation tree, select “General”.
- Uncheck the “Optimize hard disk when idle” checkbox.
This is a highly advanced tweak, and should only be attempted by those comfortable with both modifying Windows systems configuration and their hardware on an advanced level.
If your BIOS offers SATA disk management choices such as AHCP and ATA, you’ll want to use AHCI. AHCI offers advantages such as native command queuing (optimizing read/write operations for the type of disk) and hot swapping (the ability to replace hard drives while the machine is on, useful for RAID arrays).
However, getting AHCI working with XP is not the easiest task in the world as it may require installing new hard drive controller drivers. To see if these are already installed, in XP open the Device Manager and expand the “IDE ATA/ATAPI controllers” navigation tree item, right click on your hard drive controller (it won’t be “Primary IDE channel”; you may need to consult your computer or motherboard manual to determine what your controller is if there is more than one) and select “Properties”. Click on the “Driver” tab, and then click the “Update Driver” button to launch the Hardware Update Wizard. Check the radio button “Install from a list or specific location (Advanced)”, then check the radio button “Don’t search, I will choose the driver to install” and click the “Next” button. This will show the available drivers for your controller. If there is only one listed then you’ll need to install the driver manually; otherwise, select the ACHI driver and click through the prompts (if your manual is not clear, you may need to do some online research). After you have the driver installed and selected, boot into the BIOS and change SATA operation from ATA to AHCI and boot back into Windows.
Be sure you have a full system backup before trying this, as changing the driver back to ATA afterwards if the AHCI driver doesn’t work or is the wrong one is extremely difficult.
There are some recommended tweaks you might find for your SSD based Windows XP that are either unnecessary or actually counter productive:
Prefetch is a Windows memory manager that speeds up the boot process and program start up time. Some would argue that your SSD performance increase should make this unnecessary; however, it doesn’t hurt your SSD or Windows performance, either.
- Open the Registry Editor (regedit) and navigate to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters.
- Change the EnablePrefetcher value to either 3 (Applaunch and Boot enabled) or 0 (Disabled).
Don’t disable the pagefile, which is where Windows stores information when it runs out of RAM (or when a section of memory has been unused for a while and Windows proactively makes more RAM available). While this does take up a large amount of disk space and increases wear and tear on your SSD, it is absolutely necessary. If you disable it, odds are good that you’ll run out of memory and crash your system.