I have two hard drives, one is SATA and the other one is an old IDE (PATA). I use mostly the IDE because it is larger.
The SATA was causing errors which crashed my Windows and Linux OS’s so I disconnected it altogether. The crashes vanished, but XP became inconceivably slow. Boot was taking about 30 seconds, it became a few minutes. Opening applications was also very slow.
I didn’t have a clue what could cause that so I searched, and after some time I have found this: Link to Microsoft support
Basically what it says is that for some reason, after too many I/O errors, Windows XP changes the way it interacts with the hard drive to be very slow and reliable. When the I/O errors stop happening it should have been reverted to the fast method again but that does not happen.
To fix that, first eliminate the source of I/O errors (in my case, the SATA drive), and then uninstall the IDE controller driver through Device Manager. Reboot, and Windows will install the correct driver, reboot again and voila, your XP is fast again.