Trouble booting Linux/Windows with Grub

Okay I updated my Suse from 9.2 to 11.0 yesterday.
However, I’m having issues with Grub. At the moment I can only boot from the disk if I use the DVD. If I don’t use the DVD, I get stuck at the grub command shell, and can’t boot anything.

Here’s the output of fdsisk -lu:

Disk /dev/sda: 36.0 GB, 36000000000 bytes
255 heads, 63 sectors/track, 4376 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x32c032bf

Device Boot Start End Blocks Id System
/dev/sda1 2 1889 15165360 f W95 Ext’d (LBA)
/dev/sda2 * 1890 4376 19976796 c W95 FAT32 (LBA)
/dev/sda5 2 69 546178+ 82 Linux swap / Solaris
/dev/sda6 70 797 5847628+ 83 Linux
/dev/sda7 798 1889 8771458+ 83 Linux

Disk /dev/sdb: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x85e87466

Device Boot Start End Blocks Id System
/dev/sdb1 2 38913 312560640 f W95 Ext’d (LBA)
/dev/sdb5 2 38913 312560608+ 7 HPFS/NTFS

Disk /dev/sdc: 122.9 GB, 122942324736 bytes
255 heads, 63 sectors/track, 14946 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xf9ddf9dd

Device Boot Start End Blocks Id System
/dev/sdc1 * 1 1010 8112793+ b W95 FAT32
/dev/sdc2 1011 14946 111940920 f W95 Ext’d (LBA)
/dev/sdc5 1011 4730 29880868+ b W95 FAT32
/dev/sdc6 4731 10610 47231068+ b W95 FAT32
/dev/sdc7 10611 14946 34828888+ b W95 FAT32

Here’s my menu.lst:

Modified by YaST2. Last modification on Sat Oct 18 20:22:27 MST 2008

default 0
timeout 8
gfxmenu (hd1,5)/boot/message

###Don’t change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.0 - 2.6.25.16-0.1
root (hd1,5)
kernel /boot/vmlinuz-2.6.25.16-0.1-pae root=/dev/disk/by-id/scsi-SATA_WDC_WD360GD-75GWD-WMAH91258445-part6 splash=silent showopts
initrd /boot/initrd-2.6.25.16-0.1-pae

###Don’t change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe – openSUSE 11.0 - 2.6.25.16-0.1
root (hd1,5)
kernel /boot/vmlinuz-2.6.25.16-0.1-pae root=/dev/disk/by-id/scsi-SATA_WDC_WD360GD-75GWD-WMAH91258445-part6 showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off x11failsafe
initrd /boot/initrd-2.6.25.16-0.1-pae

###Don’t change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.0
root (hd1,5)
kernel /boot/vmlinuz-2.6.25.16-0.1-pae root=/dev/disk/by-id/scsi-SATA_WDC_WD360GD-75GWD-WMAH91258445-part6 splash=silent showopts
initrd /boot/initrd-2.6.25.16-0.1-pae

###Don’t change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe – openSUSE 11.0
root (hd1,5)
kernel /boot/vmlinuz-2.6.25.16-0.1-pae root=/dev/disk/by-id/scsi-SATA_WDC_WD360GD-75GWD-WMAH91258445-part6 showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off x11failsafe
initrd /boot/initrd-2.6.25.16-0.1-pae

title Windows
rootnoverify (hd1,1)
makeactive

and for grins, here’s my device.map:

(hd1) /dev/sda
(hd0) /dev/sdc
(hd2) /dev/sdb

I’m having issues booting both my linux and windows partitions.
Any help would be great.

HI and welcome to the Forums.

OK you can repair windows boot but I suggest you repair Suse boot first and windows second. This might repair the Suse boot:

Assisted Boot into openSUSE: Insert Suse’s installation CD/DVD and reboot the computer. On the boot screen choose to “Repair Installed System”. Wait for three choices and select “Expert Tools”. Then click option “Install New Boot Loader”. Select the partition where you installed Suse (if asked). You’ll get the Grub GUI setup screen. Check under the Tab “Boot Loader Installation” that the checkmark is in “Boot from Master Boot Record” and remove any other checkmarks. Click “Finish”. Wait for message “The boot loader was installed successfully”. Click OK → Next → Finish. Ignore any error messages and reboot.

Quotation is from here:
GRUB Boot Multiboot openSUSE Windows (2000, XP, Vista) using the Grub bootloader.

A few additional questions re windows:
Which partition is windows bootloader files on? (I guess sdb1). What version of windows? Was it a straightforward install?

Great tutorial noticed a small typo

Step 2 - Reinitialise and Reinstall Grug

Geoff

I was probably as thunk as some drinkle peep I am

… lol!

Okay I tried re-installing Grub using the Repair Installed System. Only the install to MBR was checked, but still no go. It just boots to the grub shell and then I get stuck. I try to boot it from there but I end up getting error 17. The one thing I’ve noticed is that in my device.map, /dev/sda is hd1, but in the grub shell it seems to be hd0.

The windows partition should be /dev/sda2

There might be some unusual partitions on sda that has me perplexed. Have you got logical partitions?
Calling for reinforcements from others – @mingus725 views?

Here’s the latest.

From the Grub shell I figured out to boot windows with:
rootnoverify(hd0,1)
chainloader(hd0,1) + 1

but I still haven’t figured out how to boot linux with out using
the DVD. If I use the DVD and select boot from disk, I can boot my linux install, but it’s still a no go from the grub shell.

The thing I don’t understand is in order to boot from disk (Using the DVD), I need to reference the linux partition as (hd1,5). But with no DVD at the grub shell it’s seems that grub want’s to use (hd0,5), (Using tab completion). However this gives me error #17.

My 2c…

Did you change the boot order of the drives within the BIOS at all? That will cause problems. It may be worth reinstalling grub again.

Don’t want to convolute or confuse your problem here, but I found an interesting grub discussion here that may be relevant.

@bmtpolo -

Is it possible for you to do this:

Boot from the hard disk (no DVD). At the grub menu, press the Escape key, click OK to enter Text Mode, then press “c” to enter the grub shell, then do the following, note output, post back here:

find /boot/grub/stage2

Then reboot with the DVD into Rescue Mode. Login as root, and do following, note output, post back here:

grub
find /boot/grub/stage2
quit

Finally, go into your bios setup and find the boot device sequence configuration. Post back here the order of the disks.

In the first case from a boot (No DVD) at the grub shell.
find /boot/grub/stage2 → Error 15: File Not Found

In the second case grub shell from rescue boot
find /bood/grub/stage2 → (hd0,5)

I haven’t changed any BIOS settings in a long time.
Anyway here are the settings that matter.
The boot order is set to 1)CDROM 2)Floppy 3)SCSI
Then when I got into the SCSI Driver on boot.
The primary scsi disk (36GB) is the disk located at /dev/sda.
The secondary scsi disk (320GB) is the disk located at /dev/sdb.
Then the third disk (122GB) (/dev/sdc) is an IDE drive.

Boot from the DVD into Rescue Mode, login as root. Enter the grub shell and do:

root (hd0,5)
setup (hd0) (hd0,5)
quit

Grub stage1 has now been reinstalled to the MBR with a pointer to sda6 to find its stage2 loader. Reboot. Grub will fail to find its graphical display, and will drop you to a text mode menu. You will not be able to boot from the menu choices because they are referencing the wrong partition. So highlight the first entry, press “e”, highlight the “root” line, press “e”, change (hd1,5) to (hd0,5), press Enter, press “b”. After booting into openSUSE, run a text editor as root and fix /boot/grub/device.map and /boot/grub/menu.lst.

Okay that worked :). So thank you to all who replied (mingus725). I do have one other minor question. Grub is showing the text screen instead of the graphical screen. It’s not a big deal, because I can still boot. If there are any ideas. I haven’t tried looking at it yet.

You’re welcome. Glad we could get it working. :slight_smile:

Re the graphical screen: You probably missed editing this line in /boot/grub/menu.lst:

gfxmenu (hd1,5)/boot/message

It also needs to be changed to (hd0,5). That should take care of it.