Last active
April 4, 2021 14:06
-
-
Save gseldon/3f60e058d920f3c8ba3f1df83ffd715d to your computer and use it in GitHub Desktop.
Linux. Kernel Ядро по умолчанию
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 Способ | |
sting the Default Kernel | |
To find out the file name of the default kernel, enter a command as follows: | |
~]# grubby --default-kernel | |
/boot/vmlinuz-3.10.0-229.4.2.el7.x86_64 | |
To find out the index number of the default kernel, enter a command as follows: | |
~]# grubby --default-index | |
0 | |
Changing the Default Boot Entry | |
To make a persistent change in the kernel designated as the default kernel, use the grubby command as follows: | |
grubby --set-default /boot/vmlinuz-3.10.0-229.4.2.el7.x86_64 | |
2 Способ | |
How GRUB2 selects which kernel to boot from | |
By default, the value for the directive GRUB_DEFAULT in the /etc/default/grub file is “saved”. | |
# cat /etc/default/grub | |
GRUB_TIMEOUT=5 | |
GRUB_DEFAULT=saved | |
GRUB_DISABLE_SUBMENU=true | |
GRUB_TERMINAL_OUTPUT="console" | |
GRUB_CMDLINE_LINUX="nomodeset crashkernel=auto rd.lvm.lv=vg_os/lv_root rd.lvm.lv=vg_os/lv_swap rhgb quiet" | |
GRUB_DISABLE_RECOVERY="true" | |
This instructs GRUB 2 to load the kernel specified by the saved_entry directive in the GRUB 2 environment file, located at /boot/grub2/grubenv. | |
# cat /boot/grub2/grubenv | |
# GRUB Environment Block | |
saved_entry=Red Hat Enterprise Linux Server (3.10.0-327.10.1.el7.x86_64) 7.2 (Maipo) | |
One can set another GRUB record to be the default, using the grub2-set-default command, which will update the GRUB 2 environment file. By default, the saved_entry value is set to the name of latest installed kernel of package type kernel. This is defined in /etc/sysconfig/kernel by the UPDATEDEFAULT and DEFAULTKERNEL directives. | |
# cat /etc/sysconfig/kernel | |
# UPDATEDEFAULT specifies if new-kernel-pkg should make | |
# new kernels the default | |
UPDATEDEFAULT=yes | |
# DEFAULTKERNEL specifies the default kernel package type | |
DEFAULTKERNEL=kernel | |
# MAKEDEBUG specifies if new-kernel-pkg should create non-default | |
# "debug" entries for new kernels. | |
MAKEDEBUG=yes | |
Change default kernel | |
To force a system to always use a particular menu entry, use the menu entry name as the key to the GRUB_DEFAULT directive in the /etc/default/grub file. The following command will print a list of the menu entries present in GRUB2’s configuration. | |
# awk -F\' /^menuentry/{print\$2} /etc/grub2.cfg | |
Red Hat Enterprise Linux Server (3.10.0-327.10.1.el7.x86_64) 7.2 (Maipo) ===> entry 0 | |
Red Hat Enterprise Linux Server (3.10.0-229.el7.x86_64) 7.2 (Maipo) ===> entry 1 | |
Red Hat Enterprise Linux Server (0-rescue-0cb6313ed65e4b36ba5daace11f3ad50) 7.2 (Maipo) ===> entry 2 | |
GRUB 2 supports using a numeric value as the key for the saved_entry directive to change the default order in which the kernel or operating systems are loaded. To specify which kernel should be loaded first, pass its number to the grub2-set-default command. The IDs are assigned in order the menu entries appear in the /etc/grub2.cfg file starting with 0. So the kernel 3.10.0-229.el7.x86_64 get an ID of 1. | |
# grub2-set-default 1 | |
This will make 3.10.0-229.el7.x86_64 as defaul kernel which was the old kernel in the system. | |
Verify the new default kernel | |
Check the below file to see the kernel which will be loaded at next boot, crosscheck the numeric value with the menuentry in the /etc/default/grub file. | |
# cat /boot/grub2/grubenv |grep saved | |
saved_entry=1 | |
Rebuild GRUB2 | |
Changes to /etc/default/grub require rebuilding the grub.cfg file as follows: | |
# grub2-mkconfig -o /boot/grub2/grub.cfg | |
Reboot | |
Once you have verified everything and rebuilt the GRUB2 configuration file, you can go ahead an reboot the server for changes to take effect. | |
# shutdown -r now |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment