在 Ubuntu 12.04 LTS 中更新内核似乎不起作用

Posted

技术标签:

【中文标题】在 Ubuntu 12.04 LTS 中更新内核似乎不起作用【英文标题】:Updating kernel in Ubuntu 12.04 LTS doesn't seem to work 【发布时间】:2012-11-30 20:32:07 【问题描述】:

我正在尝试将我的 Ubuntu 12.04 LTS 内核从 3.4.0 更新到可用的最新版本,但无论我做什么,uname -r 都会继续返回3.4.0。我也尝试过多次重启我的系统,但无济于事。

sudo update-grub的输出如下:

Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.5.0-19-generic
Found initrd image: /boot/initrd.img-3.5.0-19-generic
Found linux image: /boot/vmlinuz-3.4.0-030400-generic-pae
Found initrd image: /boot/initrd.img-3.4.0-030400-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-34-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-34-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-34-generic
Found initrd image: /boot/initrd.img-3.2.0-34-generic
Found linux image: /boot/vmlinuz-2.6.38-8-generic
Found initrd image: /boot/initrd.img-2.6.38-8-generic
Found memtest86+ image: /boot/memtest86+.bin
Found unknown Linux distribution on /dev/sda3
Found unknown Linux distribution on /dev/sda5
Found Ubuntu 12.04.1 LTS (12.04) on /dev/sda7
done

如果有人知道如何更新/升级到最新内核,那就太好了。 [当我说更新时,我不完全确定这意味着什么,但我正在尝试安装标头、图像,尤其是构建模块(因为我相信 VirtualBox 不会在我的系统上运行,因为某种模块问题)]。

作为提醒,我已经做了很多谷歌搜索试图找到答案,所以我解决这个问题的尝试非常多样化,但我对内核的整个想法(以及更新它们)的工作知识以及什么包括他们,相当有限。

如有必要,我非常乐意在终端中运行任何命令,如果您确实遇到了答案,请记住我是内核“新手”,所以详细的解释和步骤,或者非常感谢您的链接。

最后一点,我正在运行由 Jay Lee 的脚本安装的 32 位 ChrUbuntu(仅供参考,/dev/sda3 和 /dev/sda5 上的未知 Linux 发行版是 ChromeOS [我的 chromebook 的默认操作系统]),这可能与这个问题有任何关系,也可能没有,但我不是专家,所以任何见解都会很酷,但绝不是必要的。

编辑:/boot/grub/grub.conf的内容如下:

#
# 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_gpt
insmod ext2
set root='(hd0,gpt7)'
search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_gpt
  insmod ext2
  set root='(hd0,gpt7)'
  search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
  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=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 ###
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.5.0-19-generic' --class ubuntu --class gnu-linux --class gnu --class os 
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux   /boot/vmlinuz-3.5.0-19-generic root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro   crashkernel=384M-2G:64M,2G-:128M quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.5.0-19-generic

menuentry 'Ubuntu, with Linux 3.5.0-19-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os 
    recordfail
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    echo    'Loading Linux 3.5.0-19-generic ...'
    linux   /boot/vmlinuz-3.5.0-19-generic root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.5.0-19-generic

submenu "Previous Linux versions" 
menuentry 'Ubuntu, with Linux 3.4.0-030400-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os 
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux   /boot/vmlinuz-3.4.0-030400-generic-pae root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro   crashkernel=384M-2G:64M,2G-:128M quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.4.0-030400-generic-pae

menuentry 'Ubuntu, with Linux 3.4.0-030400-generic-pae (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os 
    recordfail
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    echo    'Loading Linux 3.4.0-030400-generic-pae ...'
    linux   /boot/vmlinuz-3.4.0-030400-generic-pae root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.4.0-030400-generic-pae

menuentry 'Ubuntu, with Linux 3.2.0-34-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os 
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux   /boot/vmlinuz-3.2.0-34-generic-pae root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro   crashkernel=384M-2G:64M,2G-:128M quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.2.0-34-generic-pae

menuentry 'Ubuntu, with Linux 3.2.0-34-generic-pae (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os 
    recordfail
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    echo    'Loading Linux 3.2.0-34-generic-pae ...'
    linux   /boot/vmlinuz-3.2.0-34-generic-pae root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.2.0-34-generic-pae

