文章目录
参考文档: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 image
和kernel 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