添加elrepo源
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
vim /etc/yum.repos.d/elrepo.repo
启用[elrepo-kernel]源
yum clean all && yum makecache
#查找内核
yum search kernel-lt --showduplicates
下载内核
方法1
yum install --downloadonly --downloaddir=/temp kernel-lt-5.4.258-1.el7.elrepo.x86_64
方法2
yumdownloader kernel-lt-5.4.258-1.el7.elrepo.x86_64 /temp
CentOS 6 系统更改内核启动顺序方法:
1、查看编辑/etc/grub.conf 文件
cat /boot/grub/grub.cfg |grep menuentry
lrwxrwxrwx. 1 root root 22 Aug 10 2022 /etc/grub.cfg -> ../boot/grub/grub.cfg
2、在grub.conf文件中决定开机使用哪个内核版本做启动的参数是default,默认值为0,代表从最新的内核启动。代表启动的内核版本从上往下依次是0、1、2等。
vim /etc/grub.conf
GRUB_DEFAULT=0 修改为
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 3.13.0-166-generic"
CentOS 7 系统更改内核启动顺序方法:
由于CentOS7使用grub2作为引导程序,所以和CentOS 6有所不同,并不是通过修改/etc/grub.conf来调节启动项。
方法1
1、执行如下命令,查看系统内部有多少个内核。
cat /boot/grub2/grub.cfg | grep menuentry
2、参考如下命令,配置从默认内核启动。内核名称根据系统内部查到的实际名称来替换。
grub2-set-default 'CentOS Linux (3.10.0-123.9.3.el7.x86_64) 7 (Core)'
3、执行如下命令,确认配置成功。
grub2-editenv list
方法2
vim /etc/default/grub
GRUB_DEFAULT=xx
grub2-mkconfig > /boot/grub2/grub.cfg
CentOS 8 系统更改内核启动顺序方法:
CentOS 8系统与centos 7有一些变化
1、执行下述命令查看默认内核
grubby --default-kernel
执行下述命令查看所有内核
grubby --info=ALL
2、设置需要设置的启动的默认的内核
grubby --set-default /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64
ubuntu系统切换内核启动顺序方法:
1、 查看当前内核的启动顺序
cat /boot/grub/grub.cfg |grep menuentry
2、修改grub文件
假设要修改为3.13.0-166内核启动, 修改文件/etc/default/grub
vim /etc/default/grub
GRUB_DEFAULT=0 修改为
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 3.13.0-166-generic"
更新修改后的grub后执行下
update-grub
在CentOS中,grub2-set-default
命令用于设置默认的引导项,而update-grub
或grub2-mkconfig
通常是与GRUB引导配置文件相关的命令,用于重新生成GRUB引导配置文件。这两个命令的作用是不同的。
当你运行grub2-set-default
时,它只改变默认的引导项,而不涉及配置文件的更改。这意味着你不需要运行update-grub
或grub2-mkconfig
来生效,因为默认引导项的更改是即时生效的。
相反,当你进行了引导配置文件的更改,例如添加新的内核选项或自定义菜单项时,你需要运行update-grub
或grub2-mkconfig
来重新生成引导配置文件,以确保新的配置生效。这通常是在升级内核或进行其他引导配置更改后需要执行的操作。
所以,grub2-set-default
和update-grub
(或grub2-mkconfig
)有不同的目的和用法。前者用于更改默认引导项,后者用于管理引导配置文件。
具体来说,grub2-mkconfig
做以下事情:
- 收集系统上已安装内核和其他操作系统的信息。
- 生成引导菜单的配置项,将这些信息添加到
grub.cfg
中。 - 创建菜单项,其中包括各个操作系统内核、引导参数和启动项。
- 根据
/etc/default/grub
文件中的设置以及其他配置文件中的选项,为 GRUB 引导菜单指定默认启动项、超时等设置。 - 生成一个可供 GRUB 使用的配置文件。