GRUB-INSTALL(8)

๐Ÿ’– GRUB-INSTALL(8) ๐Ÿ’–

okay bestie, so this is grub-install, part of the System Administration Utilities family, and it's literally the moment your drive gets a whole bootloader. no cap. this is where the magic happens. ๐Ÿช„โœจ


โœจ NAME โœจ

grub-install โ€” install GRUB to a device ๐ŸŽ€


๐ŸŒธ SYNOPSIS ๐ŸŒธ

grub-install [OPTION...] [OPTION] [INSTALL_DEVICE]

๐Ÿ’… DESCRIPTION ๐Ÿ’…

Install GRUB on your drive. that's it. that's the whole vibe. your drive is about to become bootable and honestly? iconic. ๐Ÿ‘‘

the options, and yes there are SO many ๐Ÿ“

  • --appended-signature-size=SIZE โ€” drops in a note segment and reserves SIZE bytes inside it for an appended signature. future-you signing things, we love to see it. โœ๏ธ
  • --compress=no|xz|gz|lzo โ€” compress the GRUB files. it's optional, so like, no pressure. pick your fighter: no, xz, gz, or lzo. ๐Ÿ—œ๏ธ
  • --disable-cli โ€” turns OFF command line interface access. the CLI is closed, doors locked, nobody's typing anything. ๐Ÿ”’
  • --disable-shim-lock โ€” disables the shim_lock verifier. that's the whole thing, bestie. ๐Ÿค
  • --dtb=FILE โ€” embed one very specific DTB. like, FILE, that one. ๐ŸŒณ
  • -d, --directory=DIR โ€” use images and modules that live under DIR. default is [default=/usr/lib/grub/<platform>]. ๐Ÿ—‚๏ธ
  • --fonts=FONTS โ€” install FONTS. default is [default=unicode]. cute fonts for a cute boot menu. ๐ŸŽ€
  • --install-modules=MODULES โ€” install ONLY MODULES plus whatever they depend on. default is [default=all], so if you don't say anything you're getting the whole entire wardrobe. ๐Ÿ‘—
  • -k, --pubkey=FILE โ€” embed FILE as the public key used for signature checking. ๐Ÿ”‘
  • --locale-directory=DIR โ€” use the translations hanging out under DIR. default is [default=/usr/share/locale]. ๐ŸŒ
  • --locales=LOCALES โ€” install only LOCALES. default is [default=all]. ๐ŸŒ
  • --modules=MODULES โ€” pre-load these specific MODULES right out the gate. ๐Ÿš€
  • --sbat=FILE โ€” SBAT metadata, from FILE. ๐Ÿ“„
  • --themes=THEMES โ€” install THEMES. default is [default=starfield], which is lowkey gorgeous. โœจ
  • -v, --verbose โ€” print verbose messages. so you can see EVERYTHING that's happening. nosy but make it productive. ๐Ÿ‘€
  • -x, --x509key=FILE โ€” embed FILE as an x509 certificate for signature checking. ๐Ÿ”
  • --allow-floppy โ€” makes the drive also bootable as a floppy. this is the default for fdX devices. โš ๏ธ heads up bestie: it may break on some BIOSes. โš ๏ธ
  • --boot-directory=DIR โ€” install the GRUB images under DIR/grub2 instead of the boot/grub2 directory. ๐Ÿ“
  • --bootloader-id=ID โ€” the ID of the bootloader. this one is ONLY available on EFI and Macs. ๐ŸŽ
  • --core-compress=xz|none|auto โ€” pick the compression used for the core image. your choices are xz, none, or auto. ๐ŸŽ›๏ธ
  • --disk-module=MODULE โ€” which disk module to use, biosdisk or native. ONLY available on BIOS target. ๐Ÿ’ฝ
  • --efi-directory=DIR โ€” use DIR as the EFI System Partition root. ๐Ÿ 
  • --force โ€” install even if problems are detected. bold. reckless. slay. ๐Ÿ˜ค
  • --force-file-id โ€” use the identifier file even when a UUID is available. ๐Ÿ™ˆ
  • --label-bgcolor=COLOR โ€” use COLOR for the label background. ๐ŸŽจ
  • --label-color=COLOR โ€” use COLOR for the label. ๐Ÿ–Œ๏ธ
  • --label-font=FILE โ€” use FILE as the font for the label. โœ’๏ธ
  • --macppc-directory=DIR โ€” use DIR for the PPC MAC install. ๐Ÿ–ฅ๏ธ
  • --no-bootsector โ€” do NOT install the bootsector. ๐Ÿšซ
  • --no-nvram โ€” don't update the `boot-device' / `Boot*' NVRAM variables. ONLY available on EFI and IEEE1275 targets. ๐Ÿง 
  • --no-rs-codes โ€” do not apply any reed-solomon codes when embedding core.img. ONLY available on x86 BIOS targets. ๐Ÿงฎ
  • --product-version=STRING โ€” use STRING as the product version. ๐Ÿท๏ธ
  • --recheck โ€” delete the device map if it already exists. out with the old. ๐Ÿงน
  • --removable โ€” the installation device is removable. ONLY available on EFI. ๐Ÿ”Œ
  • -s, --skip-fs-probe โ€” do not probe for filesystems in DEVICE. mind your business, filesystem. ๐Ÿ™…
  • --target=TARGET โ€” install GRUB for the TARGET platform. default is [default=x86_64-efi]. available targets, and I'm listing every single one because we do not gatekeep: arm-coreboot, arm-efi, arm-uboot, arm64-efi, i386-coreboot, i386-efi, i386-ieee1275, i386-multiboot, i386-pc, i386-qemu, i386-xen, i386-xen_pvh, ia64-efi, loongarch64-efi, mips-arc, mips-qemu_mips, mipsel-arc, mipsel-loongson, mipsel-qemu_mips, powerpc-ieee1275, riscv32-efi, riscv64-efi, sparc64-ieee1275, x86_64-efi, x86_64-xen. ๐ŸŽฏ
  • -?, --help โ€” give this help list. hi, you're here. ๐Ÿซถ
  • --usage โ€” give a short usage message. the tl;dr version. โšก
  • -V, --version โ€” print program version. ๐Ÿ“Œ

๐Ÿฆ‹ one more note about arguments ๐Ÿฆ‹

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options. yeah. the rules follow the flag around, they don't just abandon the short version. ๐Ÿ’ซ

INSTALL_DEVICE must be a system device filename. grub-install copies the GRUB images into boot/grub2. on some platforms, it may also install GRUB into the boot sector. so like, depending on your platform, it's doing a little extra. that's just how it is. ๐ŸŒˆ


๐Ÿ˜ญ REPORTING BUGS ๐Ÿ˜ญ

Report bugs to <bug-grub@gnu.org>. be nice to them, they're doing their best. ๐Ÿ’Œ


๐Ÿ‘‘ SEE ALSO ๐Ÿ‘‘

The full documentation for grub-install is maintained as a Texinfo manual. If the info and grub-install programs are properly installed at your site, the command

info grub-install

should give you access to the complete manual. the full lore, if you will. ๐Ÿ“–โœจ


and that's the whole page bestie!! this one's from GRUB 2.12, dated April 2026, and it's the GRUB-INSTALL(8) page itself โ€” go install something and be the main character of your own boot process ๐Ÿ’–๐ŸŽ€๐Ÿฆ‹๐ŸŒธ๐Ÿ’…๐Ÿซถ๐Ÿ‘‘

๐Ÿ“ฆ where this page comes from