Home > Article > Operation and Maintenance > What does Linux grub mean?
Linux grub is the abbreviation of "GRand Unified Bootloader". Its function is to take over control from the BIOS at startup, load itself, load the Linux kernel into memory, and then hand over execution rights to the kernel; once the kernel starts Take control, GRUB has completed its task and is no longer needed.
#The operating environment of this tutorial: linux5.9.8 system, Dell G3 computer.
What does Linux grub mean?
GRUB comes from the abbreviation of GRand Unified Bootloader. Its function is to take over control from the BIOS at boot, load itself, load the Linux kernel into memory, and then transfer execution rights to the kernel. Once the kernel takes control, GRUB has completed its task and is no longer needed.
GRUB supports multiple Linux kernels and allows users to choose between them via a menu at boot time. I've found this to be a very useful tool because many times I've had issues with an application or system service failing under a specific kernel version. Several times, similar problems were avoided when booting to an older kernel. By default, three kernels are saved when updating with yum or dnf - the latest and two older ones. The number of cores retained before being removed by the package manager can be configured in the /etc/dnf/dnf.conf or /etc/yum.conf file. I usually change the installonly_limit value to 9 to keep 9 cores. This is very useful when I have to revert to a kernel several versions lower.
GRUB Menu
The function of the GRUB menu is to allow the user to choose from installed kernels when the default kernel is not what is desired. One guides. Using the up and down arrow keys allows you to select the desired kernel, and hitting the Enter key will continue the boot process using the selected kernel.
The GRUB menu also provides a timeout mechanism, so if the user makes no selections, GRUB will continue booting using the default kernel without user intervention. Hitting any key on the keyboard except the Enter key stops the countdown timer displayed on the terminal. Hitting the Enter key immediately will continue the boot process using the default kernel or the selected kernel.
The GRUB menu provides a "rescue" kernel for troubleshooting or if the regular kernel cannot complete the boot process for some reason. Unfortunately, this rescue kernel will not boot into rescue mode. This aspect will be introduced in more detail later in the article.
grub.cfg file
The grub.cfg file is the GRUB configuration file. It is generated by the grub2-mkconfig program based on the user's configuration using a set of master configuration files as well as grub default files. The /boot/grub2/grub.cfg file will be generated for the first time when Linux is installed, and will be regenerated when a new kernel is installed.
The grub.cfg file contains code similar to a Bash script and a list of installed kernels sorted by installation order. For example, if you have 4 installed kernels, the newest kernel index is 0, the previous kernel index is 1, and the oldest kernel index is 3. If you have access to the grub.cfg file, you should take a look and get a feel for what it looks like. grub.cfg is too large and is not included in this article.
GRUB Configuration File
The main configuration files of grub.cfg are in the /etc/grub.d directory. Each file in this directory contains GRUB code that is ultimately integrated into the grub.cfg file. The naming pattern of these configuration files is designed in a sorted manner, which allows the final grub.cfg file to be assembled in the correct order. Each file has comments indicating the beginning and end of that section, and these comments are also part of the final grub.cfg file, allowing you to see which file each section was generated from. Delimited comments look like this:
### BEGIN /etc/grub.d/10_linux ### ### END /etc/grub.d/10_linux ###
Do not modify these files unless you are a GRUB expert and understand what will happen with the changes. Regardless, you should always keep a backup copy of the original file when modifying the grub.cfg file. Two special files, 40_custom and 41_custom, are used to generate user modifications to the GRUB configuration. You should still be aware of the consequences of changes to these files and keep a backup of the original grub.cfg file.
You can also add your own files to the /etc/grub.d directory. One possible reason for doing this is to add menu lines for non-Linux operating systems. Be careful to follow naming conventions and ensure that additional menu options in the configuration file are immediately before or after the 10_linux entry.
Related recommendations: "Linux Video Tutorial"
The above is the detailed content of What does Linux grub mean?. For more information, please follow other related articles on the PHP Chinese website!