can't install GRUB to MBR

Hi
I’ve just had to recover an image of my system and need to repair GRUB to the MBR. I’ve been following the advice in this article HowTo Boot into openSUSE when it won’t Boot from the Grub Code on the Hard Drive, but am getting a failure which I can’t get past. I’ve opened a terminal session and entered the following:

linux-9osw:/home/family # grub
Probing devices to guess BIOS drives. This may take a long time.

GNU GRUB  version 0.97  (640K lower / 3072K upper memory)

Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub> find /boot/grub/menu.lst
find /boot/grub/menu.lst
(hd0,0)
grub> root (hd0,0)
root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup (hd0)
setup (hd0)
Checking if “/boot/grub/stage1” exists… yes
Checking if “/boot/grub/stage2” exists… yes
Checking if “/boot/grub/e2fs_stage1_5” exists… yes
Running “embed /boot/grub/e2fs_stage1_5 (hd0)”… 1 sectors are embedded.
succeeded
Running “install /boot/grub/stage1 (hd0) (hd0)1+1 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst”… failed

Error 6: Mismatched or corrupt version of stage1/stage2
grub>

Anyone able to work out what I can do to resolve ?

Thanks

David

What the message is saying is that the problem is not in the MBR but in the versions of GRUB you have on your Linux partition. So you need to reinstall the parts that are on your Linux partition before you can update the MBR pointer.

(There is no point pointing you to a GRUB stage that will not work!)

John

Thanks very much. I can see a couple of immediate options to re-install:

  1. Boot from the live CD and go through the same process as in my original post.

  2. Use the repair function from the installation DVD.

I never bothered to download the DVD, so I’ll try option 1. If there are other options I should consider, I would welcome your suggestions
Thanks

David

Well the live CD option didn’t work. Gave me the same error as before. I’m just wondering if this has been made complicated because the image I’ve rebuilt the machine from was hibernated at the time. So I can restart the computer at the moment, but I can’t reboot it. Is this screwing up my attempts to reinstall GRUB?

This is a stab in the dark but my assumption would be that the rescue DVD would get you far enough to be able to start YaST in command line mode and ask YaST to delete and then reinstall GRUB after which you could revert to the first procedure you were following and not get an error message.

But there are almost certainly better qualified members of the forum who might help you in this.

Try the install DVD and select to boot the installed system as outlined in the tutorial you referenced at the beginning.

I have a feeling you might run into problems because your entire Grub looks nuts according to this message: “Mismatched or corrupt version of stage1/stage2”

But try booting into it that way and see what happens.

Thanks for the advice. I’ll give it a try. Just as a matter of interest, is there a way to delete the current installed grub off the disc ? I was looking for a way of doing this last night but wasn’t able to work it out. I’m now very familiar with using both a terminal session and Yast / Bootloader for trying to resolve grub issues. So any method of deleting grub using either approach would be useful to know about. I figure if I can kill it completely then it might be easier to re-install it.

Thanks

David

I haven’t tried that, ever. But If I had to I would do this: I would take the offending files out and save them somewhere. Then I would goto Yast software module and find grub rpm and right click → select force update. That should reinstall it. Then In Yast bootloader module I would select to “Other” → “Propose new configuration”

sadly been unable to resolve on that restored image. Used a slightly older one to restore from and didn’t even have to change grub at all for it to work straight away. Only difference was that failed restore was from a hibernated system. I wonder if that was the problem all the time …