Works for any combination of the windows distros and openSUSE (or for that matter it can be extended to include any number of Linux distros)
Assumptions: Suse is on sda3; Windows boot partition is sda1
Six step method:
Reconfigure Grub to boot from the root partition, not the MBR
Mount your ntfs boot partition at /mnt/windows so you can edit the Windows files
Copy the boot code in the boot sector of Suse’s root partition over to a file in the Windows boot partition for use by the Windows bootloader using this su console command:
dd if=/dev/sda3 of=/mnt/windows/suse.bin bs=512 count=1
- Add “openSUSE” as a boot item to the Windows boot menu:
Either: If XP and/or 2000 is on the machine (and vista is optional) edit the file /mnt/windows/boot.ini and add this last line:
Or: If vista is the sole distro on the machine, create the file /mnt/windows/boot.ini with these contents:
[boot loader] timeout=15 default=multi(0)disk(0)rdisk(1)partition(1)c:\suse.bin [operating systems] c:\suse.bin="openSUSE"
- Make sure the Windows boot partition is marked “Bootable” so Windows can boot. Open a su console and start cfdisk, the GUI version of the command line partitioner, with this console command: cfdisk /dev/sda
. Then use the arrow keys to mark sda1 bootable (and unmark any other “bootable” partitions)
- If Grub code is in the MBR from the openSUSE install (highly likely) then replace it with windows bootstrap code:
Either: If XP and/or 2000 is on the machine (Vista optional) boot off the XP/2000 installation disk and proceed to the final screen where you have the option to Repair Your Computer. Press “R” for Repair and log onto the Windows installation. When the command prompt appears, enter the command fixmbr. Enter exit and the computer will reboot.
Or: If vista is alone on the machine then boot off the vista install disc and proceed to the final screen where you have the option to Repair Your Computer. Select Repair but do not opt for the automatic repair plus restart. Instead select Next and then select the Command Prompt. Enter bootrec.exe /FixMbr in the console and follow that with the command exit. Then select to reboot
That should do it. I’ve experimented with this. It seems to me IMHO that it’s easier to install and use than Grub (but I’m patriotic and will use Grub myself). This is described in more detail here:
Boot Multiboot openSUSE Windows (2000, XP, Vista - any mix) with Windows bootloader.
Have a good one