GRUB- "No suitable mode found"
If you get this error when booting any menuentry:
error: no suitable mode found Booting however
Then you need to initialize GRUB graphical terminal (gfxterm
) with proper video mode (gfxmode
) in GRUB. This video mode is passed by GRUB to the linux kernel via 'gfxpayload'. In case of UEFI systems, if the GRUB video mode is not initialized, no kernel boot messages will be shown in the terminal (atleast until KMS kicks in).
Copy /usr/share/grub/unicode.pf2
to ${GRUB_PREFIX_DIR} (/boot/grub/
in case of BIOS and UEFI systems). If GRUB UEFI was installed with --boot-directory=$esp/EFI
set, then the directory is $esp/EFI/grub/
:
# cp /usr/share/grub/unicode.pf2 ${GRUB_PREFIX_DIR}
If /usr/share/grub/unicode.pf2
does not exist, install bdf-unifont, create the unifont.pf2
file and then copy it to ${GRUB_PREFIX_DIR}
:
# grub-mkfont -o unicode.pf2 /usr/share/fonts/misc/unifont.bdf
Then, in the grub.cfg
file, add the following lines to enable GRUB to pass the video mode correctly to the kernel, without of which you will only get a black screen (no output) but booting (actually) proceeds successfully without any system hang.
BIOS systems:
insmod vbe
UEFI systems:
insmod efi_gop insmod efi_uga
After that add the following code (common to both BIOS and UEFI):
insmod font
if loadfont ${prefix}/fonts/unicode.pf2 then insmod gfxterm set gfxmode=auto set gfxpayload=keep terminal_output gfxterm fi
As you can see for gfxterm (graphical terminal) to function properly, unicode.pf2
font file should exist in ${GRUB_PREFIX_DIR}
.