I'll guess that you opted for updating the main MBR instead of the MBR of the usb hdd. First with the usb hdd plugged in, boot up in SuSE and look in the /boot/ directory for the backup MBR. It should be a copy of the original MBR and only 440 bytes long. This is the area that contains the boot strap loader. If you find it you can restore this file with
sudo dd if=/boot/<filename> of=/dev/sda bs=440 count=1. But first, make a backup of this MBR that will boot up into SuSE. Saving it to a pendrive would be a good idea.
Assuming a pendrive is mounted on /media/disk/:
sudo dd if=/dev/sda of=/media/disk/opensuse103 bs=440 count=1
If the file is only 440 bytes long, you don't need the "bs=440 count=1". I included it so that you wouldn't go over your drives partition table.
Now try booting into Vista again. If it doesn't work, you may have done something else. Make sure the vista partition is present.
---
If you get on google for "linux nt mbr" you will find a number of pages with instructions on using the Windows BOOT.INI file to chainload Linux. If you save the "opensuse103" file saved from the old mbr, you can use that ( I think ).
You will find out that Vista doesn't have a C:\BOOT.INI file. However, if you create one, and save it on the C:\ drive (with hidden, system attributes), Vista will use it just as XP did.
You may need to boot into rescue mode (openSuSE install disk) and update grub to your external drive, and cut out the 440 bytes from that instead. Or if your computer has a quick boot option, you could rely on that.
|