Ubuntu's Grub unfriendly to other Linux distros
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub-installer (Ubuntu) |
Invalid
|
Medium
|
Unassigned | ||
ubiquity (Baltix) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: grub-installer
To replicate, do:
1. Install other Linux distro(s) (list I tried below) with boot loader on MBR
2. install Ubuntu, grub on MBR
3. Ubuntu's grub menu.lst won't have entries for other distro(s)
Distros I tried so far:
Slackware 10.2, Zenwalk 2.4, opensuse (latest stable), fedora core 5, frugalware, arch (failed installation)[*], ark (failed installation), openBSD (failed installation)
Setup was as follows:
/dev/hda1 - Windows (refer to bug #1 )
/dev/hda6 - ubuntu (no boot flag) -> recognized by opensuse and fedora...
/dev/hda9 - other distro (no boot flag)
/dev/hda10 - other distro (no boot flag)
Note: if you install ubuntu first and other distros last, grub-install won't see other distros but Windows only...
[*] Failed installation: distro's boot loader got installed but could not boot like others.
As a workaround for this bug, I use the following menu.lst and install distro bootloaders to their /boot folder.
Workaround menu.lst:
-------
# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/
## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not change this entry to 'saved' or your
# array will desync and will not let you boot your system.
default 0
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 10
## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu
# Pretty colours
#color cyan/blue white/blue
## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/
# password topsecret
#
# examples
#
# title Windows 95/98/NT/2000
# root (hd0,0)
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#
#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_
## kopt_2_
# kopt=root=/dev/hda6 ro
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,5)
## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true
## should update-grub lock alternative automagic boot options
## e.g. lockalternative
## lockalternative
# lockalternative
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash
## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=
# altoptions=
## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all
## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true
## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaulten
## ## End Default Options ##
title Ubuntu, kernel 2.6.15-23-386
root (hd0,5)
kernel /boot/vmlinuz-
initrd /boot/initrd.
savedefault
boot
title Ubuntu, kernel 2.6.15-23-386 (recovery mode)
root (hd0,5)
kernel /boot/vmlinuz-
initrd /boot/initrd.
boot
title Ubuntu, memtest86+
root (hd0,5)
kernel /boot/memtest86
boot
### END DEBIAN AUTOMAGIC KERNELS LIST
# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems:
root
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hda1
title Microsoft Windows XP Home Edition
root (hd0,0)
savedefault
makeactive
chainloader +1
title Other Distro
root (hd0,8)
savedefault
chainloader +1
title Other Distro 2
root (hd0,9)
savedefault
chainloader +1
-------
Changed in grub-installer: | |
status: | Needs Info → Unconfirmed |
Changed in ubiquity: | |
status: | New → Invalid |
Changed in grub-installer: | |
status: | New → Invalid |
Bumping up severity bc it screws up boot-ability of other installed distros.