menuentry 'Ubuntu, with Linux 3.2.0-34-generic' --class ubuntu --class gnu-linux --class gnu --class os 
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux   /boot/vmlinuz-3.2.0-34-generic root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro   crashkernel=384M-2G:64M,2G-:128M quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.2.0-34-generic

menuentry 'Ubuntu, with Linux 3.2.0-34-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os 
    recordfail
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    echo    'Loading Linux 3.2.0-34-generic ...'
    linux   /boot/vmlinuz-3.2.0-34-generic root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.2.0-34-generic

menuentry 'Ubuntu, with Linux 2.6.38-8-generic' --class ubuntu --class gnu-linux --class gnu --class os 
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux   /boot/vmlinuz-2.6.38-8-generic root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro   crashkernel=384M-2G:64M,2G-:128M quiet splash $vt_handoff
    initrd  /boot/initrd.img-2.6.38-8-generic

menuentry 'Ubuntu, with Linux 2.6.38-8-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os 
    recordfail
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    echo    'Loading Linux 2.6.38-8-generic ...'
    linux   /boot/vmlinuz-2.6.38-8-generic root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-2.6.38-8-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_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux16 /boot/memtest86+.bin

menuentry "Memory test (memtest86+, serial console 115200)" 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8

### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "unknown Linux distribution (on /dev/sda3)" --class gnu-linux --class gnu --class os 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt3)'
    search --no-floppy --fs-uuid --set=root 00000000-0000-0000-0000-000000000000
    linux /boot/vmlinuz root=/dev/sda3

menuentry "unknown Linux distribution (on /dev/sda3)" --class gnu-linux --class gnu --class os 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt3)'
    search --no-floppy --fs-uuid --set=root 00000000-0000-0000-0000-000000000000
    linux /boot/vmlinuz root=/dev/sda3

menuentry "unknown Linux distribution (on /dev/sda3)" --class gnu-linux --class gnu --class os 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt3)'
    search --no-floppy --fs-uuid --set=root 00000000-0000-0000-0000-000000000000
    linux /boot/vmlinuz-3.4.0 root=/dev/sda3

menuentry "unknown Linux distribution (on /dev/sda5)" --class gnu-linux --class gnu --class os 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt5)'
    search --no-floppy --fs-uuid --set=root 00000000-0000-0000-0000-000000000000
    linux /boot/vmlinuz root=/dev/sda5

menuentry "unknown Linux distribution (on /dev/sda5)" --class gnu-linux --class gnu --class os 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt5)'
    search --no-floppy --fs-uuid --set=root 00000000-0000-0000-0000-000000000000
    linux /boot/vmlinuz root=/dev/sda5

menuentry "unknown Linux distribution (on /dev/sda5)" --class gnu-linux --class gnu --class os 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt5)'
    search --no-floppy --fs-uuid --set=root 00000000-0000-0000-0000-000000000000
    linux /boot/vmlinuz-3.4.0 root=/dev/sda5

menuentry "Ubuntu, with Linux 3.5.0-19-generic (on /dev/sda7)" --class gnu-linux --class gnu --class os 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux /boot/vmlinuz-3.5.0-19-generic root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro crashkernel=384M-2G:64M,2G-:128M quiet splash $vt_handoff
    initrd /boot/initrd.img-3.5.0-19-generic

menuentry "Ubuntu, with Linux 3.5.0-19-generic (recovery mode) (on /dev/sda7)" --class gnu-linux --class gnu --class os 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux /boot/vmlinuz-3.5.0-19-generic root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro recovery nomodeset
    initrd /boot/initrd.img-3.5.0-19-generic

menuentry "Ubuntu, with Linux 3.4.0-030400-generic-pae (on /dev/sda7)" --class gnu-linux --class gnu --class os 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux /boot/vmlinuz-3.4.0-030400-generic-pae root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro crashkernel=384M-2G:64M,2G-:128M quiet splash $vt_handoff
    initrd /boot/initrd.img-3.4.0-030400-generic-pae

