Getting started and customising the boot loader
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 recipe, 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.
Getting ready
To complete this recipe, 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.
How to do it...
We begin this recipe 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
- Add a
#
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 printDone.
Now reboot your system using the following command:reboot
- During the rebooting process, you will notice that the GRUB2 boot menu will not appear any more and the system will boot up faster.
How it works...
Having completed this recipe, we now know how to customize the GRUB2 boot loader. In this very easy recipe, 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. To learn more about GRUB2's configuration file syntax type the info grub2
| less
command and go to the section 6.1 Simple configuration handling
(read the recipe Navigating text files with less in Chapter 2, Configuring the System to learn how to browse this document).