Existing SUse INstall - added Vista - how to dual boot

SO i have searched alot and only found articles that talk to installing Suse on an existing windows install. I never had a probelm with that.

My issue is that I had an exclusively Suse install for about a year, but needed windows to run a few applications that just didn’t run decently on Wine.

SO I shrank my home partition (a logical part and added 15 gigs on the end where I installed Vista.

Vista now boots no problem, but I want to be able to point back to the Suse install and better yet have open suse be the default.

So I thought I could just use my suse install disk tp repair the Grub Boot loader, and add the windows partition, but it seems to jumping right to the Vista boot loader.

Do I need to rewrite to the MBR? How to I point from GRUB to the windows partitions/bootloader

Try using the Suse install DVD to Repair Installed System → expert tools → bootloader. Make sure it’s set to boot from the MBR. Then when in Suse again after a reboot, go back to the bootloader setup (in Yast) and choose the “Propose New Configuration” option under “Other”. That should expand the bootloader menu to include vista. Stick with booting frm the MBR.
Here’s the full reference:
GRUB Boot Multiboot openSUSE Windows (2000, XP, Vista) using the Grub bootloader.
There may be a need to do one further tweak after that; here’s the reference for that:
Fixing vista multiboot with openSUSE - openSUSE Forums

Luck

Thanks for the help!

I read your article, but that is exactly what I already tried. And your article speaks of no boot loader at all, or only being able to boot to suse.

My problem is that the NT boot loader wont give up. It jumps right into windows.

I set grub to boot from MBR but I think the vista install overwrote mbr.

I even tried the Other > save to mbr option to no avail.

Just to make clear. I have suse installed first, then instaLLED vista. Backwards of most every tutorial i can find.

I’m assuming you see no green Suse screen at all during booting.

You need to overwrite the windows generic code in the MBR with Grub’s code. Some step must have been missed for the windows code to be there still. Try doing these steps again exactly:

boot off the Suse dvd
select repair installed system
select expert tools — install new bootloader

When you get the screen with tabs for “Section Management” and “Boot Loader Installation”, select the second one and put only one checkmark on it – in Boot from Master Boot Record. Make sure the checkmark is in no other location.

Thanks for the continued support!

So I was unable to read your last post before just running the automated repair.

It managed to solve my issue, and also added the fstab so I can read my windows partition from SUse.

but now I have a windows part that I cant boot to.

So I guess the last step to completely resolve my dilemna is adding an entry to grub to point to VIsta.

I think I have to add a chainloader entry, and point to the windows part (/dev/sda/sda8)

Does that sound right>? Or should I point to the ntbootloader.

There is no ntbootloader in vista, but you’re essentially correct. Boot manager is the file bootmgr generally on the lowest windows-compatible partition, e.g. sda1. Anyway, look in vista explorer. Allow viewing hidden files in Tools → folder options. Locate hidden items in a partition root: file “bootmgr” and directory “boot”. That’s the partition you point grub at.

You can probably more easily find them buy looking into your mounted windows shares in Linux; if you mounted them.

Open menu.lst for editing with either
kdesu kwrite /boot/grub/menu.lst
or
gnomesu /gedit /boot/grub/menu.lst

and copy this stanza into it:

###Don't change this comment - YaST2 identifier: Original name: windows 1###
title vista
    rootnoverify (hd0,0)
    chainloader +1

(hd0,0) refers to the first partition on the first drive. Change that to suit e.g. sdb6 is (hd1,5) and sda3 is (hd0,2)

OK so i can’t boot into Vista, but I edited menu.lst from suse and added the following


###Don't change this comment - YaST2 identifier: Original name: windows 1###
title Vista
    rootnoverify (hd0,7)
    chainloader +1

my windows partition is mounted @ sda8

When I restarted and selected Vista it said something like


BOOTMGR not found press ctrl-alt-delete to restart

I went browsing around my windows partition (again from suse) and only found a file BOOTMGR in

media:/sda8/Windows/Boot/PCAT

is there a way to specify that directory in the menu.lst file? Or is there something wrong with the VIsta install?

is there a way to specify that directory in the menu.lst file? Or is there something wrong with the VIsta install?

Befor I answer that, can I see the output from the command

sudo /sbin/fdisk -l

Sure, Sure. Again, I really appreciate the continued effort your providing me!

Disk /dev/sda: 250.0 GB, 250000000000 bytes
255 heads, 63 sectors/track, 30394 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xd0f4738c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1           7       56196   de  Dell Utility
/dev/sda2               8       29958   240581407+   f  W95 Ext'd (LBA)
/dev/sda3           29959       30393     3494137+  db  CP/M / CTOS / ...
/dev/sda5               8         269     2104483+  82  Linux swap / Solaris
/dev/sda6             270        2880    20972826   83  Linux
/dev/sda7            2881       26380   188763718+  83  Linux
/dev/sda8           26381       29958    28740253+   7  HPFS/NTFS

sda1 and sda3 are dell special partitions which I don’t understand. I suggest you put the following three entries in menu.lst and try them all, see if one works:

###Don’t change this comment - YaST2 identifier: Original name: windows sda8###
title Vista
rootnoverify (hd0,7)
chainloader +1

###Don’t change this comment - YaST2 identifier: Original name: windows sda1###
title Vista
rootnoverify (hd0,0)
chainloader +1

###Don’t change this comment - YaST2 identifier: Original name: windows sda3###
title Vista
rootnoverify (hd0,2)
chainloader +1

I have difficulty with vista as a multiboot from locations like sda8 – but I can’t put my finger on what’s wrong with that. I used to think it was impossible until (I think) someone told me I was mistaken.

This is now beyond my capabilities – hopefully mingus725 is cruising nearby.

Update**

So I reinstalled windows, which once again overwrote the MBR.

I then reinstalled the GRUB boot loader using SuSE 11 dvd.

I added

###Don't change this comment - YaST2 identifier: Original name: windows sda8###
title Vista
    rootnoverify (hd0,7)
    chainloader +1

to my boot menu and restarted, selecting VIsta.

THis time I just saw a flash underscore in the upper left.


Booting ‘Vista’
hda(0,7)

_ <- flashing


So the missing boot.mgr message is gone, but it is just hanging.

Any guesses on this issue?

I have difficulty with vista as a multiboot from locations like sda8 – but I can’t put my finger on what’s wrong with that. I used to think it was impossible until (I think) someone told me I was mistaken.

Maybe I was correct. I thought it had to be on a primary partition (i.e. sda1, sda2, sda3 or sda4). I’ll check it out.

OK, the deal is that you can boot from a logical partition in the extended partition (like sda8) provided vista can put its boot files on a windows compatible primary partition lower down, like sda1, 2,3.

By boot files I mean “bootmgr” and a directory of stuff called “boot”.
By “windows compatible” I mean FAT, FAT32 or NTFS (& maybe the funny stuff on the dell special partition).

So if vista was loading on sda8 and booting OK before reinstalling the grub bootloader, then vista’s file “bootmgr” and the directory “boot” were put lower down than sda8 and you have to find them and point grub at that lower partition.

You are correct. Note the partition table - sda1 is type “de” which is “Dell PowerEdge Server utilities (FAT fs)”, i.e., a Dell specific FAT partition. This partition is marked active. When Vista was installed it placed bootmgr.exe in the root of that partition along with the \boot directory in which, among other files, is the bcd registry. The Vista IPL called this partition’s boot sector which in turn executed bootmgr.

For grub to chainload to Vista, it must be able to call this boot sector. There should be a jump instruction in the first 2 bytes of the sector; this is what is chainloaded to. But again, if the Vista IPL could call this then ordinarily grub would be able to as well.

I suspect that the grub syntax tried above will not work. The “chainloader +1” will back-reference the preceding root statement, so if the root statement is for a different partition then the chainloader statement must be fully-qualified. So I would try a rootnoverify statement using a known valid partition plus a fully-qualified chainloader statement, thus:

rootnoverify (hd0,7)
chainloader (hd0,0)+1

or


rootnoverify (hd0,5)
chainloader (hd0,0)+1

One would think that the second stanza in post #10 above would work, but we have seen instances where that is not the case. Grub does have a quirk where it sometimes wants a root statement it can understand (even though it won’t use it for the chainload). So one of the above may work.

The grub error message suggests that it is the boot sector chainload that is not working, rather than a failure of the code in that sector. It may be that you can verify the bootmgr is in sda1 with grub, if that Dell FAT partition file system is readable. You can try:

grub
find /bootmgr
quit

Grub should return (hd0,0). To check whether the other needed files are there, try mounting that partition:

mkdir /mnt/sda1
mount -t vfat /dev/sda1 /mnt/sda1
cd /mnt/sda1
ls

You can also check the contents of the boot sector, at least to verify that Vista is still there:

dd if=/dev/sda1 of=pbrsda1 bs=512 count=1
xxd pbrsda1

You should clearly see text saying stuff like “BOOTMGR is missing. BOOTMGR is compressed” - that tells you the sector is still installed.

If still no joy, you have two choices I can see. The first is to create a 4th primary partition (you only have 3 now) and re-install Vista using it as Vista’s “system volume” (the volume where bootmgr and bcd live); you could still use sda8 for the Vista OS. Given your current layout, that would be complicated if not risky to do.

The other choice would be to use Vista to manage the boot instead of grub. There is a tool called EasyBCD which is excellent for this purpose. If everything is still in sda1 as Vista needs it, all that probably is required is to put a generic IPL in the MBR. YaST should be able to do that for you, but if it won’t, this will:

dd if=/usr/lib/master-boot-code of=/dev/sda bs=440 count=1

Otherwise you’ll have to use the Vista RE (Recovery Environment) to restore the Vista IPL. (Ordinarily a generic IPL will boot Vista, but there are some features of Vista which use byte 440-446, i.e., sometimes the Vista IPL is required.)

Hope that helps.