GRUB, tri-boot help!

I have vista x64 on a separate harddrive(500gb, primary OS), and vista x32 and suse on my 2nd(150gb). I’m pretty sure i set that up correctly, BUT in the bootloader, weather i select the x64 or x32 then BOTH boot to the x32 HELP PLEASE

# Modified by YaST2. Last modification on Sun Sep 28 15:41:36 PDT 2008
default 0
timeout 8
gfxmenu (hd0,1)/boot/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows Vista x64
    rootnoverify (hd1,0)
    chainloader (hd1,0)+1

title Windows Vista x32
    rootnoverify (hd0,1)
    chainloader (hd0,0)+1

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE x64
    root (hd0,1)
    kernel /boot/vmlinuz root=/dev/disk/by-id/scsi-SATA_Hitachi_HTS5416_SB2481SJK4SGBE-part2 resume=/dev/sda3 splash=silent showopts vga=0x31a
    initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE x64
    root (hd0,1)
    kernel /boot/vmlinuz-2.6.25.16-0.1-pae root=/dev/disk/by-id/scsi-SATA_Hitachi_HTS5416_SB2481SJK4SGBE-part2 showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off x11failsafe vga=0x31a
    initrd /boot/initrd-2.6.25.16-0.1-pae

here is fdisk -l output:

linux-5xr0:~ # fdisk -l

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x053e5bef

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1       12272    98566807    7  HPFS/NTFS
/dev/sda2   *       12272       18930    53480354+  83  Linux
/dev/sda3           18930       19457     4241159+  82  Linux swap / Solaris

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x1e85b147

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1       60801   488382464    7  HPFS/NTFS

Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x82273118

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1       60801   488384001    7  HPFS/NTFS

I really don’t think this will help, but you might as well be technically accurate in case it’s upsetting the 64 bit win boot. The second windows should be like this

title Windows Vista x32
rootnoverify (hd0,0)
chainloader (hd0,0)+1

Have a look into partition sdb1 and check that it has this file on it: bootmgr
and that it has this directory : /boot
If it’s not mounted you can temporarily mount it with these two commands as roo user (su):

mkdir /mnt/temp

to make a mount point

ntfs-3g /dev/sdb1 /mnt/temp

to mount it’s filesystem in “temp” directory

I fixed it, here’s the solution:
Solution:


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