GRUB error- no suitable video mode found

17,574

Solution 1

Solved this by copying unicode.pf2 file to /boot/grub/fonts.

Source

Solution 2

In my case I was trying to boot using GRUB command line (without grub.cfg file), so I had to load the video module to get my TinyCore to boot:

insmod all_video

Without this, I was getting the same error as OP.

However, as Aniket Bhattacharyea answered, I also did have to manually copy unicode.pf2 file to /boot/grub/fonts to get terminal_output gfxterm to output valid characters.

Share:
17,574

Related videos on Youtube

Aniket Bhattacharyea
Author by

Aniket Bhattacharyea

Updated on September 18, 2022

Comments

  • Aniket Bhattacharyea
    Aniket Bhattacharyea over 1 year

    I recently made an LFS and made some changes in GRUB. I added the update-grub command. I'm able to set background color and highlight color. But when I add a custom theme-
    update-grub gives-

    Generating grub configuration file ...
    Found theme: /boot/grub/theme/dark_squares/theme.txt
    Found linux image: /boot/vmlinuz
    Found initrd image: /boot/initrd.img-no-kmods
    done

    Looks good. Doesn't it?

    However, when I reboot, some error flashes by too fast, but it boots normally. However, I managed to ( don't ask how) read the errors-

    error: file /boot/grub/fonts/unicode.pf2 not found.
    error: no suitable video mode found

    this is my /etc/default/grub-

    # If you change this file, run grub-mkconfig -o /boot/grub/grub.cfg
    # afterwards to update /boot/grub/grub.cfg.
    GRUB_DEFAULT="0"
    GRUB_SAVE_DEFAULT="true"
    #GRUB_HIDDEN_TIMEOUT=0
    GRUB_HIDDEN_TIMEOUT_QUIET="false"
    GRUB_TIMEOUT="10"
    GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Papiya`
    GRUB_CMDLINE_LINUX_DEFAULT=""
    GRUB_CMDLINE_LINUX=""
    GRUB_THEME=/boot/grub/theme/dark_squares/theme.txt
    # Uncomment to disable graphical terminal (grub-pc only)
    #GRUB_TERMINAL=console
    # Select the terminal output device. You may select multiple devices                 here,
    # separated by spaces.
    # Valid terminal output names depend on the platform, but may include ‘console’
    # (PC BIOS and EFI consoles), ‘serial’ (serial terminal), ‘gfxterm’     (graphics-mode
    # output), ‘ofconsole’ (Open Firmware console), or ‘vga_text’ (VGA text output,
    # mainly useful with Coreboot).
    # The default is to use the platform's native terminal output. 
    GRUB_TERMINAL_OUTPUT="gfxterm"
    # The resolution used on graphical terminal
    # note that you can use only modes which your graphic card supports via VBE
    # you can see them in real GRUB with the command `vbeinfo'
    GRUB_GFXMODE="1024x768x32"
    # If graphical video support is required, either because the ‘gfxterm’ graphical
    # terminal is in use or because ‘GRUB_GFXPAYLOAD_LINUX’ is set, then grub-mkconfig
    # will normally load all available GRUB video drivers and use the one most
    # appropriate for your hardware. If you need to override this for some reason,
    # then you can set this option. After grub-install has been run, the available
    # video drivers are listed in /boot/grub/video.lst. 
    GRUB_VIDEO_BACKEND="vbe"
    # Uncomment to select a font to use
    #GRUB_FONT_PATH="/boot/grub/DejaVuSansMono.pf2"
    # Set a background image for use with the ‘gfxterm’ graphical terminal. The value
    # of this option must be a file readable by GRUB at boot time, and it must end
    # with .png, .tga, .jpg, or .jpeg. The image will be scaled if necessary to fit
    # the screen.
    #GRUB_BACKGROUND="/usr/share/grub_backgrounds/magnetar_1024x768.jpg"
    # Set to ‘text’ to force the Linux kernel to boot in normal text mode, ‘keep’ to
    # preserve the graphics mode set using ‘GRUB_GFXMODE’, ‘widthxheight’[‘xdepth’] to
    # set a particular graphics mode, or a sequence of these separated by commas or
    # semicolons to try several modes in sequence. See gfxpayload.
    #
    # Depending on your kernel, your distribution, your graphics card, and the phase of
    # the moon, note that using this option may cause GNU/Linux to suffer from various 
    # display problems, particularly during the early part of the boot sequence. If you
    # have problems, set this option to ‘text’ and GRUB will tell Linux to boot in
    # normal text mode. 
    GRUB_GFXPAYLOAD_LINUX="keep"
    
    # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
    #GRUB_DISABLE_LINUX_UUID=true
    # Uncomment to disable generation of recovery mode menu entrys
    #GRUB_DISABLE_LINUX_RECOVERY="true"
    # Uncomment to get a beep at grub start
    GRUB_INIT_TUNE="480 440 1"