triple boot probs

I started off with a smooth dual boot Vista/Ubuntu on my Dell 1537 but for some reason I couldn’t let go of the idea I had to have openSUSE as well.
Anyway, I’m typing this on the Dell using OSuse so that’s working ok.
In the installation process the Grub got stuffed somewhere.
In short: I’m unable to start ubuntu and Vista.

Choosing Vista from the Grub ends in a reboot,
choosing Ubuntu ends up in a “kernel boot/vmlinuz [kernel#] generic [UUID#] etc” error 15 not found.

I tried adjusting the bootloader in Yast but to no avail. Suggestions/ideas/free beer?

Post the su terminal output of:

fdisk -l

With this, try and tell us what is what eg; sda1=vista …etc…

cat /boot/grub/menu.lst

here’s me fdisk.

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

Device Boot Start End Blocks Id System
/dev/sda1 6575 19901 107049127+ 5 Extended
/dev/sda2 40405 60801 163838902+ 7 HPFS/NTFS
/dev/sda3 * 1 6574 52805623+ 7 HPFS/NTFS
/dev/sda4 19902 40404 164690347+ 7 HPFS/NTFS
/dev/sda5 13159 19780 53191215 83 Linux
/dev/sda6 19781 19901 971901 82 Linux swap / Solaris
/dev/sda7 6575 13158 52885917 83 Linux

Partition table entries are not in disk order

wtf where does Solaris come from? Nyway the NTFS/sda3 is Vista, the other NTFS partitions are for file storage. SDA1 is extended with Suse and Ubuntu on it, shared swap.

cat /boot/grub/menu.lst

Modified by YaST2. Last modification on Tue Jun 23 13:36:39 EST 2009

default 0
timeout 8
##YaST - generic_mbr
gfxmenu (hd0,6)/boot/message
##YaST - activate

###Don’t change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.1 - 2.6.27.23-0.1
root (hd0,6)
kernel /boot/vmlinuz-2.6.27.23-0.1-default root=/dev/disk/by-id/ata-SAMSUNG_HM500LI_S1HMJ10QC08855-part7 resume=/dev/sda6 splash=silent showopts vga=0x317
initrd /boot/initrd-2.6.27.23-0.1-default

###Don’t change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe – openSUSE 11.1 - 2.6.27.23-0.1
root (hd0,6)
kernel /boot/vmlinuz-2.6.27.23-0.1-default root=/dev/disk/by-id/ata-SAMSUNG_HM500LI_S1HMJ10QC08855-part7 showopts ide=nodma apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe vga=0x317
initrd /boot/initrd-2.6.27.23-0.1-default

###Don’t change this comment - YaST2 identifier: Original name: Ubuntu 9.04, kernel 2.6.28-11-generic (/dev/sda5)###
title Ubuntu 9.04, kernel 2.6.28-11-generic
root (hd0,4)
configfile /boot/grub/menu.lst

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

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

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

Try changing one of the windows entries, the first one say, to this

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

What is with that fdisk -l output. Is that how it came?

Because actually. Vista is on sda1, which for grub is hd0,0

And why all the other windows entries?

I had the same problem when I tried to triple boot with Vista, Ubuntu and Opensuse. I first Installed Vista, then Ubuntu because I wanted to Install opensuse last to keep my GRUB window of opensuse. But due to some reason opensuse wiped out the grub and I was left with blank screen when I started my system. I tried to repair GRUB with opensuse DVD but it did not help.

Then I again installed Ubuntu and then I had the Ubuntu grub screen having Vista, Ubuntu and Opensuse…

Right now I have a dual boot system with Vista and opensuse and the Grub screen is of opensuse and no problems. I do not know what is the problem with triple booting. May be it was my mistake, may be something else…

caf4926 writes:

Because actually. Vista is on sda1, which for grub is hd0,0
I disagree the fdisk output shows Vista on sda3, it is the first physical partition on hdd but the 3rd entire in the Master Partition Table, the only thing that matters for ‘grub’. sda1 is the extended partition entire. Even after getting menu.lst correct , Vista may have problems. The entire titled “windows 2” should be correct.

I did notice under your Suse title: ‘resume=/dev/sda6’ ,I would say that is wrong, being sda6 is the swap partition ? (I do not know just what ‘resume’ is for.)

I could always just be full of hot air.

choosing Ubuntu ends up in a “kernel boot/vmlinuz [kernel#] generic [UUID#] etc” error 15 not found

For ubuntu change this:

###Don’t change this comment - YaST2 identifier: Original name: Ubuntu 9.04, kernel 2.6.28-11-generic (/dev/sda5)###
title Ubuntu 9.04, kernel 2.6.28-11-generic
root (hd0,4)
configfile /boot/grub/menu.lst

to this:

###Don't change this comment - YaST2 identifier: Original name: Ubuntu 9.04, kernel 2.6.28-11-generic (/dev/sda5)###
title Ubuntu 9.04, kernel 2.6.28-11-generic
root (hd0,4)
kernel /vmlinuz root=/dev/sda5 ro quiet splash
initrd /initrd.img
quiet

Resume should point to the swap partition, so it’s OK

Somehow the whole drive has been changed to a single extended partition and vista has been englobed by that.

Actually, Vista is on the sda3 primary, in sectors 1-6574; the partition is marked active. The extended primary is sda1 beginning at 6575 and encapsulates sda7, sda5, and sda6 in that order. sda4 is the third primary.

With this unusual partition numbering, we should look at /boot/grub/device.map to see the partition<>grub alignment. I suggest that file be posted back here.

Also, I don’t think the suggested Ubuntu change will work. AFAIK Ubuntu does not create symlinks to the kernel and initrd files, which the above syntax requires. I would try to keep the current stanza; it may not be working for the same reason as Vista, i.e., grub/partition mis-alignment. Using “configfile” allows kernel updates to be made in Ubuntu, which will change the file names, without having to also make changes in openSUSE’s menu.lst. While symlinks could be created in Ubuntu to enable the above, these would have to be manually re-created with each kernel update.

Question:

title Ubuntu 9.04, kernel 2.6.28-11-generic
root (hd0,4)
configfile /boot/grub/menu.lst

Would not the above use Ubuntu’s menu.lst ?
If so it’s menu.lst might need fixing. I’m thinking Suse might also have changed Ubuntu’s partition # or even moved it.

/boot/grub/device.map

(hd0) /dev/disk/by-id/ata-SAMSUNG_HM500LI_S1HMJ10QC08855

That’s it.

I can’t get the above method to work with Ubuntu of various releases – some quirk perhaps with Ubuntu. I can get the code I recommended earlier to work with Ubu 8 and 9. The code I put down circumvents Ubu’s menu.lst and boots it directly using the Ubu symlinks to vmlinuz and initrd, classical Grub stuff. And once in Ubu, the OP can examine the Ubu menu.lst from there (if the OP wants to revert to the Ubu bootloader rather than openSUSE’s for some reason).

Well I missed that completely, didn’t I. I’ll edit my post so no one else is tempted to believe it.

The symlinks exist in the root directory where I specified them, somewhat different to openSUSE which puts them in /boot. Perhaps that’s why you missed them.

Just to illustrate, I’m at the CLI in my Ubu 9.04 installation, grepping the symlinks in the root directory:

john@ubuntu:~$ ls -l / | egrep "initrd|vmlinuz"
lrwxrwxrwx   1 root root    33 2009-06-19 06:58 initrd.img -> boot/initrd.img-2.6.28-13-generic
lrwxrwxrwx   1 root root    33 2009-04-26 09:38 initrd.img.old -> boot/initrd.img-2.6.28-11-generic
lrwxrwxrwx   1 root root    30 2009-06-19 06:58 vmlinuz -> boot/vmlinuz-2.6.28-13-generic
lrwxrwxrwx   1 root root    30 2009-04-26 09:38 vmlinuz.old -> boot/vmlinuz-2.6.28-11-generic
john@ubuntu:~$

Seems they are there and from the looks o fthe “.old” file extensions, they get updated as the kernel is updated.

So the OP is in with a good chance by trying my advice.

For the sake of caution, OP could replace this:

###Don’t change this comment - YaST2 identifier: Original name: Ubuntu 9.04, kernel 2.6.28-11-generic (/dev/sda5)###
title Ubuntu 9.04, kernel 2.6.28-11-generic
root (hd0,4)
configfile /boot/grub/menu.lst

with this:

[QUOTE]###Don’t change this comment - YaST2 identifier: Original name: Ubuntu 9.04, kernel 2.6.28-11-generic (/dev/sda5)###
title Ubuntu 9.04, kernel 2.6.28-11-generic
root (hd0,4)
configfile /boot/grub/menu.lst

###Don’t change this comment - YaST2 identifier: Original name: Ubuntu symlink boot entry###
title Ubuntu 9.04, kernel 2.6.28-11-generic
root (hd0,4)
kernel /vmlinuz root=/dev/sda5 ro quiet splash
initrd /initrd.img
quiet

That’s fully conservative

Indeed, you are right. Sorry about that.

So much for all my input last night. What was I thinkin’?

Well it had me thinking but now I read all your more sensible comments. I ask, how on earth does anyone end up with this (I’m trying to find words…) No, I leave it at that.:open_mouth:

If you are referring to the partition numbering, the numbers are assigned as partitions are created. And moving partitions to create free space in which new partitions are created, will result in those being numbered out-of-sequence.

btw, in my above post, I neglected to include sda2. It is the fourth primary.

@Black_Kelpie -

In the “what was I thinking?” department, you obviously have only one disk so unless device.map incorrectly identified that (unlikely), there would not be mis-alignment at the drive level. I assume you tried all of the grub menu’s Windows entries - the partitions are correctly referenced (“windows 2” points to sda3, so that should boot Vista). That not working with the machine then immediately rebooting, suggests that either the Vista partition boot sector is itself broken and/or the pointer for locating Vista’s bootmgr program is wrong - in either case, the solution is to repair the boot sector. This requires using Vista installation media or a Vista Recovery Disc. If you don’t have that, you can get the recovery disc here Windows Vista Recovery Disc Download. I’m not positive, but it is definitely possible that in repairing the PBR Vista may also write its own code to the MBR, in which case grub will be over-written and you will lose booting openSUSE/Ubuntu. If that happens, you can either reinstall grub using a openSUSE or Ubuntu disc, or you can configure Vista to boot openSUSE which can boot Ubuntu (or the reverse), or you can configure Vista to boot both openSUSE and Vista (if you go for Vista controlling the boot, the website above has an excellent tool for managing that, called EasyBCD).

Ok situation is now that both OSuse and Ubuntu start normally, although one of the suggestion mentioned above…:

###Don’t change this comment - YaST2 identifier: Original name: Ubuntu 9.04, kernel 2.6.28-11-generic (/dev/sda5)###
title Ubuntu 9.04, kernel 2.6.28-11-generic
root (hd0,4)
configfile /boot/grub/menu.lst

It doesn’t work, doesn’t do anything. The alternative does work although booting seems to take a bit longer but I have have to test this.

It was OSuse who suggested the windows1/2/3 entries in the Grub (probably because they’re all NTFS?), because it was the default I left this as it was; evidently two of these entries now result in a “bootmgr missing” and “NTLDR missing” message respectively. The third option (well, actually option “windows 2”) ends in a reboot.
Is reinstalling Grub after the Vista repair not going to stuff up the Vista boot again?

you can configure Vista to boot openSUSE which can boot Ubuntu (or the reverse), or you can configure Vista to boot both openSUSE and Vista

This seems to be a bit overcomplicated, is that the only way?

You could first try repairing Vista boot code and then try using EasyBcd to manage booting from vista: Download EasyBCD 1.7.2 - NeoSmart Technologies

Though re-installing grub after the vista repair should be OK
Instructions here: GRUB Boot Multiboot openSUSE Windows (2000, XP, Vista) using the Grub bootloader.
Like @swerdna I always advocate the grub code on MBR