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 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
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
If the system was stopped and restarted and does not boot anymore, the issue can be fixed with these steps:
Option #2:
If the system was not stopped after an upgrade, please run the following two commands:
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:
Cause
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
Additional Information
- 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
For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com