---
name: "grub-mkimage"
section: "1"
platform: "linux"
package: "grub"
version: "2:2.16-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/grub-mkimage"
---

# grub-mkimage(1)

make a bootable image of GRUB

## NAME

grub-mkimage - make a bootable image of GRUB

## SYNOPSIS

**grub-mkimage** \[*OPTION*...\] \[*OPTION*\]... \[*MODULES*\]

## DESCRIPTION

Make a bootable image of GRUB.

- **-c**, **--config**=*FILE*

  embed FILE as an early config

- **-C**, **--compression=**(xz\|none\|auto)

  choose the compression to use for core image

- **--disable-cli**

  disable command line interface access

- **--disable-shim-lock**

  disable shim\_lock verifier

- **-d**, **--directory**=*DIR*

  use images and modules under DIR \[default=/usr/lib/grub/\<platform\>\]

- **-D**, **--dtb**=*FILE*

  embed FILE as a device tree (DTB)

- **-k**, **--pubkey**=*FILE*

  embed FILE as public key for PGP signature checking

- **-m**, **--memdisk**=*FILE*

  embed FILE as a memdisk image

Implies \`-p (memdisk)/boot/grub' and overrides

- any prefix supplied previously, but the prefix

  itself can be overridden by later options

- **-n**, **--note**

  add NOTE segment for CHRP IEEE1275

- **-o**, **--output**=*FILE*

  output a generated image to FILE \[default=stdout\]

- **-O**, **--format**=*FORMAT*

  generate an image in FORMAT available formats: i386-coreboot, i386-multiboot, i386-pc, i386-xen\_pvh, i386-pc-pxe, i386-pc-eltorito, i386-efi, i386-ieee1275, i386-qemu, x86\_64-efi, i386-xen, x86\_64-xen, mipsel-yeeloong-flash, mipsel-fuloong2f-flash, mipsel-loongson-elf, powerpc-ieee1275, sparc64-ieee1275-raw, sparc64-ieee1275-cdcore, sparc64-ieee1275-aout, ia64-efi, mips-arc, mipsel-arc, mipsel-qemu\_mips-elf, mips-qemu\_mips-flash, mipsel-qemu\_mips-flash, mips-qemu\_mips-elf, arm-uboot, arm-coreboot-vexpress, arm-coreboot-veyron, arm-efi, arm64-efi, loongarch64-efi, riscv32-efi, riscv64-efi

- **-p**, **--prefix**=*DIR*

  set prefix directory

- **-s**, **--sbat**=*FILE*

  SBAT metadata

- **-S**, **--appended-signature-size**=*SIZE*

  Add a note segment reserving SIZE bytes for an appended signature

- **-v**, **--verbose**

  print verbose messages.

- **-x**, **--x509key**=*FILE*

  embed FILE as an x509 certificate for appended signature checking

- \-?, **--help**

  give this help list

- **--usage**

  give a short usage message

- **-V**, **--version**

  print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.

## REPORTING BUGS

Report bugs to \<bug-grub@gnu.org\>.

## SEE ALSO

[**grub-install**(8)](/grub-install/8.md), [**grub-mkrescue**(1)](/grub-mkrescue/1.md), [**grub-mknetdir**(8)](/grub-mknetdir/8.md)

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

-

  **info grub-mkimage**

should give you access to the complete manual.
