En teoría el proceso de crear un doble arranque para tener Windows Vista y Windows XP en un mismo equipo no es complicado si sigues este orden: primero instalas Windows XP y luego instalas Windows Vista, en ese orden estricto, durante la instalación de Windows Vista te da la posibilidad de crear un doble arranque cuando reconoce que ya tienes instalado otros sistema operativo (el XP).
Cuando intentas hacerlo en el orden inverso la cosa se complica. Como el segundo sistema que instalas es Windows XP, éste no reconoce la instalación de Vista y pasa de largo, así que cuando terminas la instalación y cada vez que arranques sólo lo hara en Windows XP sin doble arranque.
Yo también estuve en este caso una vez, la forma que lo resolví es usando el DVD de instalación de Vista (yo lo tenía disponible) y un programa llamado: EasyBCD que es gratuito.
Esencialmente la cosa va así, configuras tu equipo para que arranque desde el CD/DVD, introduces el disco de instalación de Vista y reinicias el equipo, te aparece una pantalla "Presione cualquie tecla para iniciar desde el CD/DVD...", lo haces y cuando inicie el programa de instalación de Vista le das a Reparar el equipo como se explica aquí:
Reparar Windows Vista. Con esto ya estás a medio camino sólo que ahora iniciará con Windows Vista e ignorará Windows XP. Es el momento de usar EasyBCD que una vez instalado en Vista nos ofrece la posibilidad de agregar al arranque a Windows XP:
Cómo arrancar Windows Vista y XP con EasyBCD
Si no tienes el DVD de instalación de Vista hay otros caminos que recorrer, lamentablemente ahora no tengo tiempo para ponerte más información, si no es suficiente quizás algún otro compañero lo haga, pero al menos te doy un panorama de como debería hacerse.
Saludos.