GRUBBY(8)
π GRUBBY π β the grubby(8) page, but make it a group chat
okay bestie, sit down, hydrate, because this is the System Manager's Manual entry for grubby, and it's genuinely one of the most useful little gremlins in your whole system. π§β¨
β¨ 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]
(and yes, --title=ntry-title is written exactly like that in the synopsis, no I will not be fixing it, that's the canon π)
π¦ 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. no cap. it's the backstage crew of your boot process. π
On BIOS-based Intel x86, PowerPC and UEFI-based platforms, grub2 is the default bootloader and the configuration file is 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 format for the config files is specified at https://systemd.io/BOOT_LOADER_SPECIFICATION. The grubby tool is used to update and display the configuration defined in the BootLoaderSpec fragment files. slay. πβ¨
There are a number of ways to specify the kernel used for --info, --remove-kernel, and --update-kernel. Specifying 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. π
ok so quick vocab check bestie:DEFAULT= the one you actually boot,ALL= every single one of them,TITLE=title= everybody whose title matches. iykyk π«Ά
π OPTIONS π
--add-kernel=kernel-pathβ Add a new boot entry for the kernel located at kernel-path. new entry just dropped π₯--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-defaultis used). When--update-kernelis 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. Theroot=kernel argument gets special handling if the configuration file has special handling for specifying the root filesystem. π--bad-image-okayβ Whengrubbyis 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. π
fr fr, this is a "i know what i'm doing" flag. it skips the vibe check. use it for testing, not for your production bootloader, bestie π
--config-file=pathβ Use path as the configuration file rather then the default.--copy-defaultβgrubbywill 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. main character reveal β¨--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 thegrub2environment block file rather then the default path. π±--grub2β Configuregrub2bootloader. π--info=kernel-pathβ Display information on all boot entries which match kernel-path. If kernel-path isDEFAULT, then information on the default kernel is displayed. If kernel-path isALL, 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. crown π assigned.--remove-args=kernel-argsβ The arguments specified by kernel-args are removed from the kernels specified by--update-kernel. Therootargument gets special 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. Currently the only items that can be updated is the kernel argument list, which is modified via the--argsand--remove-argsoptions. If theALLargument is used the variableGRUB_CMDLINE_LINUXin/etc/default/grubis updated with the latest kernel argument list, unless the--no-etc-grub-updateoption is used or the file does not exist (e.g., on s390x). π οΈ--ziplβ Configureziplbootloader. π--bls-directory=pathβ Use path as the directory for the BootLoaderSpec config files rather than the default/boot/loader/entries. π--no-etc-grub-updateβ Makesgrubbyto not update theGRUB_CMDLINE_LINUXvariable in/etc/default/grubwhen the--update-kerneloption is used with theALLargument. π βοΈ
π SEE ALSO π
zipl(8), mkinitrd(8), kernel-install(8)
go read those too, they're part of the friend group π«Ά
π AUTHORS π
- Erik Troan
- Jeremy Katz
- Peter Jones
- Javier Martinez
legends, honestly. ate and left no crumbs. π
and that's the whole page bestie!! this one is from the System Manager's Manual, dated Wed Apr 29 2020, and it's the GRUBBY(8) page β go forth and configure your bootloader with main character energy. πβ¨ππ¦πΈπ
π«Ά
π¦ where this page comes from
- fedora 43: grubby 8.40-85.fc43 Β· GPL-2.0-or-later
- fedora 44: grubby 8.40-88.fc44 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms