grub.cfg has no menu entries for an OS; only for memtest86+

Asked by Bruce Miller

An update to a newly-installed instance of Kubuntu maverick i386 appeared to finish normally but went wrong. It has left the system with a grub.cfg with only two "menuentry" listings, both for memtest86+ (see below). Because kubuntu maverick is the only operating system on the computer, the original installation had set the timeout to zero. I am thus unable to start even a recovery console (in which I could edit /etc/default/grub).

I have two questions:
1. I believe this merits a bug report. Which package should I file a bug against?
2. I would appreciate some advice for recovering the system. I might not have framed my Google search very well.

The most readily available rescue CD is the original maverick desktop LiveCD. I have brought it up and attempted both an update-grub and grub-install, both directly from the command line and after mounting /dev/sda1 and issuing a chroot. Both efforts failed with an error message "cannot find a device for </boot/grub>|</> (is /dev mounted?)

Current state of grub.cfg:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
  insmod vbe
  insmod vga
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 58ce6d18-460b-41b8-ad64-8c2f7dec3c2e
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 58ce6d18-460b-41b8-ad64-8c2f7dec3c2e
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos1)'
 search --no-floppy --fs-uuid --set 58ce6d18-460b-41b8-ad64-8c2f7dec3c2e
 linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos1)'
 search --no-floppy --fs-uuid --set 58ce6d18-460b-41b8-ad64-8c2f7dec3c2e
 linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
if [ "x${timeout}" != "x-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 ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu grub2 Edit question
Assignee:
No assignee Edit question
Solved by:
delance
Solved:
Last query:
Last reply:
Revision history for this message
actionparsnip (andrew-woodhead666) said :
#1

The bug would be against grub. If you hold shift do you see grub and do you see any other booting optons?

Revision history for this message
Bruce Miller (brm0423) said :
#2

Thanks for the suggestion of using the shift key. I won't be in the office where this computer is located until Monday morning and will follow up your suggestion then.

Disclaimer: a positive change in life circumstances has forced me to reduce the time I spend on a ten-year fascination with Linux. I am working hard on framing precise Linux search phrases in Google.

Revision history for this message
Best delance (olivier-delance) said :
#3

Packet is grub2 (grub is previous version). It's true that this issue occurs too frequently. The usual fix is to reinstall Grub2 from Ubuntu CD:
https://help.ubuntu.com/community/Grub2#Reinstalling%20from%20LiveCD . If you need help, please post partition table.

Revision history for this message
Bruce Miller (brm0423) said :
#4

Thanks for the help. Thanks also for the reassurance that I am not alone in encountering this problem.

In addition to the link which delance proposed, I also found an ubuntuforums.org link which also addresses this issue directly.

Another moral of this experience is thus not to rely solely on generic Google searches, but to go directly to sites which deal directly with the current issue.

As stated above, I will have to wait until Monday to test these solutions, but in the meantime will mark the problem as solved.

Thanks again to all.

Revision history for this message
Bruce Miller (brm0423) said :
#5

Thanks delance, that solved my question.