3

I recently upgraded from ubuntu 14.04 to 16.04. I'm renting a dedicated server, then I can't access to GRUB at start-up. So I can't boot (no ping response) and I don't know why. My host allow me to boot with a live CD image (ubuntu 12.04) to recovery my server, then I mounted my partitions and started a chroot session. I tried to install last linux-image (4.4.0-47)and installation worked like a charm. I did the command update-grub.

Here is /boot/grub/menu.list

I also tried to install another kernel version as you can see(4.4.0-34).

root@62-210-243-90:/boot/grub# cat 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/doc/grub-legacy-doc/.

## 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 use 'savedefault' 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         3

## 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/$aW78kHK1QfV3P2b2znUoe/
# 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_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=aa0c854e-b229-4e57-bab8-c9f9c76e0c03 ro

## default grub root device
## e.g. groot=(hd0,0)
# groot=cb3a6d4b-ad2c-48f3-8604-2bf4e511e6c4

## 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=true
##      lockalternative=false
# lockalternative=false

## 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

## should update-grub lock old automagic boot options
## e.g. lockold=false
##      lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
##      altoptions=(recovery) single
# altoptions=(recovery mode) single

## 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

## specify if running in Xen domU or have grub detect automatically
## update-grub will ignore non-xen kernels when running in domU and vice versa
## e.g. indomU=detect
##      indomU=true
##      indomU=false
# indomU=detect

## 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
# updatedefaultentry=false

## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false

## ## End Default Options ##

title           Ubuntu 16.04.1 LTS, kernel 4.4.0-47-generic
uuid            cb3a6d4b-ad2c-48f3-8604-2bf4e511e6c4
kernel          /vmlinuz-4.4.0-47-generic root=UUID=aa0c854e-b229-4e57-bab8-c9f9                                                                                                                               c76e0c03 ro quiet splash
initrd          /initrd.img-4.4.0-47-generic

title           Ubuntu 16.04.1 LTS, kernel 4.4.0-47-generic (recovery mode)
uuid            cb3a6d4b-ad2c-48f3-8604-2bf4e511e6c4
kernel          /vmlinuz-4.4.0-47-generic root=UUID=aa0c854e-b229-4e57-bab8-c9f9                                                                                                                               c76e0c03 ro  single
initrd          /initrd.img-4.4.0-47-generic

title           Ubuntu 16.04.1 LTS, kernel 4.4.0-34-generic
uuid            cb3a6d4b-ad2c-48f3-8604-2bf4e511e6c4
kernel          /vmlinuz-4.4.0-34-generic root=UUID=aa0c854e-b229-4e57-bab8-c9f9                                                                                                                               c76e0c03 ro quiet splash
initrd          /initrd.img-4.4.0-34-generic

title           Ubuntu 16.04.1 LTS, kernel 4.4.0-34-generic (recovery mode)
uuid            cb3a6d4b-ad2c-48f3-8604-2bf4e511e6c4
kernel          /vmlinuz-4.4.0-34-generic root=UUID=aa0c854e-b229-4e57-bab8-c9f9                                                                                                                               c76e0c03 ro  single
initrd          /initrd.img-4.4.0-34-generic

### END DEBIAN AUTOMAGIC KERNELS LIST

Here is /etc/default/grub

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="console=ttyS1,9600 BOOTIF=01-e8-9a-8f-22-d9-61"

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Here is /boot/grub/grub.cfg

root@62-210-243-90:/boot/grub# cat 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
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

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 {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2  aa0c854e-b229-4e57-bab8-c9f9c76e0c03
else
  search --no-floppy --fs-uuid --set=root aa0c854e-b229-4e57-bab8-c9f9c76e0c03
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=fr_FR
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=hidden
    set timeout=0
  # Fallback hidden-timeout code in case the timeout_style feature is
  # unavailable.
  elif sleep --interruptible 0 ; then
    set timeout=0
  fi
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

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

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

### 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  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

Here is the output of "update-grub"

root@62-210-243-90:/# update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /vmlinuz-4.4.0-47-generic
Found kernel: /vmlinuz-4.4.0-34-generic
Replacing config file /run/grub/menu.lst with new version
Found kernel: /vmlinuz-4.4.0-47-generic
Found kernel: /vmlinuz-4.4.0-34-generic
Updating /boot/grub/menu.lst ... done

Asked by an user : output of "dpkg -l | grep grub"

root@62-210-243-90:/boot/grub# dpkg -l | grep grub
ii  grub                                  0.97-29ubuntu68                          amd64        GRand Unified Bootloader (Legacy version)
ii  grub-common                           2.02~beta2-36ubuntu3.2                   amd64        GRand Unified Bootloader (common files)
rc  grub-pc                               2.02~beta2-36ubuntu3.2                   amd64        GRand Unified Bootloader, version 2 (PC/BIOS version)

Output of grub --version

root@62-210-243-90:/boot/grub# grub --version
grub (GNU GRUB 0.97)

Another information : It's looking like there is no news logs written when I boot ubuntu16.04 (like Syslog or dmesg). I know that because I did the command "ls -t -lh" in /var/log to sort files by time. My last dsmeg is before the upgrade.

Can you help me to solve this boot issue ? Thanks for your help. Ask me for informations

  • Put last line of /var/log/boot.log and /var/log/dmesg here to see what is the problem. – SuB Nov 18 '16 at 22:09
  • Hello, I have just edited the post. As you can see, there is no log output when I boot unbuntu. I think Kernel don't boot anymore. – Simon Et la famille Nov 19 '16 at 7:55
  • menu.lst is used by GRUB 1, but most modern systems use GRUB 2... Please paste the output of dpkg -l | grep grub to see what GRUB packages are installed. – fkraiem Nov 19 '16 at 9:09
  • Here it is : root@62-210-243-90:/boot/grub# dpkg -l | grep grub ii grub 0.97-29ubuntu68 amd64 GRand Unified Bootloader (Legacy version) ii grub-common 2.02~beta2-36ubuntu3.2 amd64 GRand Unified Bootloader (common files) rc grub-pc 2.02~beta2-36ubuntu3.2 amd64 GRand Unified Bootloader, version 2 (PC/BIOS version) I add this in the post – Simon Et la famille Nov 19 '16 at 9:10
  • I did once an update from 14 to 16 and I had huge problems. I will never again upgrade major versions. Clean installs are always better. – RichArt Nov 19 '16 at 10:07
1

It's patched. I just reinstalled Grub from chroot with command "grub-install /dev/sda" followed by "grub-update".

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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