GRUB error: no server is specified

Hi everyone,
yesterday I updated my system and saw that there was a GRUB update, since there has been issues in the past with GRUB I’ve always been very diligent with checking what modules are getting updated and in particular if I see GRUB in the list I always make sure to run the following commands, as I did yesterday:

sudo grub-install --no-nvram
sudo grub-mkconfig -o /boot/grub/grub.cfg

I updated the system, ran the commands, no errors reported and I moved on. Today I restarted and got greeted with a GRUB error:

error: no server is specified
error: no suitable video mode found

Here’s a pic I managed to grab with my phone since I couldn’t find a way to consult the logs.

I’m able to land on the console version of GRUB and boot normally, but following these messages GRUB is unable to launch into graphical mode, where it shows the theme I picked, I’m guessing there’s an issue with my grub config file, but I can’t figure out the problem since until yesterday it was working normally. Here’s my /etc/default/grub file:

# GRUB boot loader configuration

GRUB_DEFAULT=0
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR="EndeavourOS"
GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=UUID=2f9f5668-7b60-4b4e-9e93-3df9e311e38b:luks-2f9f5668-7b60-4b4e-9e93-3df9e311e38b:allow-discards root=/dev/mapper/luks-2f9f5668-7b60-4b4e-9e93-3df9e311e38b resume=/dev/mapper/luks-8c9f6a9d-6937-46c2-99d7-704ca94368f5 loglevel=3 nowatchdog nvme_load=YES nvidia-drm.modeset=1 amd_pstate=passive quiet"
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=menu

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# 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=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
GRUB_THEME=/boot/grub/themes/endeavourOS/theme.txt
#GRUB_BACKGROUND="/usr/share/endeavouros/splash.png"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT=true

# Uncomment to disable submenus in boot menu
#GRUB_DISABLE_SUBMENU=y

# Probing for other operating systems is disabled for security reasons. Read
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
# functionality install os-prober and uncomment to detect and include other
# operating systems.
#GRUB_DISABLE_OS_PROBER=false
GRUB_ENABLE_CRYPTODISK=y

As you can see from the config file I’m using an encrypted device, the screenshot is taken right after I inputed the decrypt passphrase and right before the GRUB screen where you can pick which Kernel to boot from, the 2 errors appear for a split second and then GRUB launches into console mode (black background with white text and no theme). I tried scavanging for answers, but all I could find were some obscure issues from 2018 which didn’t seem too related to my issue, I also didn’t hear from anyone having issues with GRUB after the most recent couple updates that took place in the last couple of weeks.

Just for good measure I’m gonna post the output on inxi -Fxxx, this machine is a laptop:

System:
  Host: endeavour-laptop Kernel: 6.3.9-zen1-1-zen arch: x86_64 bits: 64
    compiler: gcc v: 13.1.1 Desktop: GNOME v: 44.2 tk: GTK v: 3.24.38
    wm: gnome-shell dm: GDM v: 44.1 Distro: EndeavourOS base: Arch Linux
Machine:
  Type: Laptop System: Acer product: SFX14-41G v: V1.04
    serial: <superuser required>
  Mobo: LN model: Scala_CAS v: V1.04 serial: <superuser required>
    UEFI: Insyde v: 1.04 date: 08/06/2021
Battery:
  ID-1: BAT1 charge: 57.0 Wh (100.0%) condition: 57.0/58.8 Wh (97.0%)
    volts: 17.5 min: 15.4 model: SMP AP18E7M type: Li-ion serial: 352
    status: full
CPU:
  Info: 8-core model: AMD Ryzen 7 5700U with Radeon Graphics bits: 64
    type: MT MCP smt: enabled arch: Zen 2 rev: 1 cache: L1: 512 KiB L2: 4 MiB
    L3: 8 MiB
  Speed (MHz): avg: 459 high: 554 min/max: 400/1801 boost: disabled cores:
    1: 400 2: 445 3: 475 4: 414 5: 449 6: 470 7: 554 8: 554 9: 484 10: 458
    11: 428 12: 442 13: 512 14: 408 15: 456 16: 400 bogomips: 57491
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: NVIDIA TU117M [GeForce GTX 1650 Mobile / Max-Q]
    vendor: Acer Incorporated ALI driver: nvidia v: 535.54.03 arch: Turing pcie:
    speed: 2.5 GT/s lanes: 8 bus-ID: 01:00.0 chip-ID: 10de:1f9d class-ID: 0302
  Device-2: AMD Lucienne vendor: Acer Incorporated ALI driver: amdgpu
    v: kernel arch: GCN-5 pcie: speed: 8 GT/s lanes: 16 ports: active: eDP-1
    empty: DP-1,HDMI-A-1 bus-ID: 04:00.0 chip-ID: 1002:164c class-ID: 0300
    temp: 43.0 C
  Device-3: Quanta HD User Facing driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 bus-ID: 1-3:2 chip-ID: 0408:a094 class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.8 with: Xwayland v: 23.1.2
    compositor: gnome-shell driver: X: loaded: amdgpu,nvidia
    unloaded: modesetting,radeon alternate: fbdev,nouveau,nv,vesa
    dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93")
  Monitor-1: eDP-1 mapped: eDP model: ChiMei InnoLux 0x14d5 res: 1920x1080
    hz: 60 dpi: 158 size: 309x173mm (12.17x6.81") diag: 354mm (13.9")
    modes: 1920x1080
  API: OpenGL v: 4.6 Mesa 23.1.2 renderer: AMD Radeon Graphics (renoir LLVM
    15.0.7 DRM 3.52 6.3.9-zen1-1-zen) direct-render: Yes
