Here's the magic formula to boot into a Windows (slave) hard drive from Grub. Windows thinks that it's installed on the master, but I've moved it over to the slave position. Sadly it refused to boot from there. The trick is to tell the BIOS to remap the drives, and thereby fool Windows into thinking it's on the master.

I've been doing this for years with LILO, but now I've moved on to use Debian Sarge, and I've been forced to work out how to do it with Grub. It's not too difficult. Here's the section I had to add to my /boot/grub/menu.lst file:

title Windows
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
chainloader +1

Once you've made the change just update Grub with this (Debian-specific) command:

# update-grub

...and then reboot.