之路 on it Road.com
方法 1 - 使用内核文件名从旧内核启动
- 列出系统中可用的内核文件名:
# ls -l /boot/vmlinuz-* -rwxr-xr-x. 1 root root 7872864 Apr 26 2019 /boot/vmlinuz-0-rescue-d026443091424a74948f9f62d2adb9b5 -rwxr-xr-x. 1 root root 7868768 Jun 19 2019 /boot/vmlinuz-0-rescue-ec2b9a54dc859388d7bc348e87df5332 -rwxr-xr-x. 1 root root 8106848 Nov 11 13:07 /boot/vmlinuz-4.18.0-147.0.3.el8_1.x86_64 -rwxr-xr-x. 1 root root 7876960 Sep 15 2019 /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64 -rwxr-xr-x. 1 root root 7881056 Jan 26 2019 /boot/vmlinuz-4.18.0-80.7.2.el8_0.x86_64
- 确定要从哪个内核启动后,使用 grubby 命令:
# grubby --set-default [kernel-filename]
例如:
# grubby --set-default boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64
查看当前默认内核
- 我们可以使用 grubby 查看系统中当前设置的默认内核级别。
grubby 是一个命令行工具,用于更新和显示有关各种架构特定引导加载程序的配置文件的信息。
它主要设计用于安装新内核并需要查找有关当前引导环境的信息的脚本。
# grubby --default-kernel /boot/vmlinuz-4.18.0-147.0.3.el8_1.x86_64
- 系统中安装的每个内核都有一个与之关联的索引。
要查看内核索引使用:
# grubby --default-index 0
- 列出可用的内核:
# ls -l /boot/vmlinuz-* -rwxr-xr-x. 1 root root 7872864 Apr 26 2019 /boot/vmlinuz-0-rescue-d026443091424a74948f9f62d2adb9b5 -rwxr-xr-x. 1 root root 7868768 Jun 19 2019 /boot/vmlinuz-0-rescue-ec2b9a54dc859388d7bc348e87df5332 -rwxr-xr-x. 1 root root 8106848 Nov 11 13:07 /boot/vmlinuz-4.18.0-147.0.3.el8_1.x86_64 -rwxr-xr-x. 1 root root 7876960 Sep 15 2019 /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64 -rwxr-xr-x. 1 root root 7881056 Jan 26 2019 /boot/vmlinuz-4.18.0-80.7.2.el8_0.x86_64
- 要获取某个内核版本的详细信息,可以再次使用grubby:
# grubby --info /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64 index=1 kernel="/boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64" args="ro console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau crashkernel=auto $tuned_params" root="UUID=58013e4a-11c0-4195-8fd8-e4b33e5b17d6" initrd="/boot/initramfs-4.18.0-80.11.2.el8_0.x86_64.img $tuned_initrd" title="Red Hat Enterprise Linux (4.18.0-80.11.2.el8_0.x86_64) 8.0 (Ootpa)" id="ec2b9a54dc859388d7bc348e87df5332-4.18.0-80.11.2.el8_0.x86_64"
从上面的输出中可以看出,我们可以轻松找到系统中任何可用内核的内核索引。
最新内核的索引始终为 0。
既然我们知道从哪个内核启动以及可以从哪个内核启动,我们可以继续从旧内核启动。
有两种方法可以从较旧的内核启动:
- 使用内核文件名
- 使用内核索引
如果我们在系统中安装了多个内核,我们可以在降级或者任何其他要求的情况下从特定内核启动。
为了这篇博文的目的,让我们看看如何在 CentOS/RHEL 8 中恢复到旧内核。
在继续之前,让我们了解如何查看当前的默认内核系统已启动。
方法 2 - 使用内核索引从旧内核启动
- 列出系统中可用的内核文件名:
# ls -l /boot/vmlinuz-* -rwxr-xr-x. 1 root root 7872864 Apr 26 2019 /boot/vmlinuz-0-rescue-d026443091424a74948f9f62d2adb9b5 -rwxr-xr-x. 1 root root 7868768 Jun 19 2019 /boot/vmlinuz-0-rescue-ec2b9a54dc859388d7bc348e87df5332 -rwxr-xr-x. 1 root root 8106848 Nov 11 13:07 /boot/vmlinuz-4.18.0-147.0.3.el8_1.x86_64 -rwxr-xr-x. 1 root root 7876960 Sep 15 2019 /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64 -rwxr-xr-x. 1 root root 7881056 Jan 26 2019 /boot/vmlinuz-4.18.0-80.7.2.el8_0.x86_64
- 查看上面列出的任何内核的索引:
# grubby --info [kernel-filename] | grep index
例如:
# grubby --info /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64 | grep index index=1
- 现在我们知道了要从其引导的内核的索引,请使用以下命令:
# grubby --set-default-index=[kernel-entry-index]
例如:
# grubby --set-default-index=1
日期:2020-09-17 00:13:12 来源:oir作者:oir