使用命令将Ubuntu Linux内核版本升级或降级到指定版本

本文以ubuntu 18.4.1为例,内核版本为4.15.0-153-generic,降级到内核版本为4.15.0-122-generic。
1.查看当前系统版本信息

root @ubuntu18X4X1: ~#uname - r
     4.15 .0 - 153 - generic
root @ubuntu18X4X1: ~#lsb_release - a
     No LSB modules are available.
     Distributor ID: Ubuntu
     Description: Ubuntu 18.04 .1 LTS
     Release: 18.04
     Codename: bionic

2.查看当前系统已安装的内核镜像

root@ubuntu18X4X1:~# dpkg --get-selections |grep linux-image
     linux-image-4.15.0-143-generic                  install
     linux-image-4.15.0-153-generic                  install
     linux-image-generic                             install

3.查询指定版本的linux镜像包,这里我查询4.15.0-122版本

root@ubuntu18X4X1:~# apt-cache search linux| grep 4.15.0-122
     linux-buildinfo-4.15.0-122-generic - Linux kernel buildinfo for version 4.15.0 on 64 bit x86 SMP
     linux-buildinfo-4.15.0-122-lowlatency - Linux kernel buildinfo for version 4.15.0 on 64 bit x86 SMP
     linux-cloud-tools-4.15.0-122 - Linux kernel version specific cloud tools for version 4.15.0-122
     linux-cloud-tools-4.15.0-122-generic - Linux kernel version specific cloud tools for version 4.15.0-122
     linux-cloud-tools-4.15.0-122-lowlatency - Linux kernel version specific cloud tools for version 4.15.0-122
     linux-headers-4.15.0-122 - Header files related to Linux kernel version 4.15.0
     linux-headers-4.15.0-122-generic - Linux kernel headers for version 4.15.0 on 64 bit x86 SMP
     linux-headers-4.15.0-122-lowlatency - Linux kernel headers for version 4.15.0 on 64 bit x86 SMP
     linux-image-4.15.0-122-generic - Signed kernel image generic
     linux-image-4.15.0-122-lowlatency - Signed kernel image lowlatency
     linux-image-unsigned-4.15.0-122-generic - Linux kernel image for version 4.15.0 on 64 bit x86 SMP
     linux-image-unsigned-4.15.0-122-lowlatency - Linux kernel image for version 4.15.0 on 64 bit x86 SMP
     linux-modules-4.15.0-122-generic - Linux kernel extra modules for version 4.15.0 on 64 bit x86 SMP
     linux-modules-4.15.0-122-lowlatency - Linux kernel extra modules for version 4.15.0 on 64 bit x86 SMP
     linux-modules-extra-4.15.0-122-generic - Linux kernel extra modules for version 4.15.0 on 64 bit x86 SMP
     linux-tools-4.15.0-122 - Linux kernel version specific tools for version 4.15.0-122
     linux-tools-4.15.0-122-generic - Linux kernel version specific tools for version 4.15.0-122
     linux-tools-4.15.0-122-lowlatency - Linux kernel version specific tools for version 4.15.0-122
     linux-modules-nvidia-390-4.15.0-122-generic - Linux kernel nvidia modules for version 4.15.0-122
     linux-modules-nvidia-390-4.15.0-122-lowlatency - Linux kernel nvidia modules for version 4.15.0-122
     linux-modules-nvidia-418-server-4.15.0-122-generic - Linux kernel nvidia modules for version 4.15.0-122
     linux-modules-nvidia-418-server-4.15.0-122-lowlatency - Linux kernel nvidia modules for version 4.15.0-122
     linux-modules-nvidia-435-4.15.0-122-generic - Linux kernel nvidia modules for version 4.15.0-122
     linux-modules-nvidia-435-4.15.0-122-lowlatency - Linux kernel nvidia modules for version 4.15.0-122
     linux-modules-nvidia-440-server-4.15.0-122-generic - Linux kernel nvidia modules for version 4.15.0-122
     linux-modules-nvidia-440-server-4.15.0-122-lowlatency - Linux kernel nvidia modules for version 4.15.0-122
     linux-modules-nvidia-450-4.15.0-122-generic - Linux kernel nvidia modules for version 4.15.0-122
     linux-modules-nvidia-450-4.15.0-122-lowlatency - Linux kernel nvidia modules for version 4.15.0-122
     linux-modules-nvidia-450-server-4.15.0-122-generic - Linux kernel nvidia modules for version 4.15.0-122
     linux-modules-nvidia-450-server-4.15.0-122-lowlatency - Linux kernel nvidia modules for version 4.15.0-122

