Вопрос или проблема
Есть ряд обсуждений на эту тему, но моя ситуация кажется немного другой, когда я пытаюсь применить предложенные решения. Вчера мой ПК с двойной загрузкой обновил Windows 10. Когда я попытался войти в Ubuntu сегодня, я получил сообщение “Verifying shim SBAT data failed: Security Policy Violation”.
Я нажал кнопку питания, несколько раз нажал F2 и попал на экран, который позволил мне отключить Secure Boot, и я сохранил эти изменения. Затем появилось обычное окно для выбора Windows или Ubuntu, и я выбрал Ubuntu. Похоже, что Ubuntu может загрузиться, но потом снова появляется экран с предложением выбрать Windows или Ubuntu. Таким образом, я не могу запустить Ubuntu, чтобы выполнить команду mokutil, о которой читал в других местах. Windows загружается, если я ее выбираю.
Есть ли другие методы, чтобы запустить Ubuntu? Нужно ли делать новую установку?
Вы используете старую версию Ubuntu или ту, которая не была обновлена? Вам нужен новый shim или выключите Secure Boot.
С ноября 2022 года несколько дистрибутивов Linux, включая Ubuntu 22.04.2 и 20.04.6, обновили shim до версии 15.7, которая обеспечивает критическое обновление безопасности для устранения различных уязвимостей в загрузочном стеке. Для решения этой проблемы рекомендуется переключиться на новую инсталляционную среду, такую как Ubuntu 22.04.2, Ubuntu 20.04.6 и эквивалентные обновленные сборки других дистрибутивов.
https://discourse.ubuntu.com/t/sbat-revocations-boot-process/34996
Использование моего Kubuntu 24.04 показывает немного более новую версию:
fred@z170-noble:~$ dpkg -s shim-signed | grep Version
Version: 1.58+15.8-0ubuntu1
Обновление Windows Sbat останавливает работу старого Linux shim
Смотрите ссылку ниже от пользователя user535733. В ней содержится информация об обновлении, процедура обновления доступна после 29 августа 2024 года. Применяется только к системам с двойной загрузкой Windows и включенной UEFI Secure boot.
Если по какой-то причине вы не можете загрузить вашу систему или отключить secure boot, другим вариантом может быть загрузка недавнего Ubuntu LiveUSB ISO (24.10 сработал для меня) и ручное обновление бинарного файла Shim на разделе /boot/efi до версии 15.8 или более поздней, как описано в этой теме: https://askubuntu.com/a/1543003/879530
Удачи!
Ответ или решение
Обоснование
Ошибка «Verifying shim SBAT data failed: Security Policy Violation» при загрузке Ubuntu может возникнуть в результате обновления программного обеспечения и применения новых политик безопасности, особенно в системах с двойной загрузкой Windows и Linux с включенной безопасной загрузкой (Secure Boot). Это связано с обновлениями в компонентах загрузки, таких как «shim», которые обеспечивают работу дистрибутивов Linux в среде Secure Boot, поддерживаемой UEFI.
Secure Boot — это функция UEFI, которая предохраняет систему от загрузки неподписанных образов операционной системы. Она предназначена для защиты компьютера от загруженного вредоносного кода, который может быть внедрен в процесс загрузки. Однако такие обновления безопасности могут вызывать конфликты с существующими версиями shim в Linux, что отражается в ошибках, подобных описанной выше.
Пример
В вашем случае ошибка возникла после обновления Windows 10, что косвенно подтверждает, что последствия обновлений могут вызвать подобные проблемы с загрузчиком Ubuntu. Отключение Secure Boot — это один из вариантов обойти эту проблему, так как оно устраняет необходимость верификации образов через shim, но это не всегда возможно или рекомендуется с точки зрения безопасности.
С начала 2023 года многие дистрибутивы Linux, включая Ubuntu 22.04.2, обновили свои версии shim до 15.7 или более новых, чтобы устранить уязвимости в стеке загрузки. Это обновление может вызвать конфликты с безопасной загрузкой, если ваша версия shim устарела или не обновилась вместе с другими компонентами системы.
Применение
Вот подробные рекомендации, как можно справиться с этой ситуацией:
-
Проверка версий shim и обновление системы:
- Загрузитесь с помощью Ubuntu LiveUSB (рекомендуется использовать последнее стабильное издание) и выполните команду в терминале:
dpkg -s shim-signed | grep Version
- Убедитесь, что версия shim актуальна. Если обнаружена устаревшая версия, обновите систему. Для этого используйте команды:
sudo apt update sudo apt upgrade sudo apt install shim-signed
- Загрузитесь с помощью Ubuntu LiveUSB (рекомендуется использовать последнее стабильное издание) и выполните команду в терминале:
-
Создание загрузочного диска с использованием LiveUSB:
- Если загрузка системы невозможна, необходимо использовать LiveUSB. Создайте его на другом компьютере:
- Скачайте ISO-образ с сайта Ubuntu | скачать ISO.
- Используйте утилиту, например, Rufus, для создания загрузочного диска на флешке.
- Загрузившись с LiveUSB, вы сможете обновить shim на разделе /boot/efi вашего диска.
- Если загрузка системы невозможна, необходимо использовать LiveUSB. Создайте его на другом компьютере:
-
Отключение Secure Boot как временная мера:
- Войти в настройки BIOS/UEFI вашей машины при включении (обычно нажимая клавишу F2, Del или Esc).
- Найдите опцию Secure Boot и отключите её.
- Это действие следует рассматривать как временное решение, так как оно может ослабить защиту системы от загрузки вредоносного программного обеспечения.
-
Рассмотрение переустановки Ubuntu:
- Если ни одно из решений не помогает и все данные сохранены в резервной копии, подумайте о чистой установке Ubuntu. Убедитесь, что у вас имеется USB-накопитель с актуальной версией Ubuntu.
Эти действия позволят исправить ситуацию, вызванную несоответствием версий shim и политик Secure Boot на вашем ПК. Убедитесь в актуальности всех компонентов вашей системы и внимательно следите за новыми обновлениями, чтобы избегать подобных ситуаций в будущем.