UUID conversion fails to handle separate /boot

Bug #285269 reported by Mike Wescott on 2008-10-18
20
This bug affects 1 person
Affects Status Importance Assigned to Milestone
grub (Ubuntu)
High
Unassigned
Intrepid
High
Unassigned

Bug Description

Using any of mini.iso (intrepid), ubuntu-8.10-beta-alternate-i386.iso, or ubuntu-8.10-beta-server-i386.iso on a clean disk, at the partitoning step I manually create an ext3 partition for /boot, a swap partition, and another ext3 partition for root. The installation goes fine but gives "error 15" from grub on the reboot.

Looking at the menu.lst file, the grub root disk is specified by "uuid" and this points to the wrong partition, i.e. the / partition and not the /boot partition.

The ubuntu-8.10-beta-desktop-i386.iso image doesn't have this problem, but then again it uses the "root (hd0,0)" line in menu.lst rather than the "uuid ..." line.

Mike Wescott (wescott) wrote :

Looks like the bug is in the grub package, in the shell script update-grub.

Attached is a patch that fixes this problem.

Hauke (hauke-m) wrote :

I have got the same problem with the daily build alternative cd 200810171.

Changed in grub:
status: New → Confirmed
Michael Chang (thenewme91) wrote :

@Mike Wescott: I don't think that the comment was incorrect per se... I think it refers to a "drive" in the sense that a "partition" is a "drive". Also, a debdiff[0] is, as far as I know, the generally accepted form of a patch, and once one is created you can then ask for your fix to be sponsored [1].

Otherwise, I plan on reinstalling later this week on a few machines... if I get the chance I'll try your patch out.

[0] https://wiki.ubuntu.com/PackagingGuide/Recipes/Debdiff
[1] https://wiki.ubuntu.com/SponsorshipProcess

Hauke (hauke-m) wrote :

I have installed today with 20081021.3 and the bug looks like it is fixed. I had no problems installing ubuntu on an encrypted partition with extra boot partition.

Colin Watson (cjwatson) on 2008-10-21
Changed in grub:
importance: Undecided → High
status: Confirmed → Triaged
milestone: none → ubuntu-8.10
Dustin Kirkland  (kirkland) wrote :

LP branch lp:~kirkland/grub/285269 linked to this bug report. Tested, fixes the install situation described in the report, and regression tested against the standard install (just / and swap partitions).

Requesting main sponsorship.

:-Dustin

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package grub - 0.97-29ubuntu45

---------------
grub (0.97-29ubuntu45) intrepid; urgency=low

  [ Dustin Kirkland ]
  * grub-install: grab the appropriate UUID for the disk providing /boot,
    whether on its own partition, or on / (LP: #285269); thanks to
    Mike Wescott for the patch.

 -- Steve Langasek <email address hidden> Tue, 21 Oct 2008 17:06:18 -0700

Changed in grub:
status: Triaged → Fix Released
John Lee (leej-logica) wrote :

I'm too am getting this error 15 so I cannot now get my intrpeid to boot, after I used the ubuntu update manager a few days ago to update my intrepid ibex. It looks as if I need a new version of something -grub? to fix it, but not being a linux expert, I'm not sure how to install this given I can't start ubuntu.

I do have access to the ibex disk from win xp - can I use win xp to down load the new stuff onto the ibex disk? If so, how? Or is there another way? Using grub?

TIA

Regards John

In grub, go to the entry for Ubuntu. Press e to edit. Go to the first line, press e again and change it in:
root (hd0,0)

(This is if you have /boot on the first partition of the first disk)

Frank

John Lee (leej-logica) wrote :

Thanks.

I've tried this but it does not fix problem - the root in the menu.lst entry for ubuntu is set to (hd0,1), which is, I think the correct settting for ibex (my xp is on hd0,0).

If I select the xp entry in the grub screen it boots xp correctly. I could use the xp system to edit /copy files to & from the ubuntu partition, using the ext2fs driver.

I have access to another system, with a working ibex 8.10 so I could copy the latest upgrade-grub script from the working system. Don't know linux, so which directory is it in?

Any other ideas for a way to make my ubuntu boot, so I can update it?

TIA John

Michael Chang (thenewme91) wrote :

@John: You may want to open a Question on Launchpad Questions for your particular case, so as to avoid creating noise on this bug.

In response to your query: Try hd(0,4) or hd(0,5) -- if you created a "logical" partition, the partition numbers start at 4 (counting from 0, e.g. hd(0,4)) or 5 (counting from one, e.g. sda5). Basically you need to give grub the ID of your separate /boot, not of the root ubuntu partition itself.

Alternatively, if you can boot the Live CD mode of the installer, you can mount your new install and do a "chroot" into the install, and then run the update from the command line to install the new grub packages. Then you can run update-grub.

One other thing -- if you have a copy of the old menu.lst file (perhaps called menu.lst~ or something) in /boot/grub (if you have a seperate /boot, look for a small ext partition with a folder called "grub" in it) -- you can try moving the current menu.lst to something like menu.lst.broken and then copying the old menu.lst back in place. Note that this will likely put you back in the hardy kernel instead of the intrepid one, so you will want to run a dist upgrade again once you get it to boot.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Patches