The grub2-mkconfig
command is used to generate the grub.cfg
configuration file for the GRUB2 bootloader. This file contains the menu entries and settings for booting the operating system. This command is typically used after installing or updating the kernel or other system components that require changes to the bootloader configuration.
Overview
To generate the grub.cfg
file, run the following command as root:
grub2-mkconfig -o /boot/grub2/grub.cfg
This command will scan the system for installed operating systems and generate a menu with entries for each one. It will also detect any changes to the system’s hardware configuration and update the bootloader accordingly.
By default, grub2-mkconfig
looks for configuration files in /etc/grub.d
and includes them in the generated grub.cfg
file. These files contain scripts that define the menu entries and settings for specific operating systems or system components.
To customize the generated configuration, you can modify the scripts in /etc/grub.d
or create your own. The scripts are executed in numerical order, so you can control the order in which menu entries are displayed by renaming the files with appropriate prefixes (e.g., 00_header
, 10_linux
, 20_memtest86+
).
Options
The following table lists the available options for grub2-mkconfig
:
Option | Description |
---|---|
-o FILE, --output=FILE |
Specify the output file for the generated configuration. Default is /boot/grub2/grub.cfg . |
-d DIR, --directory=DIR |
Specify the directory containing the GRUB2 configuration files. Default is /boot/grub2 . |
-v, --verbose |
Print verbose output. |
-h, --help |
Display help information. |
Troubleshooting Tips
- If the generated
grub.cfg
file does not contain the expected menu entries, check that the configuration scripts in/etc/grub.d
are properly configured and executable. - If the system fails to boot after updating the
grub.cfg
file, try booting from a live CD or USB and regenerate the configuration withgrub2-mkconfig
. - If the system still fails to boot, check that the bootloader is installed correctly and that the correct partition is set as the boot device in the system’s BIOS or UEFI settings.
Notes
- The
grub.cfg
file is automatically updated when the kernel or other system components are updated with the system package manager (e.g.,yum
,apt-get
). - Changes to the configuration files in
/etc/grub.d
will not take effect untilgrub2-mkconfig
is run again. - The
grub.cfg
file should not be edited manually, as changes may be overwritten by future updates or cause the system to fail to boot.