-
查看当前已经安装的 Kernel Image。
$ dpkg --get-selections |grep linux-image
linux-image-4.15.0-101-generic install
linux-image-generic install
- 查询当前软件仓库可以安装的 Kernel Image 版本,如果没有预期的版本,则需要额外配置仓库。
$ apt-cache search linux | grep linux-image
- 安装指定版本的 Kernel Image 和 Kernel Header。
$ sudo apt-get install linux-headers-4.15.0-76-generic linux-image-4.15.0-76-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' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-b753ddfd-2731-4c32-aa02-9a654abc99c6' {
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-b753ddfd-2731-4c32-aa02-9a654abc99c6' {
menuentry 'Ubuntu, with Linux 4.15.0-101-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-101-generic-advanced-b753ddfd-2731-4c32-aa02-9a654abc99c6' {
menuentry 'Ubuntu, with Linux 4.15.0-101-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-101-generic-recovery-b753ddfd-2731-4c32-aa02-9a654abc99c6' {
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-b753ddfd-2731-4c32-aa02-9a654abc99c6' {
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-b753ddfd-2731-4c32-aa02-9a654abc99c6' {
- 修改 Kernel 的启动顺序:如果安装的是最新的版本,那么默认就是首选的;如果安装的是旧版本,就需要修改 grub 配置。
$ vi /etc/default/grub
# GRUB_DEFAULT=0
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.15.0-76-generic"
- 生效配置。
$ update-grub
$ reboot
删除不需要的 Kernel。
查询不包括当前内核版本的其它所有内核版本:
$ dpkg -l | tail -n +6| grep -E 'linux-image-[0-9]+'| grep -Fv $(uname -r)
ii linux-image-4.15.0-101-generic 4.15.0-101.102 amd64 Signed kernel image generic
Kernel 状态:
- rc:表示已经被移除。
- ii:表示符合移除条件(可移除)。
- iU:已进入 apt 安装队列,但还未被安装(不可移除)。
删除指定的 Kernel:
dpkg --purge linux-image-4.4.0-21-generic