Ubuntu 12.04 LTS: Neuer Kernel nicht in GRUB



Ben.

Registered User
Hallo,

Ich experimentiere weiter mit Ubuntu Linux. Ich habe jetzt einen neuen Kernel installiert (3.8.6), dieser steht auch in der grub.cfg drin, aber beim Starten steht mir dieser nicht zur Verfügung.

Code:
sudo update-grub2
hat nichts bewirkt.

Hat jemand einen Tipp was ich noch tun kann? Einen Fehler beim Updaten gibt es nicht. Ich habe GRUB auf beide SSDs installiert (laufen im Software-RAID), aber ohne Erfolg.

Danke für Tipps.
 
Ich kenne es von Gentoo so, dass Grub folgendermaßen konfiguriert werden muss: grub2-mkconfig -o /boot/grub2/grub.cfg
Die Anpassung der Config (normalerweise unnötig, da alles out of the box funktionieren sollte) erfolgt über die Files in /etc/grub.d/

Ich gehe davon aus, dass es unter Ubuntu auch grub-mkconfig oder grub2-mkconfig gibt.

Ps: grub2-mkconfig scannt nach Kernelnamen wie: vmlinuz-xyz oder kernel-xyz. Initramfs dann analog als initramfs-xyz bezeichnet.
Wurde der Kernel anders benannt, wie beispielsweise kernelxyz (also ohne Bindestrich) wird das Image nicht gefunden. Das wäre also eine mögliche Fehlerquelle.
 
Last edited by a moderator:
Hättest Du zufällig den Output zur Hand, den update-grub (alias mkconfig) beim Erstellen der Config auswirft?
 
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.8.6-030806-generic
Found initrd image: /boot/initrd.img-3.8.6-030806-generic
Found linux image: /boot/vmlinuz-3.5.0-26-generic
Found initrd image: /boot/initrd.img-3.5.0-26-generic
Found linux image: /boot/vmlinuz-3.5.0-23-generic
Found initrd image: /boot/initrd.img-3.5.0-23-generic
Found memtest86+ image: /boot/memtest86+.bin
done
Der 3.8.6 ist der neue Kernel, die Dateien sind auch vorhanden.
 
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
/dev/md0 106G 2,1G 98G 3% /
udev 2,0G 12K 2,0G 1% /dev
tmpfs 788M 316K 788M 1% /run
none 5,0M 0 5,0M 0% /run/lock
none 2,0G 0 2,0G 0% /run/shm
Nein. Ist das der Casus Knacktus?
 
Mir fällt noch ein, dass sich der neue Kernel bei mir einmal unter "advanced options" (o.ä.) im Bootmenü versteckt hatte. Der Defaultkernel blieb - aus welchen Gründen auch immer - der alte Kernel.
 
/boot ist so gesehen im SW-RAID oder was meinst du? / wird gespiegelt, alles darunter auch, ausser SWAP.

EDIT: Advanced Options habe ich jetzt nicht gesehen, aber ich schaue mal. Widerspräche aber der grub.cfg
 
Grub kann so ziemlich mit allem umgehen. Unter anderem auch GPT und den unterschiedlichsten Dateisystemen.

Da der Bootsektor zu klein ist, ist Grub2.x sowie Grub1.x in mehrere Stages unterteilt worden. Die Bedienung finde ich zu Grub1.x aber weitaus komplexer.

Poste mal nach der Generierung deine grub.cfg.
 
Grub.cfg

Code:
# 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=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""

