SUSE Support

Here When You Need Us

grub2 error: symbol `grub_file_filters' not found

This document (000019919) is provided subject to the disclaimer at the end of this document.

Environment

SUSE Linux Enterprise Server 15 SP 4
SUSE Linux Enterprise Server 15 SP 3
SUSE Linux Enterprise Server 15 SP 2
SUSE Linux Enterprise Server 15 SP 1
SUSE Linux Enterprise Server 12 SP 5
SUSE Linux Enterprise Server 12 SP 4 LTSS

SUSE Linux Enterprise Server for SAP Applications 15 SP 4
SUSE Linux Enterprise Server for SAP Applications 15 SP 3
SUSE Linux Enterprise Server for SAP Applications 15 SP 2
SUSE Linux Enterprise Server for SAP Applications 15 SP 1
SUSE Linux Enterprise Server for SAP Applications 12 SP 5
SUSE Linux Enterprise Server for SAP Applications 12 SP 4 ESPOS

Microsoft Azure

Situation

An Azure Gen2 VM instance was stopped (deallocated) and restarted.  Booting the instance failed and a similar GRUB 2 error was shown in the Azure Serial console:
 
   Loading Linux 5.3.18-24.49-default ...
   error: symbol `grub_file_filters' not found.
   Loading initial ramdisk ...
   error: symbol `grub_file_filters' not found.

   Press any key to continue...


Similar messages for other missing symbols (for example 'grub_efi_get_secureboot') may also be resolved by the steps in this article.

Resolution

Option #1:

If the system was stopped and restarted and does not boot anymore, the issue can be fixed with these steps: 
 
1- Create a SLES 15 SP2 based rescue VM and set up the chroot environment as described at:
 
2- Access the chroot environment and install the UEFI "shim" package and install Secure Boot loader:
 
# zypper in shim
# /usr/sbin/shim-install --removable
 
3- Exit the chroot environment as described in the link from step 1
 

Option #2:

If the system was not stopped after an upgrade, please run the following two commands:
 
1- Install the UEFI "shim" package and install Secure Boot loader:
 
# zypper in shim
# /usr/sbin/shim-install --removable


Notes:

A patch updating the grub2 package was officially released, see the table below the minimum required grub2 package version for the different SLE releases:

 
 SLES version grub2 package version
 SUSE Linux Enterprise Server for SAP Applications 15 SP4 grub2-2.06-150400.9.9
 SUSE Linux Enterprise Server for SAP Applications 15 SP3 grub2-2.04-20.4
 SUSE Linux Enterprise Server for SAP Applications 15 SP2 grub2-2.04-9.42.1
 SUSE Linux Enterprise Server for SAP Applications 15 SP1 grub2-2.02-123.4.1
 SUSE Linux Enterprise Server for SAP Applications 12 SP5 grub2-2.02-164.1
 SUSE Linux Enterprise Server for SAP Applications 12 SP4 grub2-2.02-164.1


The grub2 package changelog will contain:
 
- Fix error grub_file_filters not found in Azure virtual machine (bsc#1182012)
  * 0001-Workaround-volatile-efi-boot-variable.patch

 

Cause

The EFI variable in Microsoft Azure virtual machine is volatile that it cannot persist in case of power cycling, fencing an Azure instance or change the size of the Azure instance.

If we use EFI variable to communicate with efi boot manager for booting a distribution, the process would silently fail as the default loader in the efi system partition /boot/efi/EFI/BOOT/bootx64.efi
will start to take over the process whenever the EFI variable evaporated.

That will lead to undefined symbol error one day as the default path /boot/efi/EFI/BOOT/ didn't receive any GRUB update, so it cannot keep up with new ABI requirement by updated GRUB modules.

With the GRUB patch mentioned above, `grub-install' will generate the /boot/grub2/x86_64-efi/core.efi containing the host information and copy the bootloader file to the default path (that is, for x86_64 the /boot/efi/EFI/BOOT/BOOTX64.EFI file) along with other required and distribution specific files (for example /boot/efi/EFI/sles/grubx64.efi).
 

Status

Top Issue

Additional Information

Notes:

- This GRUB 2 error will not be shown if the Azure instance would have been rebooted from Azure portal/CLI or executing "reboot" command from OS.

- SLES releases before SLE 15 SP2 can be affected as well.


Documentation:

SUSE and Secure Boot: The Details
https://www.suse.com/c/uefi-secure-boot-details/

Change the OS disk used by an Azure VM using the CLI:
https://docs.microsoft.com/en-us/azure/virtual-machines/linux/os-disk-swap

Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:000019919
  • Creation Date: 18-Mar-2021
  • Modified Date:22-Jan-2024
    • SUSE Linux Enterprise Server
    • SUSE Linux Enterprise Server for SAP Applications

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com

tick icon

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

tick icon

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.

tick icon

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.