Audio:
  Device-1: AMD Renoir Radeon High Definition Audio
    vendor: Acer Incorporated ALI driver: snd_hda_intel v: kernel pcie:
    speed: 8 GT/s lanes: 16 bus-ID: 04:00.1 chip-ID: 1002:1637 class-ID: 0403
  Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor
    vendor: Acer Incorporated ALI driver: snd_rn_pci_acp3x v: kernel pcie:
    speed: 8 GT/s lanes: 16 bus-ID: 04:00.5 chip-ID: 1022:15e2 class-ID: 0480
  Device-3: AMD Family 17h/19h HD Audio vendor: Acer Incorporated ALI
    driver: snd_hda_intel v: kernel pcie: speed: 8 GT/s lanes: 16
    bus-ID: 04:00.6 chip-ID: 1022:15e3 class-ID: 0403
  API: ALSA v: k6.3.9-zen1-1-zen status: kernel-api
  Server-1: PipeWire v: 0.3.71 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin
Network:
  Device-1: MEDIATEK MT7921 802.11ax PCI Express Wireless Network Adapter
    vendor: Lite-On driver: mt7921e v: kernel pcie: speed: 5 GT/s lanes: 1
    bus-ID: 03:00.0 chip-ID: 14c3:7961 class-ID: 0280
  IF: wlan0 state: up mac: d8:f3:bc:80:4b:b1
  IF-ID-1: virbr0 state: down mac: 52:54:00:e5:5b:99
Bluetooth:
  Device-1: Lite-On Wireless_Device driver: btusb v: 0.8 type: USB rev: 2.1
    speed: 480 Mb/s lanes: 1 bus-ID: 1-4:3 chip-ID: 04ca:3802 class-ID: e001
    serial: 000000000
  Report: rfkill ID: hci0 rfk-id: 2 state: down bt-service: disabled
    rfk-block: hardware: no software: no address: see --recommends
Drives:
  Local Storage: total: 476.94 GiB used: 322.15 GiB (67.5%)
  ID-1: /dev/nvme0n1 vendor: SK Hynix model: HFM512GD3JX016N
    size: 476.94 GiB speed: 31.6 Gb/s lanes: 4 tech: SSD
    serial: FYA4N036210304B1I fw-rev: 41020C20 temp: 34.9 C scheme: GPT
Partition:
  ID-1: / size: 467.84 GiB used: 322.15 GiB (68.9%) fs: btrfs dev: /dev/dm-0
    mapped: luks-2f9f5668-7b60-4b4e-9e93-3df9e311e38b
  ID-2: /boot/efi size: 299.4 MiB used: 736 KiB (0.2%) fs: vfat
    dev: /dev/nvme0n1p1
  ID-3: /home size: 467.84 GiB used: 322.15 GiB (68.9%) fs: btrfs
    dev: /dev/dm-0 mapped: luks-2f9f5668-7b60-4b4e-9e93-3df9e311e38b
  ID-4: /var/log size: 467.84 GiB used: 322.15 GiB (68.9%) fs: btrfs
    dev: /dev/dm-0 mapped: luks-2f9f5668-7b60-4b4e-9e93-3df9e311e38b
Swap:
  ID-1: swap-1 type: partition size: 8.8 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/dm-1 mapped: luks-8c9f6a9d-6937-46c2-99d7-704ca94368f5
Sensors:
  System Temperatures: cpu: 46.0 C mobo: N/A gpu: amdgpu temp: 44.0 C
  Fan Speeds (RPM): N/A
