Het ligt er aan hoe je Vista en XP hebt geïnstalleerd lijkt me.
Ook al installeer je XP op een andere partitie, de opstartbestanden (dus ook boot.ini) komen altijd op de eerste primaire partitie terecht en via boot.ini wordt dan verwezen naar de partitie waar de rest van XP staat.
Dus zou je in grub ook bij het opstart-item van XP moeten verwijzen naar de eerste primaire partitie vermoed ik. Maar hoe grub dan het verschil kan zien tussen Vista en XP.........?
Ik vrees dat MS geen rekening heeft gehouden met zo'n scenario (doen ze toch nooit

) en dat je niet om die Vista bootloader heen kunt.
Anders wordt het als je XP en Vista echt helemaal apart ieder op een eigen schijf hebt geïnstalleerd en tijdens het booten vanuit het BIOS je gewenste schijf kiest. Maar dat is vermoedelijk niet het geval want dan komt grub helemaal niet aan bod.
Gr,
Jim