Comment 10 for bug 551790

Revision history for this message
Bill Wayson (bwayson) wrote :

I believe I have a similar related issue. I first experienced this issue in 10.10 (but that was the first version where I my current mount configuration of mounts), and it persists in 11.04.

My setup: Ubuntu's root (/) is on one partition, and Ubuntu has a separate /boot partition. On the same PC, I have openSUSE (11.4, but I do not think that matters here) installed with its root on a third partition, and its separate /boot on a fourth partition. Under Ubuntu, openSUSE's root is mounted under /opensuse, and openSUSE's /boot is mounted under /opensuse/boot. These mounts occur automatically when Ubuntu starts. Ubuntu's grub2 is the boot manager that the PC boots into. I have very similar dual-boot and mount configurations on two other PCs, and both experience the same issue.

The issue: Whenever Ubuntu updates its grub.cfg through any installation or update, I can no longer boot using the entries in it for openSUSE. (Booting Ubuntu works fine.)

Workarounds: I use two individual workarounds. A) I've manually added a menuentry to /etc/grub.d/40_custom which chainloads directly into openSUSE's grub, which is written to its /boot partition's boot record. B) From an Ubuntu terminal window as root, manually unmount /opensuse/boot, then rerun update-grub. This produces a grub.cfg with working entries for openSUSE.

Discussion: The differences between the good and bad grub.cfg files are confined to the openSUSE entries. Under Ubuntu, when /opensuse/boot is mounted, these entries in the generated grub.cfg file have "set root..." and "search..." lines pointing to openSUSE's root partition. When /opensuse/boot is not mounted, these entries in the generated grub.cfg file have "set root..." and "search..." lines pointing to openSUSE's /boot partition.

Attached is my mount configuration under Ubuntu and the diff output comparing the bad and good grub.cfg files.