When you turn on your computer, the boot loader is the first program that starts up and is responsible for loading and transferring control to an underlying operating system. Nowadays, almost any modern Linux distribution uses the GRand Unified Bootloader version 2 (GRUB2) for starting the system. It has a lot of flexibility in configuration and supports a lot of different operating systems. In this process, we will show how to customize the GRUB2 boot loader by disabling the waiting time of the menu display and therefore improving the time it takes for booting the system.
To Start With: What Do You Need?
In order to implement this process, you will require access to an already installed CentOS 7 operating system (minimal or any other CentOS 7 installation type will work) with root privileges. Also, you need to have some basic experiences with a text-based editor, such as nano, for changing the configuration files.
The Process:
We initiate this process by opening the main GRUB2 configuration file with our text editor of choice and modifying it.
- First, log in as root into your system and create a copy of the GRUB2 configuration file for backup and rollback, if needed. Press the Return key to finish:
cp /etc/default/grub /etc/default/grub.BAK
- Open the main GRUB2 configuration file that we want to edit with the following command and press the Return key (here we will use the editor nano, if you have not installed it yet type yum install nano):
nano /etc/default/grub
- Press the Return key in the first line where the cursor is at to insert a new line at the top, and then insert the following line:
GRUB_HIDDEN_TIMEOUT=0
- Adda # sign to the beginning of the following line, as shown:
GRUB_TIMEOUT=0
- Now save the file in the nano using Ctrl+o (and Return to confirm the filename to save). Use Ctrl+x to exit the editor and then run the following command:
dmesg | grep -Fq "EFI v"
- If the preceding command does not produce any output, run the following command:
grub2-mkconfig -o /boot/grub2/grub.cfg
- Otherwise, if there is an output, run:
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
- If grub2-mkconfig is successful, it will print Done. Now reboot your system using the following command:
reboot
- During the rebooting process, you will notice that the GRUB2 boot menu will not appear anymore and the system will boot up faster.
How does it work?
Having completion of this process, we now know how to customize the GRUB2 boot loader. In this easy process, we only showed you very basic modifications to the boot loader but it can do much more! It supports a broad variety of filesystems and can boot almost any compatible operating system. This is also particularly useful if you plan to run multiple operating systems on the same machine.