It seems that with the recent Windows Update, for systems that have dual-boot is not letting grub start, showing the message: Verifying shim SBAT data failed: Security Policy Violation
.
Does anyone know what can I do to fix this?
It seems that with the recent Windows Update, for systems that have dual-boot is not letting grub start, showing the message: Verifying shim SBAT data failed: Security Policy Violation
.
Does anyone know what can I do to fix this?
Okay, I managed to fix it!
I followed the instructions in: https://discourse.ubuntu.com/t/sbat-revocations-boot-process/34996
In case this can help anyone, here is what worked for me:
sudo mokutil --set-sbat-policy delete
Edit #1: This is only available for versions after Ubuntu 22.10
Edit #2: I also followed this guide recommended by user Mr. T which modifies the Windows Registry to no longer do SBAT modifications in future updates.
In a Windows CMD with admin permissions run the following command:
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot\SBAT /v OptOut /d 1 /t REG_DWORD
This is taken from Akeo's answer here.
I think your question is easy to answer:
We should therefore assume that if a Windows update from August 2024 talks about fixing a Secure Boot vulnerability in the UEFI Shim, it is likely to apply to the UEFI Shim used in an ISO that was released 4 months prior, such as the one used in the Ubuntu 24.04 ISO.
Now, Ubuntu does tend to produce refreshes of major releases, where they update the software (and can update bootloaders as well), which they will suffix with a .1
, .2
etc. The24.04.1
refresh was not released until the end of August 2024, so the 24.04
ISO you are using is still the April 2024 one, which most likely uses a Shim that has not been patched for the vulnerability that the Microsoft August update is trying to address (and therefore prevents vulnerable Shim bootloaders to run through SBAT).
And, as you mention, since you do not run a dual boot installation, the update did install the SBAT update on your system, thereby most likely preventing any Shim based Linux boot media, that uses a pre 2024.08 Shim, from booting.
Try using the Ubuntu 24.04.1 ISO and please report back how you go!
Anther solution to this issue is to disable secure boot completely in UEFI/BIOS.
The shim SBAT data failed
error means that Shim has blocked itself from executing because it found its own version on the SBAT block list. The SBAT block list is essentially a list of software versions that have security vulnerabilities and hence shouldn't be run (for details, see What is SBAT and why does everyone suddenly care?). In particular, the SBAT list was updated by Microsoft on 20th August 2024 to block Shim version 15.7 because of the CVE-2023-40547 remote code execution vulnerability.
The solution to this is to upgrade Shim to the latest version 15.8.
First turn off Secure Boot in the EFI firmware and boot your Linux install (you can re-enable Secure Boot after upgrading the Shim). The following commands must be run as root in a terminal.
Check efibootmgr -v
so see what your boot order is, and which EFI path is executed - probably /boot/efi/EFI/ubuntu/shimx64.efi
, but if your install is on a removable drive it might be /boot/efi/EFI/boot/bootx64.efi
(if you are running systemd-boot
or Debian or something else then look in /boot/efi/EFI/*
).
To check the version of the installed Shim, run:
# strings /boot/efi/EFI/ubuntu/shimx64.efi | grep '$Version:'
$Version: 15.7 $
If the version is 15.7 (as above), then you must upgrade to 15.8. You can do this automatically by upgrading the shim with apt:
apt update
apt upgrade --reinstall shim-signed
Or manually by just copying the newer shim over the old one:
# cp /usr/lib/shim/shimx64.efi.signed /boot/efi/EFI/ubuntu/shimx64.efi
Now check the Shim version:
# strings /boot/efi/EFI/ubuntu/shimx64.efi | grep '$Version:'
$Version: 15.8 $
Reboot and re-enable Secure Boot in the EFI firmware. Everything should now work.