Linux Tutorial
Linux File/Directory Management
Linux Packaging And Compression
Vim Text Editor
Linux Text Processing
Linux Software Installation
Linux User/User Group Management
Linux Permission Management
Linux Filesystem Management
Linux Advanced Filesystem Management
Linux System Management
Linux Backup and Recovery
Linux System Service Management
Linux System Log Management
Linux Boot Management
LAMP/LNMP Environment
SELinux Management
The /boot/grub/
directory is where the GRUB (GRand Unified Bootloader) configuration files and components are stored on a Linux system. GRUB is a popular bootloader that allows you to choose which operating system or kernel version to boot. This tutorial will provide an overview of the /boot/grub/
directory and its files, as well as how to modify and update GRUB configuration.
Exploring /boot/grub/
directory:
The /boot/grub/
directory contains several files and subdirectories essential for GRUB's functionality. The most important files are:
grub.cfg
: This is the main GRUB configuration file that defines menu entries, timeouts, default settings, and other configurations. It's automatically generated when you run the update-grub
or grub-mkconfig
command, and you should not edit it manually.grubenv
: This file stores variables used by GRUB during the boot process, such as the last booted menu entry or saved default boot entry.In addition to these files, the /boot/grub/
directory also contains various subdirectories such as fonts
, i386-pc
, locale
, and themes
which store fonts, platform-specific GRUB modules, localization files, and themes, respectively.
Modifying GRUB configuration:
To modify GRUB settings, you should edit the /etc/default/grub
file instead of directly editing the grub.cfg
. This file contains key settings such as the default entry, timeout, and command-line parameters for the Linux kernel. To edit the file, open it with a text editor, such as nano
or vim
, with administrative privileges:
sudo nano /etc/default/grub
Some common settings you might want to modify are:
GRUB_DEFAULT
: Set the default boot entry (use a numeric value, entry title, or 'saved' to boot the last booted entry).GRUB_TIMEOUT
: Set the number of seconds the GRUB menu is displayed before the default entry is booted.GRUB_CMDLINE_LINUX
: Add kernel command line parameters (e.g., quiet
, splash
, or acpi=off
).After making changes, save and exit the text editor.
Updating GRUB configuration:
Once you've modified the /etc/default/grub
file, you need to update the grub.cfg
file for the changes to take effect. To do this, run the update-grub
or grub-mkconfig
command:
sudo update-grub
or
sudo grub-mkconfig -o /boot/grub/grub.cfg
This command will regenerate the grub.cfg
file based on your changes in the /etc/default/grub
file and any custom configurations in the /etc/grub.d/
directory.
Adding custom menu entries:
If you want to add custom menu entries to the GRUB menu, you can create new configuration files in the /etc/grub.d/
directory. These files should be shell scripts that output valid GRUB configuration syntax. Make sure to make the custom script executable:
sudo chmod +x /etc/grub.d/custom_script_name
Don't forget to run update-grub
or grub-mkconfig
to regenerate the grub.cfg
file after adding custom menu entries.
By understanding the /boot/grub/
directory and its contents, you can modify GRUB settings and add custom menu entries as needed. This enables you to fine-t
How to edit GRUB settings in /boot/grub/:
grub.cfg
.sudo nano /boot/grub/grub.cfg
Reinstalling GRUB in /boot/grub/ directory:
sudo grub-install /dev/sdX
Securing /boot/grub/ directory in Linux:
/boot/grub/
directory.sudo chmod 700 /boot/grub
Customizing GRUB bootloader in /boot/grub/:
sudo nano /etc/default/grub