Bueno lo primero agradeceros a todos vuestra ayuda. He seguido la mayoría de vuestras indicaciones, sobretodo las de cedan que andaban en la línea que sospechaba.
En segundo lugar deciros que ¡¡¡YA LO HE SOLUCIONADO!!!
Os explico como lo he solucionado por si os pasa a alguno.
El caso es que después de haberlo probado todo sin éxito, he arrancado con los dos discos duros (el bueno como maestro, claro) y he comparado los archivos que hay en el root (directorio principal C:\). Cuál ha sido mi sorpresa al ver que el archivo NTLDR tenía fecha del último día que encendí el PC en el disco estropeado y fecha del 2004 en el disco bueno. Además el bueno era de 47k y el chungo sólamente tenía 1k.
Total que ahí estaba el problema. Este archivo es lo primero que se carga desde el sector de arranque y muestra el menu de inicio de windows. Ese que te deja seleccionar entre las instalaciones de windows que están en el boot.ini (creo). El caso es que si solamente tienes una instalación en el disco, el menú ni aparece, pero el archivo NTLDR si que es ejecutado.
Por lo visto Windows XP tiene previsto dar un mensaje si este archivo no existe, pero algún listillo habrá "descubierto" como crear un archivo NTLDR, que no haga más que dar por saco. Supongo que el software malintencionado que detectó mi antivirus era el de un listillo de estos.
Total que la solución ha sido fácil. Sencillamente he copiado el NTLDR del disco bueno en el disco malo. Ya está.
También se puede recuperar desde el CD de instalación de Windows XP
copy D:\i386\ntldr C:\
Saludos.
PD: no tenía ni idea de qué era NTLDR ni para que servía, pero lo he buscado en google. Yo no soy un listillo porculero de esos. 😀
Me alegro, Cesar. Y la próxima vez, a ver qué nos bajamos de internet, eh picarón? 😉