4.安装上面查到的指定版本内核的linux系统头文件及镜像

root@ubuntu18X4X1:~# apt-get install linux-headers-4.15.0-122-generic linux-image-4.15.0-122-generic  
     Reading package lists... Done
     Building dependency tree       
     Reading state information... Done
     The following additional packages will be installed:
       linux-headers-4.15.0-122 linux-modules-4.15.0-122-generic
      。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
       。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
  
     Found linux image: /boot/vmlinuz-4.15.0-143-generic
     Found initrd image: /boot/initrd.img-4.15.0-143-generic
     Found linux image: /boot/vmlinuz-4.15.0-122-generic
     Found initrd image: /boot/initrd.img-4.15.0-122-generic
     done

5.查看当前系统中内核的启动顺序

root@ubuntu18X4X1:~# grep menuentry /boot/grub/grub.cfg
     if [ x"${feature_menuentry_id}" = xy ]; then
       menuentry_id_option="--id"
       menuentry_id_option=""
     export menuentry_id_option
     menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os      $menuentry_id_option 'gnulinux-simple-15bb239d-04e5-465d-a638-5c0025d374df' {
     submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-15bb239d-04e5-465d-a638-5c0025d374df' {
        menuentry 'Ubuntu, with Linux 4.15.0-153-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-153-generic-advanced-15bb239d-04e5-465d-a638-5c0025d374df' {
        menuentry 'Ubuntu, with Linux 4.15.0-153-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-153-generic-recovery-15bb239d-04e5-465d-a638-5c0025d374df' {
        menuentry 'Ubuntu, with Linux 4.15.0-143-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-143-generic-advanced-15bb239d-04e5-465d-a638-5c0025d374df' {
        menuentry 'Ubuntu, with Linux 4.15.0-143-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-143-generic-recovery-15bb239d-04e5-465d-a638-5c0025d374df' {
        menuentry 'Ubuntu, with Linux 4.15.0-122-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-122-generic-advanced-15bb239d-04e5-465d-a638-5c0025d374df' {
        menuentry 'Ubuntu, with Linux 4.15.0-122-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-122-generic-recovery-15bb239d-04e5-465d-a638-5c0025d374df' {
        menuentry 'Ubuntu, with Linux 4.15.0-76-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-76-generic-advanced-15bb239d-04e5-465d-a638-5c0025d374df' {
        menuentry 'Ubuntu, with Linux 4.15.0-76-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-76-generic-recovery-15bb239d-04e5-465d-a638-5c0025d374df' {

6.如果要升级的版本比当前内核版本高的话,默认新安装的内核就是第一顺序启动的,只需重启系统。否则,需要修改/etc/default目录下的grub文件配置文件,步骤如下:

root@ubuntu18X4X1:~#  vi /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_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""
。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。

修改为:

# 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_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.15.0-122-generic"
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""
。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。

注:ubuntu 的旧版本(好像是16.04之前),GRUB_DEFAULT是修改成对应序号即可,16.04之后则是要修改成:Advanced options for Ubuntu>Ubuntu, with Linux x.x.x-x-generic的形式。
7.使配置生效

root@ubuntu18X4X1:~# update-grub
     Sourcing file `/etc/default/grub'
     Generating grub configuration file ...
     Found linux image: /boot/vmlinuz-4.15.0-153-generic
     Found initrd image: /boot/initrd.img-4.15.0-153-generic
     Found linux image: /boot/vmlinuz-4.15.0-143-generic
     Found initrd image: /boot/initrd.img-4.15.0-143-generic
     Found linux image: /boot/vmlinuz-4.15.0-122-generic
     Found initrd image: /boot/initrd.img-4.15.0-122-generic
     Found linux image: /boot/vmlinuz-4.15.0-76-generic
     Found initrd image: /boot/initrd.img-4.15.0-76-generic
     done

8.重启,再查看内核版本

root@ubuntu18X4X1:~# reboot
root@ubuntu18X4X1:~# uname -r
     4.15.0-122-generic

可以看到,内核版本变成了4.15.0-122-generic
9.若是已经安装的内核版本太多,可以删除一些(以删除4.15.0-140和4.15.0-143为例),输入命令:

root@ubuntu18X4X1:~# sudo apt-get remove linux-image-4.15.0-140-generic  linux-image-4.15.0-143-generic 
  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤岛与风

谢谢您的认可~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值