Ubuntu 升级/降级内核到指定版本


参考文档:https://blog.51cto.com/u_15301988/3087517

安装 kernel 版本

查看当前 kernel 版本

$ uname -r
5.4.0-42-generic

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.2 LTS
Release:        20.04
Codename:       focal

查看已安装的 kernel

$ dpkg --get-selections | grep linux-image
linux-image-5.15.0-58-generic                   deinstall
linux-image-5.15.0-60-generic                   deinstall
linux-image-5.15.0-76-generic                   deinstall
linux-image-5.15.0-78-generic                   install
linux-image-5.15.0-83-generic                   install
linux-image-5.4.0-42-generic                    install

查询可安装的 kernel 版本

$ sudo apt-cache search linux | grep linux-image
linux-image-5.4.0-1009-aws - Linux kernel image for version 5.4.0 on 64 bit x86 SMP
linux-image-5.4.0-1009-gcp - Signed kernel image GCP
linux-image-5.4.0-1009-kvm - Linux kernel image for version 5.4.0 on 64 bit x86 SMP
linux-image-5.4.0-1009-oracle - Signed kernel image oracle
linux-image-5.4.0-1010-azure - Signed kernel image azure
linux-image-5.4.0-26-generic - Signed kernel image generic
linux-image-5.4.0-26-lowlatency - Signed kernel image lowlatency
linux-image-5.6.0-1007-oem - Signed kernel image oem
linux-image-5.15.0-33-generic - Signed kernel image generic
linux-image-5.15.0-33-lowlatency - Signed kernel image lowlatency
linux-image-5.15.0-41-generic - Signed kernel image generic
linux-image-5.15.0-42-lowlatency - Signed kernel image lowlatency
linux-image-5.15.0-43-generic - Signed kernel image generic
linux-image-5.15.0-43-lowlatency - Signed kernel image lowlatency
linux-image-5.15.0-46-generic - Signed kernel image generic
linux-image-5.15.0-46-lowlatency - Signed kernel image lowlatency
linux-image-5.15.0-48-generic - Signed kernel image generic
linux-image-5.15.0-48-lowlatency - Signed kernel image lowlatency
linux-image-5.15.0-50-generic - Signed kernel image generic
linux-image-5.15.0-50-lowlatency - Signed kernel image lowlatency
linux-image-5.15.0-52-generic - Signed kernel image generic
linux-image-5.15.0-52-lowlatency - Signed kernel image lowlatency
linux-image-5.15.0-53-generic - Signed kernel image generic
linux-image-5.15.0-53-lowlatency - Signed kernel image lowlatency
linux-image-5.15.0-56-generic - Signed kernel image generic
linux-image-5.15.0-56-lowlatency - Signed kernel image lowlatency
linux-image-5.15.0-57-generic - Signed kernel image generic
linux-image-5.15.0-58-generic - Signed kernel image generic
linux-image-5.15.0-58-lowlatency - Signed kernel image lowlatency
linux-image-5.15.0-60-generic - Signed kernel image generic
linux-image-5.15.0-60-lowlatency - Signed kernel image lowlatency
linux-image-5.15.0-67-generic - Signed kernel image generic
linux-image-5.15.0-67-lowlatency - Signed kernel image lowlatency

安装指定的 kernel

包括kernel imagekernel header

# header
$ sudo apt install linux-headers-5.15.0-60-generic
# image
$ sudo apt install linux-image-5.15.0-60-generic

查看当前 kernel 列表

$ 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, with Linux 5.15.0-83-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-83-generic-advanced-31be9a67-54c8-4d41-886f-da210725ab9f' {
menuentry 'Ubuntu, with Linux 5.15.0-83-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-83-generic-recovery-31be9a67-54c8-4d41-886f-da210725ab9f' {
menuentry 'Ubuntu, with Linux 5.15.0-78-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-78-generic-advanced-31be9a67-54c8-4d41-886f-da210725ab9f' {
menuentry 'Ubuntu, with Linux 5.15.0-78-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-78-generic-recovery-31be9a67-54c8-4d41-886f-da210725ab9f' {
menuentry 'Ubuntu, with Linux 5.15.0-60-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-60-generic-advanced-31be9a67-54c8-4d41-886f-da210725ab9f' {
menuentry 'Ubuntu, with Linux 5.15.0-60-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-60-generic-recovery-31be9a67-54c8-4d41-886f-da210725ab9f' {
menuentry 'Ubuntu, with Linux 5.4.0-42-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-42-generic-advanced-31be9a67-54c8-4d41-886f-da210725ab9f' {
menuentry 'Ubuntu, with Linux 5.4.0-42-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-42-generic-recovery-31be9a67-54c8-4d41-886f-da210725ab9f' {

修改 kernel 的启动顺序

如果安装的是最新的版本,则默认就是首选的;
如果安装的是旧版本,就需要修改grub配置。

$ sudo vi /etc/default/grub

# GRUB_DEFAULT=0
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-60-generic"

配置生效

$ sudo update-grub
$ sudo reboot

以上,已升级/降级成功。

卸载 kernel

查询可删除版本

查询非当前内核版本的其他所有内核版本。

$ sudo dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)
ii  linux-image-5.15.0-60-generic              5.15.0-60.66~20.04.1                amd64        Signed kernel image generic
rc  linux-image-5.15.0-76-generic              5.15.0-76.83~20.04.1                amd64        Signed kernel image generic
ii  linux-image-5.15.0-78-generic              5.15.0-78.85~20.04.1                amd64        Signed kernel image generic
ii  linux-image-5.15.0-83-generic              5.15.0-83.92~20.04.1                amd64        Signed kernel image generic

查看 kernel 状态:

rc: 表示已被删除
ii: 表示符合移除条件
iU: 已进入apt安装队列,但还未完成(不可移除)

删除指定 kernel

$ sudo dpkg --purge linux-image-5.15.0-60-generic
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值