Io, a suo tempo, avevo trovato e postato questa soluzione:
Copio l'INTRO da Zecca...

Parto dal presupposto che abbiate già un secondo hdd o comunque una seconda partizione formattata in ntfs e libera per installarci XP...
Installateci quindi il vostro sistema operativo windows XP ed, una volta terminato, al riavvio partirà solo xp senza darvi modo di far partire Vista !
SOLUZIONE 1: per esperti:Avviamo Windows XP, inseriamo il DVD di Windows Vista (e chiudiamo la finestra in autorun se compare), verifichiamo la lettera assegnata all’unità CD/DVD Rom, nel nostro caso è la “E“, apriamo poi il prompt dei comandi digitando cmd nella finestra di Esegui.
dal prompt scriviamo “E:“
diamo invio e poi scriviamo “CD BOOT“
e dopo aver dato invio “Bootsect.exe -NT60 All“

dovremo avere una specie di conferma in inglese, dove viene detto che il BOOT di C:(Vista) è stato aggiornato, mentre per D: (Xp) non è stato possibile (perchè il sistema è in uso, ovviamente)

Ora riavviamo in modo corretto il sistema, non allarmatevi se riparte Windows Vista senza il MultiBoot, dobbiamo ora abilitare il MultiBoot da Windws Vista
Avviati Windows Vista apriamo un prompt dei comandi come amministratore (è sufficiente digitare cmd nel box di ricerca del menù Start quindi dal risultato cliccare col destro e scegliere Esegui come amministratore)
Digitiamo in sequenza i comandi seguenti:
“Bcdedit /set {ntldr} device partition=c:“
“Bcdedit /set {ntldr} path \ntldr“
“Bcdedit /displayorder {ntldr} /addlast“
Dopo ciascun comando il prompt ci dirà solo “Operazione completata correttamente”
Al riavvio il nostro computer ci proporrà finalmente il MultiBoot:

Possiamo ora scegliere di avviare Windows Vista o Windows XP che viene indicato come “Versione precedente di Windows”
SOLUZIONE 2: per principianti:Partiamo dall’aver installato Windows XP e stiamo al suo interno, prendiamo il DVD di Windows Vista (e chiudiamo la finestra in autorun se compare) e riavviamo il PC, facendo partire il computer dal DVD di Windows Vista
Dopo la schermata iniziale sulla lingua, scegliamo l’opzione Ripristina il computer, scegliamo l’unità C: e attendiamo pochissimi secondi.
Windows Vista a questo punto dovrebbe avere già risolto i problemi! Se difatti andiamo nei dettagli (dove c’è scritto clicca qui) avremo quanto segue (oltre a tante altre cose con scritto ‘nessun errore’):
CITAZIONE
Causa principale rilevata:
———————
Il codice del settore di avvio della partizione del disco di sistema è danneggiato.
Operazione correttiva: Boot sector repair
Risultato: Completato. Codice di errore = 0×0
Tempo impiegato = 631ms
Verifichiamo riavviando il pc premendo il tasto ‘Fine’ a questo punto dovrebbe presentarsi il MultiBoot, in caso contrario apriamo un prompt dei comandi come amministratore (è sufficiente digitare cmd nel box di ricerca del menù Start quindi dal risultato cliccare col destro e scegliere Esegui come amministratore)
Digitiamo in sequenza i comandi seguenti:
“Bcdedit /set {ntldr} device partition=c:“
“Bcdedit /set {ntldr} path \ntldr“
“Bcdedit /displayorder {ntldr} /addlast“
Dopo ciascun comando il prompt ci dirà solo “Operazione completata correttamente”
Al riavvio il nostro computer ci proporrà finalmente il MultiBoot