GRUB error 17 in fase 1.5

Installed openSUSE 11.0 on a system with windows XP. Can’t boot at all, only see the text GRUB stage 1.5, Grub error 17, so I write down here what I found using the Rescue boot from the DVD.

From fdisk -l
disk sda:
sda1 ext2, the 'restore partition from the manufacturer (restore window’s from an ext2! hehehe)
sda1 W95 FAT32 the XP system and the * for boot is there.

disk sdb:
sdb1 HTFS a data disc from the XP system
sdb2 Swap for SUSE 11
sdb3 ext3 / for SUSE 11
sdb4 /home for SUSE 11

Now for menu.lst (on sdb3 of course):
All things point to (hd1,2) which is correct, but it seems that GRUB cannot even find hd1,2/boot/message.
Only for XP it point to chainloader (hd0,1)+1, which is also correct imo.

My conslusion: the MBR is at disk sda/hd0 and GRUB cannot find things on sdb/hd1. Is this correct, and how to remedy.

Thanks in advance.

First let’s see how much of Grub got installed. Please go back and start “Rescue System” item on the boot and at prompt after root login please enter grub.

Then this: find /boot/grub/stage1
You should get (hd1,2) – do you?
and if you enter find /boot/grub/stage2 or find /boot/grub/menu.lst you should get exactly the same: (hd1,2) – do you?

Also try find /boot/message – it works for me. Or did you mean that you tried that and that’s what failed for you, and that’s where your Grub is broken?

Hello swerdna

Thanks for trying to help me,

The system is with a friend of mine which I try to lure into Linux. Nice luring when the system does not boot anymore :slight_smile: .

The installation went normal and the first reboot (after product install and before system configuration) was OK. Then after showing some things to him in KDE we wanted to stop for the day and I said: OK let us reboot in XP so you see how that works and you can cary on tomorrow with XP. Then I did not get the bootmenu, but the GRUB loading stage 1.5, error 17.

I loaded the DVD and choose the rescue system. I mounted /dev/sdb3 (the / partition of SUSE) and inside /boot/grub everything looks normal. I am not at the system now (will take me 10 mins of bicycling and hoping he is at hope), so I can not swear everyting is in /boot/grub, but I did ls -l there and the lenght of it was normal to what you normal see.

I even tried to repair by editing things(some wild guesses) in /boot/grub/menu.lst, but failed.

I suppose that it has something to do with the MBR being on sda/hd0 and /boot/grub being on sdb/hd1.

BTW This morning (after startiing this thread) I ‘repaired’ his MBR wih an XP CD, so he can work now. But of course GRUB, the boot menu and SUSE are even more unreachable now.

Hi

I need to write a “five ways to boot openSUSE 11”.

If you have the install DVD couple of ways. This one also assumes the menu.lst that you modified is still good and that sdb3 is the place of interest:
Boot off install DVD and select Rescue System → login → enter these commands:

grub
root (hd1,2)
setup (hd0)
quit
reboot

That should get the menu.lst of sdb3 displayed while booting. If you brole menu.lst you can still boot openSUSE from that screen like this:
art the screen with the broken menu.lst do this:
press escape → that should get text mode
press c → that should get grub command line.
enter these commands:

root (hd1,2)
kernel /boot/vmlinuz
initrd /boot/initrd
boot

That should egt you into openSUSE 11. There you can do this to restore the bootloader properly: here’s a quote:

Reinitialise and Reinstall Grug: Once Suse has fully booted and settled down, go to Yast → System → Boot Loader. The Grub configuration screen comes up with the Tab “Section Management” activated. In the lower right is a drop-down selector labelled “Other”. Select from “Other” the option “Propose New Configuration” and then wait for Grub to analyse your partitions and display a new configuration. This may take a while. Important: When that finishes, activate the tab labelled “Boot Loader Installation” and select to “Boot from the Master Boot Record”. [Yast will often default to booting from the root or boot partition rather than from the MBR but that’s for experts only – always choose the MBR.] Then click Finish to save the changes and install the reconfigured Grub into the hard drive’s MBR. If you get a message that "The bootloader boot sector will be written to a floppy disk … don’t bother with the floppy – just click OK to proceed and install to the MBR. Reboot and you should be able to boot to openSUSE using the Grub menu screen. Frequently you can also boot to Windows after completing this step.

When winows is on (hd0) and Suse is on (hd1) Yast gets the windows segmenyt wrong. It will look like this in menu.kst:

###Don’t change this comment blah blah###
title blah blah
rootnoverify (hd1,2)
chainloader (hd0,0)+1

Change the (hd0,x) both to the windows bootloader partition on hd0, probably (hd0,0). It’s the partition where lies the file boot.ini
(watchout the perms of menu.lst are rw-------, use e.g. kdesu kwrite or gnomesu gedit).

Hello and good morning (from here),