menuentry "Ubuntu, with Linux 3.4.0-030400-generic-pae (recovery mode) (on /dev/sda7)" --class gnu-linux --class gnu --class os 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux /boot/vmlinuz-3.4.0-030400-generic-pae root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro recovery nomodeset
    initrd /boot/initrd.img-3.4.0-030400-generic-pae

menuentry "Ubuntu, with Linux 3.2.0-34-generic-pae (on /dev/sda7)" --class gnu-linux --class gnu --class os 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux /boot/vmlinuz-3.2.0-34-generic-pae root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro crashkernel=384M-2G:64M,2G-:128M quiet splash $vt_handoff
    initrd /boot/initrd.img-3.2.0-34-generic-pae

menuentry "Ubuntu, with Linux 3.2.0-34-generic-pae (recovery mode) (on /dev/sda7)" --class gnu-linux --class gnu --class os 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux /boot/vmlinuz-3.2.0-34-generic-pae root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro recovery nomodeset
    initrd /boot/initrd.img-3.2.0-34-generic-pae

menuentry "Ubuntu, with Linux 3.2.0-34-generic (on /dev/sda7)" --class gnu-linux --class gnu --class os 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux /boot/vmlinuz-3.2.0-34-generic root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro crashkernel=384M-2G:64M,2G-:128M quiet splash $vt_handoff
    initrd /boot/initrd.img-3.2.0-34-generic

menuentry "Ubuntu, with Linux 3.2.0-34-generic (recovery mode) (on /dev/sda7)" --class gnu-linux --class gnu --class os 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux /boot/vmlinuz-3.2.0-34-generic root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro recovery nomodeset
    initrd /boot/initrd.img-3.2.0-34-generic

menuentry "Ubuntu, with Linux 2.6.38-8-generic (on /dev/sda7)" --class gnu-linux --class gnu --class os 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux /boot/vmlinuz-2.6.38-8-generic root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro crashkernel=384M-2G:64M,2G-:128M quiet splash $vt_handoff
    initrd /boot/initrd.img-2.6.38-8-generic

menuentry "Ubuntu, with Linux 2.6.38-8-generic (recovery mode) (on /dev/sda7)" --class gnu-linux --class gnu --class os 
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt7)'
    search --no-floppy --fs-uuid --set=root 48ba90b7-e174-4460-9b09-308e40541728
    linux /boot/vmlinuz-2.6.38-8-generic root=UUID=48ba90b7-e174-4460-9b09-308e40541728 ro recovery nomodeset
    initrd /boot/initrd.img-2.6.38-8-generic

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

【问题讨论】:

【参考方案1】:

update-grub 的输出看来,内核 3.5.0-19 已成功安装

您是否在启动时看到 grub 菜单?那里有什么选择?

可能想sudo grub-set-default X 设置默认启动项,检查/boot/grub/grub.cfg 哪个项是3.5.0-19 并相应地设置X(可能为0)

【讨论】:

我在启动时没有得到 grub 菜单,uname -r 仍然返回/显示3.4.0 可以发/boot/grub/grub.cfg的内容吗? 是的,它现在在帖子中。 好的,那里没有什么异常,也许尝试获取那个 grub 菜单,或者在启动期间按/按住 shift(时间可能很棘手)或编辑 /etc/default/grub,注释掉 GRUB_HIDDEN_TIMEOUT=x 并运行 @987654330 @ 当我更新我的内核时,grub 没有正确设置(它询问我在哪个驱动器上安装 grub,但是没有一个驱动器工作),并且尝试在启动时按住 shift 不会似乎也有效,我认为它[永远]不会。

以上是关于在 Ubuntu 12.04 LTS 中更新内核似乎不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 12.04 LTS:在不破坏依赖关系的情况下将 python 2.7.3 更新到 2.7.6 [关闭]

Ubuntu12.04LTS SDK无法更新

ubuntu12.04下安装搜狗拼音

解决root用户登录Ubuntu12.04 LTS图形界面

在ubuntu12.04LTS下成功编译安装带有h264和aac编码的ffmpeg的完整过程(命令行)

求助,怎样在Ubuntu12.04LTS上搭建GTK开发环境