# 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"
faxgw02_user@faxgw02:~$ cat /boot/grub/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 raid
insmod mdraid1x
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(mduuid/05402317abe5dc8812216ead4df36d02)'
search --no-floppy --fs-uuid --set=root 4917e9f5-b674-41d0-921a-5f2eceb62f71
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod raid
  insmod mdraid1x
  insmod part_msdos
  insmod part_msdos
  insmod ext2
  set root='(mduuid/05402317abe5dc8812216ead4df36d02)'
  search --no-floppy --fs-uuid --set=root 4917e9f5-b674-41d0-921a-5f2eceb62f71
  set locale_dir=($root)/boot/grub/locale
  set lang=de_DE
  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, mit Linux 3.8.6-030806-generic' --class ubuntu --class gnu-linux --class gnu --class os {
	recordfail
	gfxmode $linux_gfx_mode
	insmod gzio
	insmod raid
	insmod mdraid1x
	insmod part_msdos
	insmod part_msdos
	insmod ext2
	set root='(mduuid/05402317abe5dc8812216ead4df36d02)'
	search --no-floppy --fs-uuid --set=root 4917e9f5-b674-41d0-921a-5f2eceb62f71
	linux	/boot/vmlinuz-3.8.6-030806-generic root=UUID=4917e9f5-b674-41d0-921a-5f2eceb62f71 ro   
	initrd	/boot/initrd.img-3.8.6-030806-generic
}
menuentry 'Ubuntu, mit Linux 3.8.6-030806-generic (Wiederherstellungsmodus)' --class ubuntu --class gnu-linux --class gnu --class os {
	recordfail
	insmod gzio
	insmod raid
	insmod mdraid1x
	insmod part_msdos
	insmod part_msdos
	insmod ext2
	set root='(mduuid/05402317abe5dc8812216ead4df36d02)'
	search --no-floppy --fs-uuid --set=root 4917e9f5-b674-41d0-921a-5f2eceb62f71
	echo	'Linux 3.8.6-030806-generic wird geladen …'
	linux	/boot/vmlinuz-3.8.6-030806-generic root=UUID=4917e9f5-b674-41d0-921a-5f2eceb62f71 ro recovery nomodeset 
	echo	'Initiale Ramdisk wird geladen …'
	initrd	/boot/initrd.img-3.8.6-030806-generic
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, mit Linux 3.5.0-26-generic' --class ubuntu --class gnu-linux --class gnu --class os {
	recordfail
	gfxmode $linux_gfx_mode
	insmod gzio
	insmod raid
	insmod mdraid1x
	insmod part_msdos
	insmod part_msdos
	insmod ext2
	set root='(mduuid/05402317abe5dc8812216ead4df36d02)'
	search --no-floppy --fs-uuid --set=root 4917e9f5-b674-41d0-921a-5f2eceb62f71
	linux	/boot/vmlinuz-3.5.0-26-generic root=UUID=4917e9f5-b674-41d0-921a-5f2eceb62f71 ro   
	initrd	/boot/initrd.img-3.5.0-26-generic
}
menuentry 'Ubuntu, mit Linux 3.5.0-26-generic (Wiederherstellungsmodus)' --class ubuntu --class gnu-linux --class gnu --class os {
	recordfail
	insmod gzio
	insmod raid
	insmod mdraid1x
	insmod part_msdos
	insmod part_msdos
	insmod ext2
	set root='(mduuid/05402317abe5dc8812216ead4df36d02)'
	search --no-floppy --fs-uuid --set=root 4917e9f5-b674-41d0-921a-5f2eceb62f71
	echo	'Linux 3.5.0-26-generic wird geladen …'
	linux	/boot/vmlinuz-3.5.0-26-generic root=UUID=4917e9f5-b674-41d0-921a-5f2eceb62f71 ro recovery nomodeset 
	echo	'Initiale Ramdisk wird geladen …'
	initrd	/boot/initrd.img-3.5.0-26-generic
}
menuentry 'Ubuntu, mit Linux 3.5.0-23-generic' --class ubuntu --class gnu-linux --class gnu --class os {
	recordfail
	gfxmode $linux_gfx_mode
	insmod gzio
	insmod raid
	insmod mdraid1x
	insmod part_msdos
	insmod part_msdos
	insmod ext2
	set root='(mduuid/05402317abe5dc8812216ead4df36d02)'
	search --no-floppy --fs-uuid --set=root 4917e9f5-b674-41d0-921a-5f2eceb62f71
	linux	/boot/vmlinuz-3.5.0-23-generic root=UUID=4917e9f5-b674-41d0-921a-5f2eceb62f71 ro   
	initrd	/boot/initrd.img-3.5.0-23-generic
}
menuentry 'Ubuntu, mit Linux 3.5.0-23-generic (Wiederherstellungsmodus)' --class ubuntu --class gnu-linux --class gnu --class os {
	recordfail
	insmod gzio
	insmod raid
	insmod mdraid1x
	insmod part_msdos
	insmod part_msdos
	insmod ext2
	set root='(mduuid/05402317abe5dc8812216ead4df36d02)'
	search --no-floppy --fs-uuid --set=root 4917e9f5-b674-41d0-921a-5f2eceb62f71
	echo	'Linux 3.5.0-23-generic wird geladen …'
	linux	/boot/vmlinuz-3.5.0-23-generic root=UUID=4917e9f5-b674-41d0-921a-5f2eceb62f71 ro recovery nomodeset 
	echo	'Initiale Ramdisk wird geladen …'
	initrd	/boot/initrd.img-3.5.0-23-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 raid
	insmod mdraid1x
	insmod part_msdos
	insmod part_msdos
	insmod ext2
	set root='(mduuid/05402317abe5dc8812216ead4df36d02)'
	search --no-floppy --fs-uuid --set=root 4917e9f5-b674-41d0-921a-5f2eceb62f71
	linux16	/boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
	insmod raid
	insmod mdraid1x
	insmod part_msdos
	insmod part_msdos
	insmod ext2
	set root='(mduuid/05402317abe5dc8812216ead4df36d02)'
	search --no-floppy --fs-uuid --set=root 4917e9f5-b674-41d0-921a-5f2eceb62f71
	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 ###
 
Hi. Default ist auf 0 gesetzt. Grub müsste also den ersten Punkt aus deiner List automatisch booten, wenn du nix machst. Welchen Kernel nimmt Grub wenn du einfach wartest bis der timeout durch ist.
 
Last edited by a moderator:
GRUB hat nur 4 Einträge: 2x Kernel 3.5 (einmal Wiederherstellung) und 2x Memtest.

0 = Kernel 3.5 normal. Den bootet er auch nach dem Timeout.
 
Linux ist halt doch irgendwie ein Windows. :)

Hab Ubuntu einfach noch mal neu installiert (genauso wie zuvor), plötzlich funktioniert das Installieren des Kernels und das Aktualisieren von GRUB.
 
Back
Top