As you can see, I have a separate /boot partition which holds GRUB and the various kernel images (initrd/vmlinuz). As long as I was using GRUB 0.97-29, I did not have any problems.

Now this is what I did to mess it up:

1) I booted from the Ubuntu 9.10 Alpha alternate (text-install) CD

2) Using the debian system installer, I set up /dev/sda9 to be LVM-over-encrypted_volume. This device will be mounted to /

3) Using the debian system installer, I set up /dev/sda10 to be LVM-over-encrypted_volume. This device will be used as encrypted swap

4) I selected the existing /dev/sda1 ( /boot ) to be mounted as /boot.

5) Once the devices set up, the installer started by installing GRUB. It detected that a legacy GRUB was on /dev/sda1 and asked me if I wanted to write over it with GRUB2 (1.96). A dialog with an empty line (which should have a command in it) showed up. The dialog presented the following message:

==
[!] Configuring grub-pc
The following linux command line was extracted from the kopt parameter in GRUB Legacy's menu.lst. Please verify that is is correct and modify it if necessary.

[ ]
<Go Back> <Continue>
==

Afterwards, the installation went through, and I was able to reboot into my new Ubuntu 9.10 alpha installation. The problem happened when I rebooted and attempted to go into my old 9.04 installation on /dev/sda1. It seems that when GRUB2 generated grub.cfg from the legacy menu.lst, it did not copy UUID information properly into the new syntax. The GRUB legacy script assumes that because I set up a LVM, that now all devices are on the LVM managed, when I don't think that they are.

I cannot boot into Ubuntu 9.04 which is the problem I would like to resolve. When I select a kernel from Ubuntu 9.04, I just get a blinking underscore in the top left corner. Here is a line from the backed up legacy menu.lst followed by that same line in the new grub.cfg after being imported:

This bug was created so that hopefully, the detection and generation of grub.cfg from legacy menu.lst does not mess up like this. Help to allow me to boot into 9.04 would also be appreciated. I hope that I have provide enough information to diagnose the issue.

Every time a new kernel is installed in karmic, the entire grub.cfg is regenerated, making that my changes do not count. Because of that, I cannot boot easily into Jaunty, because the karmic's GRUB keeps thinking that the Jaunty partition is LVM managed.

As well I would recommend that the following lines in grub.cfg be commented out as they block me from getting to the GRUB menu:
### BEGIN /etc/grub.d/30_os-prober ###
if [ ${timeout} != -1 ]; then
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep --interruptible 3 ; then
set timeout=0
fi
fi
fi
### END /etc/grub.d/30_os-prober ###

Also, every time a new kernel is installed in karmic, I need to modify the grub.cfg to the following to be able to boot into Jaunty:
==
menuentry "Ubuntu, Linux 2.6.28-13-generic" {
set root=(hd0,1)
search --no-floppy --fs-uuid --set 1768a7ec-e0ce-8fa4-814b-2e628de7c2b2
linux /vmlinuz-2.6.28-13-generic root=UUID=e1b20064-8204-4150-be5e-83bd537defc8 ro quiet splash
initrd /initrd.img-2.6.28-13-generic
}
==

komputes@karmic:~$ sudo os-prober
sudo: os-prober: command not found
komputes@karmic:~$ sudo -s
root@karmic:~# os-prober
The program 'os-prober' is currently not installed. You can install it by typing:
apt-get install os-prober
os-prober: command not found

I think I have experienced another facet of this bug. I had Jaunty installed in /dev/sda with a separate /boot partition. When I installed Karmic on another partition (also on /dev/sda) and *not* using the /boot partition for Karmic, the resulting grub.cfg created entries for Jaunty that ignored the separate /boot partition. In other words, In other words, it produced:

This was on the Karmic beta Desktop CD as of 2009-10-06. Following work around (which will require manual editing of grub.cfg every time I run 'update-grub on Karmic) I installed grub-pc on Jaunty and found that it did appear to produce grub.cfg compliant with a separate /boot partition when run from that installation. I'm not certain that the Jaunty grub.cfg is correct for Jaunty (which does not use the /boot partition.) It produced the entry:

The same happens if the former jackalope-install used sda1 for grub and kernels and lvm /dev/mapper/ubuntu-jackalope for root.
it just assumes that all old systems boot from the new /dev/mapper/ubuntu-lucid even if it corrctly guesses the labels.