RHEL: Adding a boot entry to GRUB/GRUB2 configuration

# Tested on RHEL 6 & 7


# RHEL 6
# ------------------------------------------------------------------------------------------

# Adding a new entry to grub boot file is as simple as adding a new boot stanza, at the end
# of the file, to /boot/grub/grub.conf

# To modify the default boot entry, we have to change the 'default' option to point to the
# the new stanza. We can use entry position (zero-based numbering):


vi /boot/grub/grub.conf
[...]
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-358.el6.i686)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-358.el6.i686 ro root=/dev/mapper/rootvg-lv_root [...]
        initrd /initramfs-2.6.32-358.el6.i686.img
title CentOS - Backup ramdisk image
        root (hd0,0)
        kernel /vmlinuz-2.6.32-358.el6.i686 ro root=/dev/mapper/rootvg-lv_root [...]
        initrd /initramfs-2.6.32-358.el6.i686.img.bak




# RHEL 7
# ------------------------------------------------------------------------------------------

# RHEL 7 uses grub2 and /boot/grub2/grub.cfg config file, instead of the old grub.conf
# format.

# The new grub.cfg file is not intended for direct editing. Rather we have to modify the
# source file and run the grub2-mkconfig command to generate it.

# The sources files are /etc/default/grub and the scripts under /etc/grub.d/

# If we want to add a new custom entry to boot menu, we have to add a boot stanza to
# /etc/grub.d/40_custom. These stanzas will look like this:

menuentry "CentOS - Backup ramdisk image" {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos1'
        linux16 /vmlinuz-3.10.0-327.el7.i686 root=/dev/mapper/rootvg-lv_root ro crashkernel=auto [...]
        initrd16 /initramfs-3.10.0-327.el7.i686.img.bak
    }
menuentry "Another boot entry" {
        set root=(hd0,1)
        linux /vmlinuz-3.09-custom
        initrd /initrd-3.09-custom.img
    }

# To modify the default boot entry, we have to change the GRUB_DEFAULT option in
# /etc/default/grub to point to the new stanza we added. We can use entry position
# (zero-based numbering) or by name:

GRUB_DEFAULT="CentOS - Backup ramdisk image"

# or # GRUB_DEFAULT=2


# Default value of GRUB_DEFAULT is 'saved' which points to /boot/grub2/grubenv file.


# Once finished, we have to run following command in order to re-generate
# /boot/grub2/grub.cfg file:

grub2-mkconfig -o /boot/grub2/grub.cfg

0 (0)
Article Rating (No Votes)
Rate this article
Attachments
There are no attachments for this article.
Comments
There are no comments for this article. Be the first to post a comment.
Full Name
Email Address
Security Code Security Code
Related Articles RSS Feed
Fake A Hollywood Hacker Screen in Linux Terminal linux FUN
Viewed 7847 times since Thu, Apr 18, 2019
RHCS6: Clustered LVM
Viewed 2918 times since Sun, Jun 3, 2018
Jak znaleźć najszybszy publiczny serwer DNS w Polsce?
Viewed 3853 times since Mon, May 21, 2018
Logowanie za pomocą kluczy Secure Shell
Viewed 3798 times since Thu, May 24, 2018
How setting the TZ environment variable avoids thousands of system calls
Viewed 11068 times since Mon, May 21, 2018
Red Hat Enterprise Linux - Allow Root Login From a Specific IP Address Only
Viewed 3647 times since Wed, Oct 3, 2018
Linux - How to get IP and MAC address of ethernet adapter in Linux
Viewed 3498 times since Fri, Jun 8, 2018
Linux nslookup Command Examples for DNS Lookup
Viewed 10052 times since Sat, Sep 29, 2018
ZFS: Grow/Shrink an existing zfs filesystem
Viewed 7284 times since Sun, Jun 3, 2018
RHEL7: How to get started with Firewalld.
Viewed 13364 times since Wed, May 22, 2019