[Bug 376879] Re: grub2 installer modifies grub 0.97 menu.lst incorrectly and fails to chainload grub2

Andy Whitcroft apw at canonical.com
Fri Jun 18 21:18:29 BST 2010


** Changed in: grub2 (Ubuntu Jaunty)
       Status: In Progress => Triaged

** Changed in: grub2 (Ubuntu Jaunty)
     Assignee: Andy Whitcroft (apw) => (unassigned)

-- 
grub2 installer modifies grub 0.97 menu.lst incorrectly and fails to chainload grub2
https://bugs.launchpad.net/bugs/376879
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is a direct subscriber.

Status in “grub2” package in Ubuntu: Fix Released
Status in “grub2” source package in Jaunty: Triaged

Bug description:
Binary package hint: grub2

Discovered on Jaunty and Karmic. After installing grub2, it modifies the currently installed grub 0.97 menu.lst configuration file to chainload grub2 to allow one to test grub2 before committing to it as the default boot loader. 

However, grub2 modifies the menu.lst entry and adds the incorrect command to select the partition to boot from to chain load grub2. It uses:

root   7cce46fe-4883-44bb-939b-58b9483f2739

and should be:

uuid  7cce46fe-4883-44bb-939b-58b9483f2739

I suspect it was originally correct before grub 0.97 has UUID support added.

Attached: png of the failed boot, and a png showing the erroneous partition selection command.

===

SRU Justification for Jaunty

Impact: when upgrading from grub to grub2 selecting the chainload mode (the default) the user ends up with an unbootable legacy configuration.  They can edit their entries and get booted but the fix is not at all obvious to the naieve user.

Fix Description: Correctly use the uuid or root keywords based on the current type of the 'groot' specified.  We pick up the selector directly from grub to ensure it behaves in the same manner.

Patch: http://launchpadlibrarian.net/26764672/grub2-karmic-fix-legacy-use-uuid

Risks: we do modify the legacy configuration script converter, which might introduce other errors.  However the current output is completly unbootable.

TEST CASE: install grub2 selecting chainload on a system which uses 'groot <uuid>', reboot and find entries have 'root <uuid>' and will not boot producing 'Unknown device specifier' errors.





More information about the Ubuntu-sponsors mailing list