GRUBBY(8) System Manager's Manual GRUBBY(8)
NAME
grubby - command line tool for configuring grub and zipl
SYNOPSIS
grubby [--add-kernel=kernel-path] [--args=args]
[--bad-image-okay] [--config-file=path] [--copy-default]
[--default-kernel] [--default-index] [--default-title]
[--env=path] [--grub2] [--info=kernel-path]
[--initrd=initrd-path] [--extra-initrd=initrd-path]
[--make-default] [--remove-args=args]
[--remove-kernel=kernel-path] [--set-default=kernel-path]
[--set-default-index=entry-index] [--title=ntry-title]
[--update-kernel=kernel-path] [--zipl] [--bls-directory=path]
DESCRIPTION
grubby is a command line tool for updating and displaying information
about the configuration files for the grub2 and zipl boot loaders. It
is primarily designed to be used from scripts which install new kernels
and need to find information about the current boot environment.
On BIOS-based Intel x86 platforms, grub2 is the default bootloader and
the configuration file is in /boot/grub2/grub.cfg. On UEFI-based Intel
x86 platforms, grub2 is the default bootloader, and the configuration
file is in /boot/efi/EFI/redhat/grub.cfg. On PowerPC platforms, systems
based on Power8 and Power9 support grub2 as a bootloader and use a con-
figuration stored in /boot/grub2/grub.cfg. On s390x platforms the zipl
bootloader use a default configuration in /etc/zipl.conf.
All bootloaders define the boot entries as individual configuration
fragments that are stored by default in /boot/loader/entries. The for-
mat for the config files is specified at https://sys-
temd.io/BOOT_LOADER_SPECIFICATION. The grubby tool is used to update
and display the configuration defined in the BootLoaderSpec fragment
files.
There are a number of ways to specify the kernel used for --info,
--remove-kernel, and --update-kernel. Specificying DEFAULT or ALL
selects the default entry and all of the entries, respectively. Also,
the title of a boot entry may be specified by using TITLE=title as the
argument; all entries with that title are used.
OPTIONS
--add-kernel=kernel-path
Add a new boot entry for the kernel located at kernel-path.
--args=kernel-args
When a new kernel is added, this specifies the command line
arguments which should be passed to the kernel by default (note
they are merged with the arguments of the default entry if
--copy-default is used). When --update-kernel is used, this
specifies new arguments to add to the argument list. Multiple,
space separated arguments may be used. If an argument already
exists the new value replaces the old values. The root= kernel
argument gets special handling if the configuration file has
special handling for specifying the root filesystem.
--bad-image-okay
When grubby is looking for an entry to use for something (such
as a default boot entry) it uses sanity checks, such as ensuring
that the kernel exists in the filesystem, to make sure entries
that obviously won't work aren't selected. This option overrides
that behavior, and is designed primarily for testing.
--config-file=path
Use path as the configuration file rather then the default.
--copy-default
grubby will copy as much information (such as kernel arguments
and root device) as possible from the current default kernel.
The kernel path and initrd path will never be copied.
--default-kernel
Display the full path to the current default kernel and exit.
--default-index
Display the numeric index of the current default boot entry and
exit.
--default-title
Display the title of the current default boot entry and exit.
--env=path
Use path as the grub2 environment block file rather then the
default path.
--grub2
Configure grub2 bootloader.
--info=kernel-path
Display information on all boot entries which match kernel-path.
If kernel-path is DEFAULT, then information on the default ker-
nel is displayed. If kernel-path is ALL, then information on all
boot entries are displayed.
--initrd=initrd-path
Use initrd-path as the path to an initial ram disk for a new
kernel being added.
--extrainitrd=initrd-path
Use initrd-path as the path to an auxiliary init ram disk image
to be added to the boot entry.
--make-default
Make the new kernel entry being added the default entry.
--remove-args=kernel-args
The arguments specified by kernel-args are removed from the ker-
nels specified by --update-kernel. The root argument gets spe-
cial handling for configuration files that support separate root
filesystem configuration.
--remove-kernel=kernel-path
Removes all boot entries which match kernel-path. This may be
used along with --add-kernel, in which case the new kernel being
added will never be removed.
--set-default=kernel-path
The first entry which boots the specified kernel is made the
default boot entry.
--set-default-index=entry-index
Makes the given entry number the default boot entry.
--title=entry-title
When a new kernel entry is added entry-title is used as the
title for the entry.
--update-kernel=kernel-path
The entries for kernels matching kernel-path are updated. Cur-
rently the only items that can be updated is the kernel argument
list, which is modified via the --args and --remove-args
options. If the ALL argument is used the variable GRUB_CMD-
LINE_LINUX in /etc/default/grub is updated with the latest ker-
nel argument list, unless the --no-etc-grub-update option is
used.
--zipl Configure zipl bootloader.
--bls-directory=path
Use path as the directory for the BootLoaderSpec config files
rather than the default /boot/loader/entries.
--no-etc-grub-update
Makes grubby to not update the GRUB_CMDLINE_LINUX variable in
/etc/default/grub when the --update-kernel option is used with
the ALL argument.
SEE ALSO
zipl(8), mkinitrd(8), kernel-install(8)
AUTHORS
Erik Troan
Jeremy Katz
Peter Jones
Javier Martinez
Wed Apr 29 2020 GRUBBY(8)