Info:
  Processes: 377 Uptime: 23m wakeups: 1 Memory: available: 7.1 GiB
  used: 2.92 GiB (41.1%) Init: systemd v: 253 default: graphical Compilers:
  gcc: 13.1.1 Packages: 1399 pm: pacman pkgs: 1367 pm: flatpak pkgs: 32
  Shell: Zsh v: 5.9 running-in: terminator inxi: 3.3.27

If anyone can help me find the problem it would be greatly appreciated! Thanks in advance!

Try commenting out your grub theme and then running grub-mkconfig -o /boot/grub/grub.cfg from a chroot.

I might add that I’m currently typing this from my graphical environment since I currently have no issues with the boot process, the only problem is that the grub selection screen always falls back to console mode (after showing those 2 errors) instead of rendering in graphical mode with the theme I selected, the menu looks like the default GRUB with no customization applied, here’s a pic:

I did comment the GRUB_THEME line and ran sudo grub-mkconfig -o /boot/grub/grub.cfg, the errors are no longer shown, but since the theme line got commented out GRUB defaults to the same screen in the picture above.
The system thankfully works fine, I just lost the ability to customize the GRUB menu with a custom theme. If it can be fixed it’s great, otherwise I can easily keep the default GRUB console looking theme, it’s no big deal, but since I haven’t applied any changes to the config file and the only difference has been the new GRUB update that I installed yesterday I’m wondering if there’s something wrong with my configuration file that laid dormant for almost 1 year.

We switched from the theme to using a background instead. Is the theme you are pointing to on your system still installed?

IIRC I downloaded a custom theme a while ago, to enable it I did comment the GRUB_BACKGROUND line that can be seen in the /etc/default/grub that I pasted above, and added the GRUB_THEME line.
The custom theme I added is under /boot/grub/themes/endeavourOS. Here’s the output of the command ls -al /boot/grub/themes/endeavourOS which shows the theme still being there in the path where the GRUB_THEME variable is pointing to:

total 312K
drwxr-xr-x 1 root root  664 29 dic 15.38 ./
drwxr-xr-x 1 root root   50 29 dic 15.38 ../
drwxr-xr-x 1 root root 1,8K 29 dic 15.38 icons/
-rw-r--r-- 1 root root  69K 29 dic 15.38 background.png
-rw-r--r-- 1 root root  161 29 dic 15.38 select_c.png
-rw-r--r-- 1 root root  219 29 dic 15.38 select_e.png
-rw-r--r-- 1 root root  211 29 dic 15.38 select_w.png
-rw-r--r-- 1 root root  976 29 dic 15.38 terminal_box_c.png
-rw-r--r-- 1 root root  952 29 dic 15.38 terminal_box_e.png
-rw-r--r-- 1 root root 1,1K 29 dic 15.38 terminal_box_ne.png
-rw-r--r-- 1 root root  963 29 dic 15.38 terminal_box_n.png
-rw-r--r-- 1 root root 1,1K 29 dic 15.38 terminal_box_nw.png
-rw-r--r-- 1 root root 1,1K 29 dic 15.38 terminal_box_se.png
-rw-r--r-- 1 root root  963 29 dic 15.38 terminal_box_s.png
-rw-r--r-- 1 root root 1,1K 29 dic 15.38 terminal_box_sw.png
-rw-r--r-- 1 root root  952 29 dic 15.38 terminal_box_w.png
-rw-r--r-- 1 root root  22K 29 dic 15.38 terminus-12.pf2
-rw-r--r-- 1 root root  24K 29 dic 15.38 terminus-14.pf2
-rw-r--r-- 1 root root  24K 29 dic 15.38 terminus-16.pf2
-rw-r--r-- 1 root root  27K 29 dic 15.38 terminus-18.pf2
-rw-r--r-- 1 root root  852 29 dic 15.38 theme.txt
-rw-r--r-- 1 root root  39K 29 dic 15.38 ubuntu_regular_17.pf2
-rw-r--r-- 1 root root  46K 29 dic 15.38 ubuntu_regular_20.pf2

Since the default EndeavourOS installation now uses just a background image, has there been issues
with GRUB themes in the past that maybe made them unstable, so users should refrain from using them? I’ve been using this theme for almost 6 months now, but if they can potentially cause issues I prefer to just use the standard console layout since having to restore GRUB when it breaks can be a pain.

Grub themes add complexity and cause issues in certain circumstances as you are seeing for yourself. We decided that while the theme was nice, the background image was almost as nice and took the safer and simpler approach.

That being said, I am not sure why your theme stopped working in this scenario but error: no server is specified is often caused by a failure to load the theme. As a side note, yes, grub errors tend to be fairly unhelpful.

Ok, thank you very much for your insight. I’ll stick with the default configuration then. A working bootloader is better than a prettier bootloader. Thanks again!

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.