Assuming you can boot into opensuse, log in as root and post the output off 'fdisk -l' (lowercase letter L) and a copy of your menu.lst file in /boot/grub.
Also, log in to opensuse. If you have your vista mounted, browse there and look for a boot folder with winload.exe, If nothing there, then open system32 and see if there is another boot folder, open it and see if winload.exe is there, If it is, simply copy it to your system32 folder.
This is a very common problem with vista's new bootloader and is not related to Linux. Most of the sites I looked at with info on it were with other windows OS's (XP) and vista. If this doesn't work, I would suggest googling "winload.exe missing or corrupt" You will find hundres if not thousands of sites dealing with this windows problem.