CentOS内核升级及gub启动项配置


原文链接: CentOS内核升级及gub启动项配置

修改启动内核的基本步骤

  • 1. 查找所有的内核启动项 grep ^menuentry /boot/grub2/grub.cfg | cut -d "'" -f2
  • 2. 设置第一个当前启动项 grub2-set-default 'CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)'
  • 3. 查看当前启动项 grub2-editenv list
  • 4. 重建当前启动项 grub2-mkconfig -o /boot/grub2/grub.cfg

zybb 更新内核

  1. 查看当前系统内核版本
    uname -sr

Linux 3.10.0-327.3.1.el7.x86_64

  1. 查看当前启动项
    grub2-editenv list

saved_entry=CentOS Linux (3.10.0-327.3.1.el7.x86_64) 7 (Core)

  1. 查看所有内核
    rpm -qa |grep kernel
    ls /boot/|grep vmlinuz

vmlinuz-3.10.0-327.3.1.el7.x86_64
vmlinuz-3.10.0-327.el7.x86_64
vmlinuz-0-rescue-5cb2c0bac3c040f5807e947c6b0bf499

  1. 查看启动内核在配置的第几项从0开始
    cat /boot/grub2/grub.cfg|grep ^menuentry

grep ^menuentry /boot/grub2/grub.cfg | cut -d "'" -f2

menuentry 'CentOS Linux (3.10.0-327.3.1.el7.x86_64) 7 (Core)' ...
GRUB_DEFAULT=0
menuentry 'CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)' ...
GRUB_DEFAULT=1
menuentry 'CentOS Linux (0-rescue-5cb2c0bac3c040f5807e947c6b0bf499) 7 (Core)' ...
GRUB_DEFAULT=2
  1. 设置 GRUB 引导,默认的内核版本

方式1: [不推荐]强制更新序号
ls /boot/|grep vmlinuz && sed -i '/GRUB_DEFAULT/s/^.*$/GRUB_DEFAULT=1/' /etc/default/grub && grub2-mkconfig -o /boot/grub2/grub.cfg

为了让新安装的内核成为默认启动选项,你需要如下修改 GRUB 配置:
打开并编辑 vi /etc/default/grub 并设置 GRUB_DEFAULT=0

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="vconsole.keymap=us crashkernel=auto  vconsole.font=latarcyrheb-sun16 nofb nomodeset console=tty0 console=ttyS0,115200 enforcing=0"
GRUB_DISABLE_RECOVERY="true"

方式2: [推荐]更新saved_entry
cat /boot/grub2/grub.cfg|grep ^menuentry && yum update -y && grub2-set-default 'CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)' && grub2-editenv list

grub2-set-default 'CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)'

  1. 重建内核配置。

    grub2-mkconfig -o /boot/grub2/grub.cfg

`