從yum安裝kernel-ml
對於Centos7
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
# 查看可用的內核, lt為長期支持版, ml為主流版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
# 安裝
yum --enablerepo=elrepo-kernel install kernel-ml
對於Centos8
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
查看啟動的內核選項(Centos8這個命令看不到什么)
$ more /etc/grub2.cfg |grep menuentry
menuentry 'CentOS Linux (5.11.13-1.el7.elrepo.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-1160.el7.x86_64-advanced-9cff3d69-3769-4ad9-8460-9c54050583f9' {
menuentry 'CentOS Linux (5.4.111-1.el7.elrepo.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-1160.el7.x86_64-advanced-9cff3d69-3769-4ad9-8460-9c54050583f9' {
menuentry 'CentOS Linux (3.10.0-1160.24.1.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-1160.el7.x86_64-advanced-9cff3d69-3769-4ad9-8460-9c54050583f9' {
查看當前的啟動項
對於Centos7
# 默認是 saved
$ more /etc/default/grub
...
GRUB_DEFAULT=saved
...
對於saved, 需要查看當前saved對應的啟動項
# 查看
grub2-editenv list
# 設置為其他內核, 使用前面從grub2.cfg中得到的引號中間的內容
grub2-set-default "CentOS Linux (5.11.13-1.el7.elrepo.x86_64) 7 (Core)"
# 再次查看並確認
grub2-editenv list
對於Centos8(阿里雲版本), 用這個命令看, 已經自己設置成高版本的內核了
[root@gw01 ~]# grub2-editenv list
saved_entry=20210623110808105647395700239158-5.14.0-1.el8.elrepo.x86_64
kernelopts=root=UUID=6c40ac7b-4a98-47c2-94ac-9e0a20f4a3c1 ro crashkernel=auto rhgb quiet net.ifnames=0 console=tty0 console=ttyS0,115200n8
boot_success=0
如果需要調整啟動菜單等待時間, 修改完/etc/default/grub后需要更新到grub.cfg, 注意在/boot/grub2和/boot/efi/EFI/centos目錄下都檢查一下當前用的是哪個文件
grub2-mkconfig -o /boot/grub2/grub.cfg
清理舊內核
rpm -q kernel
-- 輸出
kernel-3.10.0-957.1.3.el7.x86_64
kernel-3.10.0-957.5.1.el7.x86_64
kernel-3.10.0-957.10.1.el7.x86_64
kernel-3.10.0-957.12.1.el7.x86_64
# 將老舊內核使用yum remove命令刪除
yum remove kernel-3.10.0-957.1.3.el7.x86_64 kernel-3.10.0-957.5.1.el7.x86_64 kernel-3.10.0-957.10.1.el7.x86_64