我从 Ubuntu 15.04 64 位升级到 Ubuntu 15.10 64 位,但发现我的内核没有升级并且仍然显示:。
$ uname -r
3.13.0-35-generic
因此我尝试使用以下命令将其升级到 4.2 内核,但它显示以下内容:
$ sudo apt-get install linux-generic
[sudo] password for xxxxxxxx:
Reading package lists... Done
Building dependency tree
Reading state information... Done
linux-generic is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
编辑:
另外补充一点,发布一个dpkg --list 'linux-headers*' 'linux-image*'
表明我可能在4.2.0-16 kernel
某个地方有一个。但uname
仍然表明
Linux 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ dpkg --list 'linux-headers*' 'linux-image*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==================================================-==============================-==============================-==========================================================================================================
un linux-headers <none> <none> (no description available)
un linux-headers-3.0 <none> <none> (no description available)
ii linux-headers-3.13.0-24 3.13.0-24.47 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-24-generic 3.13.0-24.47 amd64 Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
ii linux-headers-3.13.0-35 3.13.0-35.62 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-35-generic 3.13.0-35.62 amd64 Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
ii linux-headers-3.13.0-36 3.13.0-36.63 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-36-generic 3.13.0-36.63 amd64 Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
ii linux-headers-3.13.0-43 3.13.0-43.72 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-43-generic 3.13.0-43.72 amd64 Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
un linux-headers-3.13.0-45-generic <none> <none> (no description available)
un linux-headers-3.13.0-46-generic <none> <none> (no description available)
ii linux-headers-3.13.0-48 3.13.0-48.80 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-48-generic 3.13.0-48.80 amd64 Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
ii linux-headers-3.13.0-52 3.13.0-52.86 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-52-generic 3.13.0-52.86 amd64 Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
un linux-headers-3.13.0-62-generic <none> <none> (no description available)
un linux-headers-3.13.0-63-generic <none> <none> (no description available)
ii linux-headers-3.16.0-44 3.16.0-44.59 all Header files related to Linux kernel version 3.16.0
ii linux-headers-3.16.0-44-generic 3.16.0-44.59 amd64 Linux kernel headers for version 3.16.0 on 64 bit x86 SMP
un linux-headers-3.19.0-26-generic <none> <none> (no description available)
un linux-headers-3.19.0-28-generic <none> <none> (no description available)
un linux-headers-3.19.0-30-generic <none> <none> (no description available)
un linux-headers-3.19.0-31-generic <none> <none> (no description available)
ii linux-headers-4.2.0-16 4.2.0-16.19 all Header files related to Linux kernel version 4.2.0
ii linux-headers-4.2.0-16-generic 4.2.0-16.19 amd64 Linux kernel headers for version 4.2.0 on 64 bit x86 SMP
ii linux-headers-generic 4.2.0.16.18 amd64 Generic Linux kernel headers
un linux-image <none>** <none> (no description available)
un linux-image-3.0 <none> <none> (no description available)
ii linux-image-3.13.0-24-generic 3.13.0-24.47 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii linux-image-3.13.0-35-generic 3.13.0-35.62 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii linux-image-3.13.0-36-generic 3.13.0-36.63 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii linux-image-3.13.0-43-generic 3.13.0-43.72 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc linux-image-3.13.0-45-generic 3.13.0-45.74 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc linux-image-3.13.0-46-generic 3.13.0-46.79 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii linux-image-3.13.0-48-generic 3.13.0-48.80 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii linux-image-3.13.0-52-generic 3.13.0-52.86 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc linux-image-3.13.0-62-generic 3.13.0-62.102 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc linux-image-3.13.0-63-generic 3.13.0-63.103 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii linux-image-3.16.0-44-generic 3.16.0-44.59 amd64 Linux kernel image for version 3.16.0 on 64 bit x86 SMP
rc linux-image-3.19.0-26-generic 3.19.0-26.28 amd64 Linux kernel image for version 3.19.0 on 64 bit x86 SMP
rc linux-image-3.19.0-28-generic 3.19.0-28.30 amd64 Linux kernel image for version 3.19.0 on 64 bit x86 SMP
rc linux-image-3.19.0-30-generic 3.19.0-30.34 amd64 Linux kernel image for version 3.19.0 on 64 bit x86 SMP
rc linux-image-3.19.0-31-generic 3.19.0-31.36 amd64 Linux kernel image for version 3.19.0 on 64 bit x86 SMP
ii linux-image-4.2.0-16-generic 4.2.0-16.19 amd64 Linux kernel image for version 4.2.0 on 64 bit x86 SMP
ii linux-image-extra-3.13.0-24-generic 3.13.0-24.47 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii linux-image-extra-3.13.0-35-generic 3.13.0-35.62 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii linux-image-extra-3.13.0-36-generic 3.13.0-36.63 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii linux-image-extra-3.13.0-43-generic 3.13.0-43.72 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc linux-image-extra-3.13.0-45-generic 3.13.0-45.74 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc linux-image-extra-3.13.0-46-generic 3.13.0-46.79 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii linux-image-extra-3.13.0-48-generic 3.13.0-48.80 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii linux-image-extra-3.13.0-52-generic 3.13.0-52.86 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc linux-image-extra-3.13.0-62-generic 3.13.0-62.102 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc linux-image-extra-3.13.0-63-generic 3.13.0-63.103 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii linux-image-extra-3.16.0-44-generic 3.16.0-44.59 amd64 Linux kernel extra modules for version 3.16.0 on 64 bit x86 SMP
rc linux-image-extra-3.19.0-26-generic 3.19.0-26.28 amd64 Linux kernel extra modules for version 3.19.0 on 64 bit x86 SMP
rc linux-image-extra-3.19.0-28-generic 3.19.0-28.30 amd64 Linux kernel extra modules for version 3.19.0 on 64 bit x86 SMP
rc linux-image-extra-3.19.0-30-generic 3.19.0-30.34 amd64 Linux kernel extra modules for version 3.19.0 on 64 bit x86 SMP
rc linux-image-extra-3.19.0-31-generic 3.19.0-31.36 amd64 Linux kernel extra modules for version 3.19.0 on 64 bit x86 SMP
ii linux-image-extra-4.2.0-16-generic 4.2.0-16.19 amd64 Linux kernel extra modules for version 4.2.0 on 64 bit x86 SMP
ii linux-image-generic 4.2.0.16.18 amd64 Generic Linux kernel image
我也做过sudo update-grub
。但即便如此,它grub.cfg
看起来还是像这样:
$ cat /boot/grub/grub.cfg
### 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="Windows 7 (loader) (on /dev/sda1)"
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,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 727baaef-c176-43eb-adce-e531d02064c5
else
search --no-floppy --fs-uuid --set=root 727baaef-c176-43eb-adce-e531d02064c5
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=en_IN
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=-1
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=10
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=10
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
#set_background_image "images/tile.png";
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 0,0,0; then
clear
fi
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux_proxy ###
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_proxy ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-C80C8C860C8C716C' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 C80C8C860C8C716C
else
search --no-floppy --fs-uuid --set=root C80C8C860C8C716C
fi
parttool ${root} hidden-
chainloader +1
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
set timeout=10
fi
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/33_linux_proxy ###
menuentry "Ubuntu" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-727baaef-c176-43eb-adce-e531d02064c5' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 727baaef-c176-43eb-adce-e531d02064c5
else
search --no-floppy --fs-uuid --set=root 727baaef-c176-43eb-adce-e531d02064c5
fi
linux /boot/vmlinuz-3.13.0-35-generic root=UUID=727baaef-c176-43eb-adce-e531d02064c5 ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.13.0-35-generic
}
submenu "Advanced options for Ubuntu"{
menuentry "Ubuntu, with Linux 3.13.0-35-generic" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-35-generic-advanced-727baaef-c176-43eb-adce-e531d02064c5' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 727baaef-c176-43eb-adce-e531d02064c5
else
search --no-floppy --fs-uuid --set=root 727baaef-c176-43eb-adce-e531d02064c5
fi
echo 'Loading Linux 3.13.0-35-generic ...'
linux /boot/vmlinuz-3.13.0-35-generic root=UUID=727baaef-c176-43eb-adce-e531d02064c5 ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.13.0-35-generic
}
menuentry "Ubuntu, with Linux 3.13.0-35-generic (recovery mode)" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-35-generic-recovery-727baaef-c176-43eb-adce-e531d02064c5' {
recordfail
load_video
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 727baaef-c176-43eb-adce-e531d02064c5
else
search --no-floppy --fs-uuid --set=root 727baaef-c176-43eb-adce-e531d02064c5
fi
echo 'Loading Linux 3.13.0-35-generic ...'
linux /boot/vmlinuz-3.13.0-35-generic root=UUID=727baaef-c176-43eb-adce-e531d02064c5 ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.13.0-35-generic
}
menuentry "Ubuntu, with Linux 3.13.0-24-generic" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-727baaef-c176-43eb-adce-e531d02064c5' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 727baaef-c176-43eb-adce-e531d02064c5
else
search --no-floppy --fs-uuid --set=root 727baaef-c176-43eb-adce-e531d02064c5
fi
echo 'Loading Linux 3.13.0-24-generic ...'
linux /boot/vmlinuz-3.13.0-24-generic root=UUID=727baaef-c176-43eb-adce-e531d02064c5 ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.13.0-24-generic
}
menuentry "Ubuntu, with Linux 3.13.0-24-generic (recovery mode)" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-24-generic-recovery-727baaef-c176-43eb-adce-e531d02064c5' {
recordfail
load_video
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 727baaef-c176-43eb-adce-e531d02064c5
else
search --no-floppy --fs-uuid --set=root 727baaef-c176-43eb-adce-e531d02064c5
fi
echo 'Loading Linux 3.13.0-24-generic ...'
linux /boot/vmlinuz-3.13.0-24-generic root=UUID=727baaef-c176-43eb-adce-e531d02064c5 ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.13.0-24-generic
}
}
### END /etc/grub.d/33_linux_proxy ###
### BEGIN /etc/grub.d/34_linux_xen ###
### END /etc/grub.d/34_linux_xen ###
### BEGIN /etc/grub.d/35_memtest86+ ###
menuentry 'Memory test (memtest86+)' {
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 727baaef-c176-43eb-adce-e531d02064c5
else
search --no-floppy --fs-uuid --set=root 727baaef-c176-43eb-adce-e531d02064c5
fi
knetbsd /boot/memtest86+.elf
}
menuentry 'Memory test (memtest86+, serial console 115200)' {
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 727baaef-c176-43eb-adce-e531d02064c5
else
search --no-floppy --fs-uuid --set=root 727baaef-c176-43eb-adce-e531d02064c5
fi
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/35_memtest86+ ###
### BEGIN /etc/grub.d/36_uefi-firmware ###
### END /etc/grub.d/36_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 ###
输出如下:
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.10
DISTRIB_CODENAME=wily
DISTRIB_DESCRIPTION="Ubuntu 15.10"