"The Vista automatically boots when computer is turned on and I don't know how to switch between the two."
That's because the system's boot routine information happens to reside by default on the system drive or partition - in this case the Vista disk & it currently does not include any reference to XP, you'll need to fix that.
Below is a fix from M$.
Note: Since you are doing this from Vista, run them at a command prompt that has elevated user rights.
To do this, click Start, click Accessories, right-click the command-prompt shortcut, & then click Run as Administrator.
1. Use Bootsect.exe to restore the Windows Vista MBR and the boot code that transfers control to the Windows Boot Manager program.
To do this, type the following command at a command prompt: Drive:\boot\ Bootsect.exe –NT60 All
In this command, Drive is the drive where the Windows Vista installation media is located.
2. Use Bcdedit.exe to manually create an entry in the BCD Boot.ini file for the earlier version of the Windows operating system. To do this, type the following commands at a command prompt.
Note: In these commands, Drive is the drive where Windows Vista is installed.
• Drive:\Windows\system32\Bcdedit –create {ntldr} –d “Description for earlier Windows version”
Note: In this command, Description for earlier Windows version can be any text that you want. For example, Description for earlier Windows version can be "Windows XP” or “Windows Server 2003."
• Drive:\Windows\system32\Bcdedit –set {ntldr} device partition=x:
Note In this command, x: is the drive letter for the active partition.
• Drive:\Windows\system32\Bcdedit –set {ntldr} path \ntldr
• Drive:\Windows\system32\Bcdedit –displayorder {ntldr} –addlast
3. Restart the computer.
If you think this is too hard, you can always google up VistaBootPro or EasyBCD for a easier method.
How To Ask Questions The Smart Way