Kernel 的安装与卸载
概述
参考:
Ubuntu
参考:
更换内核
awk -F' '$1=="\tmenuentry " {print i++ " : " $2}' /boot/grub/grub.cfg
CentOS
参考:
安装 linux 内核的存储库
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
安装 linux 内核
查看可用的 linux 内核版本
版本性质:主分支 ml(mainline),稳定版(stable),长期维护版 lt(longterm)
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
安装指定版本的 Linux 内核
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt kernel-lt-headers -y
(可选)安装新内核工具
yum remove kernel-tools-libs.x86_64 kernel-tools.x86_64
yum --disablerepo=* --enablerepo=elrepo-kernel install kernel-lt-tools kernel-tools-libs kernel-lt-headers -y
更换默认内核
CentOS7
# 查找需要设为默认启动的内核名称
grep "^menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2
# 设置默认内核
grub2-set-default "CentOS Linux (5.4.173-1.el7.elrepo.x86_64) 7 (Core)"
# 检查默认内核版本
grub2-editenv list
设置完成后,执行 reboot
命令重启机器
卸载旧版内核
# 使用 package-cleanup 工具卸载旧内核,超过3个才会删
package-cleanup --oldkernels
# 查看 旧版内核信息
rpm -qa | grep kernel
# 卸载旧版内核
yum remove kernel-3.10.0-1127.19.1.el7.x86_64
CentOS 8
查看系统安装的全部内核:
~]# grubby --info=ALL
index=0
kernel="/boot/vmlinuz-5.9.1-1.el8.elrepo.x86_64"
args="ro crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap net.ifnames=0 rhgb quiet intel_iommu=on $tuned_params"
root="/dev/mapper/cl-root"
initrd="/boot/initramfs-5.9.1-1.el8.elrepo.x86_64.img $tuned_initrd"
title="Red Hat Enterprise Linux (5.9.1-1.el8.elrepo.x86_64) 8.2 (Ootpa)"
id="12ab47b22fef4c02bcdc88b340d5f706-5.9.1-1.el8.elrepo.x86_64"
index=1
kernel="/boot/vmlinuz-4.18.0-193.28.1.el8_2.x86_64"
args="ro crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap net.ifnames=0 rhgb quiet intel_iommu=on $tuned_params"
root="/dev/mapper/cl-root"
initrd="/boot/initramfs-4.18.0-193.28.1.el8_2.x86_64.img $tuned_initrd"
title="CentOS Linux (4.18.0-193.28.1.el8_2.x86_64) 8 (Core)"
id="12ab47b22fef4c02bcdc88b340d5f706-4.18.0-193.28.1.el8_2.x86_64"
设置默认启动的内核
# 使用路径来指定内核,可以使用--set-default=Kernel_PATH
~]# grubby --set-default=/boot/vmlinuz-5.9.1-1.el8.elrepo.x86_64
The default is /boot/loader/entries/12ab47b22fef4c02bcdc88b340d5f706-5.9.1-1.el8.elrepo.x86_64.conf with index 0 and kernel /boot/vmlinuz-5.9.1-1.el8.elrepo.x86_64
~]# grubby --default-kernel
/boot/vmlinuz-5.9.1-1.el8.elrepo.x86_64
# 使用index来指定内核,则使用--set-default-index=INDEX
~]# grubby --set-default-index=1
The default is /boot/loader/entries/12ab47b22fef4c02bcdc88b340d5f706-4.18.0-193.28.1.el8_2.x86_64.conf with index 1 and kernel /boot/vmlinuz-4.18.0-193.28.1.el8_2.x86_64
~]# grubby --default-kernel
/boot/vmlinuz-4.18.0-193.28.1.el8_2.x86_64
查看当前默认启动的内核
~]# grubby --default-kernel
/boot/vmlinuz-4.18.0-193.28.1.el8_2.x86_64
添加/删除内核启动参数:
# 对所有的内核都删除某个参数
~]# grubby --update-kernel=ALL --remove-args=intel_iommu=on
# 对所有的内核都添加某个参数
~]# grubby --update-kernel=ALL --args=intel_iommu=on
# 对某个的内核添加启动参数
~]# grubby --update-kernel=/boot/vmlinuz-5.9.1-1.el8.elrepo.x86_64 --args=intel_iommu=on
查看特定内核的具体信息:
~]# grubby --info=/boot/vmlinuz-5.9.1-1.el8.elrepo.x86_64
index=0
kernel="/boot/vmlinuz-5.9.1-1.el8.elrepo.x86_64"
args="ro crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap net.ifnames=0 rhgb quiet intel_iommu=on $tuned_params"
root="/dev/mapper/cl-root"
initrd="/boot/initramfs-5.9.1-1.el8.elrepo.x86_64.img $tuned_initrd"
title="Red Hat Enterprise Linux (5.9.1-1.el8.elrepo.x86_64) 8.2 (Ootpa)"
id="12ab47b22fef4c02bcdc88b340d5f706-5.9.1-1.el8.elrepo.x86_64"
反馈
此页是否对你有帮助?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.