I will try to go to the system this morning and report back later.

This one also assumes the menu.lst that you modified is still good and that sdb3 is the place of interest

Of course did I make a backup of menu.lst before my editing in rescue mode, and I even restored it after my tests. I am an old hand and sometimes I am still awake :slight_smile: . menu.lst in principle is OK, al entries are there and look fine.

I will go to the system now and try all your suggestions. As said, I will report back.

I am now at the culprit and boot with the DVD into rescue mode. did:
grub
root (hd1,2)
and grub answered:
Filesystem is ext2fs, partition type 0x83
This is strange because the fstype is ext3 not ext2!
Then:
setup (hd0)
Grub tested if stage1, stage 2 and e2fs_stage1_5 existed in /boot/grub … yes
Grub then:

Running embed /boot/grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded.
succeeded
Running install /boot/grub/stage1 d (hd0) (hd0)1+15 p
 (hd1,2)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.

Then quit grub and reboot.

Result:

GRUB Loading stage 1.5
GRUB loading, please wait...
Error 17

So I restored my original situation (before I used the XP CD to write an MBR to make XP boot only possible).

As error 17 is about an fs problem is that about grub thinking it is ext2, while it is ext3?

I rescue booted again and looked in /boot/grub. There are a lot of *_stage1_5 files (among them e2fs_stage1_5), but no e3fs_stage1_5. Now it may be that for grub there is no difference between ext2 and ext3 because grub has only to read a few files during boot.

On the other hand:
I did the following:


# grub
grub> root (hd1,2)
Filesystem is ext2fs, partition type 0x83
grub> kernel /boot/vmlinuz
Linuz-bzImage, setup=0x3000, size=0x204a80]
grub> initrd /boot/initrd
Error 16: inconsistent filesystem structure

Which again points to an problem with the ext3 not being understood by grub.

The ext2 thing is OK – grub is very old.

The error16 in the quote box imediately above os because you ran that stuff from the rescue system. But you can’t run that particular one from the rescue system. You have to run that particular one by interrupting the menu.lst screen you get at the first stage of the boot process when Grub and only Grub has been loaded (not a live distro like “Rescue System”).

But since you’ve reinstalled the windows bootstrap code in the MBR you can’t get the menu.lst screen up in first stages of boot to run the code we’re talking about.

Recall that I said to do this:

art the screen with the broken menu.lst do this:
press escape → that should get text mode
press c → that should get grub command line
etc
etc
etc

Well you can’t do that from the “Rescue System”.

So you’re in a tunnel to nowhere, accellerating.

I suggest you try the last gasp procedure, which is to load the install media again and … reinstall the bootloader using method 226 … here’s a quote:

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. That should install an elementary Grub and allow you to boot to openSUSE

That will overwrite the windows bootstrap stuff but you know how to fix that if necessary. If the above gets you in then reinitialise menu.lst to get a full range of grub choices, including windows – here’s a quote:

go to Yast → System → Boot Loader. The Grub configuration screen comes up with the Tab “Section Management” activated. In the lower right is a drop-down selector labelled “Other”. Select from “Other” the option “Propose New Configuration” and then wait for Grub to analyse your partitions and display a new configuration. This may take a while. Important: When that finishes, activate the tab labelled “Boot Loader Installation” and select to “Boot from the Master Boot Record”. [Yast will often default to booting from the root or boot partition rather than from the MBR but that’s for experts only – always choose the MBR.] Then click Finish to save the changes and install the reconfigured Grub into the hard drive’s MBR. If you get a message that "The bootloader boot sector will be written to a floppy disk … don’t bother with the floppy – just click OK to proceed and install to the MBR. Reboot and you should be able to boot to openSUSE using the Grub menu screen, including a windows option.

Remember Yast will get windows wrong and you edit the correction into menu.lst as discussed earlier.

If that fails --???

I am home again (after restoring the MBR to XP so my friend the victim can work).

The ext2 thing is OK – grub is very old.

I already thought that for GRUB there is not much difference between ext2 and ext3, but you confirmation is welcome (in these encertain times :slight_smile: )

The error16 in the quote box imediately above os because you ran that stuff from the rescue system. But you can’t run that particular one from the rescue system. …

I realised that, but thought I might give it a try and then after seeing it accepting the kernel, but rejecting initrd I thought it would be wise to report it.

I suggest you try the last gasp procedure, which is to load the install media again and … reinstall the bootloader using method 226 … here’s a quote:

Quote:
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. That should install an elementary Grub and allow you to boot to openSUSE
That will overwrite the windows bootstrap stuff but you know how to fix that if necessary.

I will try this one also, but I am afraid that it does do the same as your setup (hd0): restoring to the problem.

Repairing menu.lst will not be a problem, but getting there :confused:

