As far as I know, HP notebooks do have a way to select from which device you want to boot. Generally, though, it’s designated as “multibay” or smth like that, and not as “2nd hard drive”. But then again, I don’t know your particular model, so I may be wrong. So I would go into BIOS and double check my boot options again. On my HP Compaq 6715b there are several options at boot, you are even offered to boot from your network etc., so I would be very surprised if there were none such options on another hp model.
Anyway, if that’s not viable, I’d put my Linux drive in the bootable drive bay and edit its /boot/grub/menu.lst file so that there’s another entry after your default Linux entries which were hopefully put there by your Linux install. You must edit it as root, of course. The lines to add are:
title Windows
rootnoverify (hd1,0)
chainloader (hd1,0)+1
After that you save the file and off you go. There’s no need to even touch your Windows drive. If anything should go wrong, you still have a bootable Linux system from which to troubleshoot. If such need arises, the first thing I’d do is NOT PANIC. Just check if Grub agrees with my drive designations. From a linux console (even a live CD would do) I’d get root and type “grub” to get the grub command line interface. Then I’d check grub’s partitioning scheme by typing:
grub> geometry (hd0)
Grub will enumerate your partitions on the first hard drive (hd0, grub counts them from 0). Then I’d issue
grub> geometry (hd1)
for the second hard drive.
That way you may make an educated guess as to how grub refers to your drives, in order to edit your menu.lst entry accordingly. Remember, both lines referring to (hd0,0) mean: first hard disk (hd0), first partition (0). It’s actually the location grub must call when you select to boot Windows. If there’s where your Vista resides, OK. Otherwise, change that to (hd1,0) or (hd2,5) or whatever your configuration may be.
For further assistance on grub see this excellent nutshell tutorial: Just booting tips - JustLinux Forums
Regards