Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

The newly re-installed 12.04.3 server has the same problem as it was before. The problem is that the server can not boot up by itself. Sometime it goes into blank and never come out. Sometime it shows boot menu and hung after Attached SCSI drive. In this case, we just need to type 'exit' to get to the login prompt. The problem is similar to the post below:

http://askubuntu.com/questions/109500/boot-issues-long-delay-then-gave-up-waiting-for-root-device

We found that under /boot/grub, there is no menu.lst. Is it normal to have no menu.lst under /boot/grub? If this is a problem, how to fix it? Thanks.

===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 video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root e17df6f9-8d08-4d85-be32-4049ad596c4e
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_msdos
  insmod ext2
  set root='(hd0,msdos1)'
  search --no-floppy --fs-uuid --set=root e17df6f9-8d08-4d85-be32-4049ad596c4e
  set locale_dir=($root)/boot/grub/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=2
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 ###
function gfxmode {
        set gfxpayload="${1}"
        if [ "${1}" = "keep" ]; then
                set vt_handoff=vt.handoff=7
        else
                set vt_handoff=
        fi
}
if [ "${recordfail}" != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "${linux_gfx_mode}" != "text" ]; then load_video; fi
menuentry 'Ubuntu, with Linux 3.8.0-29-generic' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='(hd0,msdos1)'
        search --no-floppy --fs-uuid --set=root e17df6f9-8d08-4d85-be32-4049ad596c4e
        linux   /boot/vmlinuz-3.8.0-29-generic root=UUID=e17df6f9-8d08-4d85-be32-4049ad596c4e ro
        initrd  /boot/initrd.img-3.8.0-29-generic
}
menuentry 'Ubuntu, with Linux 3.8.0-29-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='(hd0,msdos1)'
        search --no-floppy --fs-uuid --set=root e17df6f9-8d08-4d85-be32-4049ad596c4e
        echo    'Loading Linux 3.8.0-29-generic ...'
        linux   /boot/vmlinuz-3.8.0-29-generic root=UUID=e17df6f9-8d08-4d85-be32-4049ad596c4e ro recovery nomodeset
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-3.8.0-29-generic
}
### 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=root e17df6f9-8d08-4d85-be32-4049ad596c4e
        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=root e17df6f9-8d08-4d85-be32-4049ad596c4e
        linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###

### 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 ###
share|improve this question
1  
Yes it is normal. GRUB2 uses grub.cfg instead of menu.lst. That file is automatically generated, so if you need to change anything you should edit instead the scripts in /etc/grub.d/. You can find more info here. –  Salem Sep 13 '13 at 21:13
add comment

2 Answers

There is no menu.lst any more with grub2. You already found the generated configuration file /boot/grub/grub.cfg, but this one should not be edited. To change menu entries edit the files in /etc/grub.d/. The files there are read in alphabetical order by update-grub to create grub.cfg. Custom entries should go to 40_custom. See the README file in the directory.

For your problem I suggest trying different boot options to disable certain or all acpi/apic features. You can add them to the GRUB_CMDLINE_LINUX="..." line in /etc/default/grub.
You can find common kernel options here: Boot Options/Common Kernel Options
Don't forget to run sudo update-grub afterwards.

share|improve this answer
add comment

What solved the problem was to add "nomodeset" to GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

Now the server boots up.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.