Now a planning problem, as I said I am home again and this afternoon (it being 12:35 here now) my friend is gone. On day after towmorrow we go on vacation. I do not know if I have the opportunity to try method 226 before that. But I will at least after being back (18 august).

ext3 is just ext2 + journal. Since the journal is not relevant when GRUB is running (all it wants to do is read a file off the partition), for the purposes of GRUB ext2=ext3.

A confirmation of the comfirmation (and exactly as I tried to explain to my friend, as you want to keep up as a Linux guru :stuck_out_tongue: ). Thank you ken_yap.

BTW:

grub> initrd /boot/initrd
Error 16: inconsistent filesystem structure

doesn’t look good. According to info grub:

This error is returned by the filesystem code to denote an internal error caused by the sanity checks of the filesystem structure on disk not matching what it expects. This is usually caused by a corrupt filesystem or bugs in the code handling it in GRUB.

which means it might be an idea to run fsck on the partition.

Have a great holiday – nearly a month – they treat you well in Eu.

Regarding editing menu.lst – you can do that from “Rescue system” with vim. But I think I can see a possible reinstall in your future when you return. http://www.swerdna.net.au/forumpics/smiley/laugh.gif

Maybe we work harder, so we earn it :wink: (not to forget that I am retired, so I could go longer except for the budget :mad:). And thanks for the good wishes.

As soon as I can boot to the menu I am satisfied. Editing menu.lst, either from the rescue or from a console is no problem for me. First used vi about 25 years ago (that expirence made me retire so early).
Re re-install: the idea came to my mind, but as long as I do not know where I would do different during the install I would most probably end up with the same result. That is how computers work, very good in repeating the same thing over and over again.

I am back from been away, but during holiday I still thought about this problem :(.

Today I went at it again. To recap:

The system has two harddisks:

  1. The first disk had XP loaded on the second partition. I found out that the first partition was a recovery for an earlier ME system. During installation that first partition was described by the installation partitioner as type 0x83 (Linux) and the filesystem as ext2! Indeed (during my later struggle) I could mount it as ext2 in the rescue system and it contained one file windows.tar.gz. (besides lost+found).
  2. The second disk was all one big data partition.

After installation the first disk was not touched. On the second disk the data partition was shrinked and a swap, root and home partition were created to fill it. First boot during installation went OK.

After installation when booting we got:

GRUB Loading stage 1.5
GRUB loading, please wait...
Error 17

Now all sorts of save and sound advice was given as you may read in the posts above. Until today the only thing I managed to do was restoring the MBR to boot XP (XP rescue) and going back to the Error 17 situation by using the SUSE rescue DVD and doing the grub statements:

root (hd1,2)
setup (hd0)

The output from these where as expected: all normal and OK.

Coming back from holiday I found a thread on this forums where somebody mentioned the grub statement:

find /boot/grub/stage1

Using this I got:
floating point exception
Now that is very strange :X

I then tried to solve the situation by using the rescue partition (sda1) as a seperate boot partition. I copied all contents of boot in the root partition to it and then started grub:

root (hd0,0)
setup (hd0)

On the first one I got a normal response, but the setup gave me a floating point exception again!.

This brought me to the point where I mistrusted the ext2 fs on sda1. I got permission to destroy the ME windows.tar.gz and did an mkfs to generate the fs anew. and copied the boot files to it again.
The grub find statement now did find both /boot/grub/stage1 files (no floating point exception anymore). And then setup of root (hd0,0) did go OK also.

Tried to boot and the menu screen poped up lol! Choosing Linux we got an error from the BIOS saying that the cylinder number was out of range. **This must be the cause of the original error! **

But now, by changing the several (hd1,2) in menu.lst to (hd0.0) that was also remedied.

Thanks to all who contributed a month ago and I hope the story above may help increasing your knowledge :stuck_out_tongue:

Well done. As for me, I see it like this - :eek:
Can you apply your new skills to this problem:
Unable to boot into windows without linux! - openSUSE Forums
It’s a bit similar in that it’s also a drive-2 situation.

Hello Swerdna,

Nice you tuned in again.

Well I saw this thread a few days ago and your suggestion about a small partition with /boot on the first disk was material in my ultimate solution. I first thought about a fresh install with shrinking the ‘C’ on sda a little bit for /boot and leaving the usage of sdb as it is. But then the 1 GB partition for the Windows ME rescue seemed to be a better solution because no reinstall was needed, only copying (using the rescue DVD). (the ‘broken’ ext2 on that rescue partition did spoil all a little, but that was overcome by fsck).

Now about “Unable to boot into windows without linux! - openSUSE Forums” (and there is a similar one about this ‘external disk’ usage the same time). This of course is the consequence of people thinking that an external disk is conceptual different from an internal one. Maybe for ones eyes it is, but for the software it is not. So when you place essential things on it … problems for him who detaches it!

Now for this case, I will try to do a suggestion about the installation in a post to that thread.

Regards,