Вопрос или проблема
Похоже, что с недавним обновлением Windows для систем с двойной загрузкой grub не запускается, показывая сообщение: Проверка данных SBAT shim не удалась: Нарушение политики безопасности
.
Кто-нибудь знает, что я могу сделать, чтобы исправить это?
Хорошо, я смог это исправить!
Я следовал инструкциям по адресу: https://discourse.ubuntu.com/t/sbat-revocations-boot-process/34996
Если это может помочь кому-то, вот что сработало для меня:
- Отключите Secure Boot в BIOS
- Войдите в свою учетную запись Ubuntu и откройте терминал
- Удалите политику SBAT с помощью:
sudo mokutil --set-sbat-policy delete
- Перезагрузите компьютер и снова войдите в Ubuntu, чтобы обновить политику SBAT
- Перезагрузите и снова включите безопасную загрузку в вашем BIOS.
Редактирование #1:
Это доступно только для версий после Ubuntu 22.10
Редактирование #2:
Я также следовал этому руководству, рекомендованному пользователем Mr. T, которое изменяет реестр Windows, чтобы больше не вносить изменения SBAT в будущих обновлениях.
В командной строке Windows с правами администратора выполните следующую команду:
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot\SBAT /v OptOut /d 1 /t REG_DWORD
Это взято из ответа Akeo здесь.
Я думаю, что на ваш вопрос легко ответить:
- Как указывает его номер версии, Ubuntu 24.04 был выпущен в апреле 2024 года.
- Обновление Microsoft, о котором вы, похоже, говорите (KB5041160), было выпущено в августе 2024 года.
Следовательно, мы должны предположить, что если обновление Windows от августа 2024 года говорит о исправлении уязвимости Secure Boot в UEFI Shim, это, вероятно, относится к UEFI Shim, использованному в ISO, выпущенном за 4 месяца до этого, например, к тому, который использовался в ISO Ubuntu 24.04.
Теперь Ubuntu, как правило, производит обновления крупных релизов, где они обновляют программное обеспечение (и также могут обновлять загрузчики), что они помечают как .1
, .2
и так далее. Обновление 24.04.1
не было выпущено до конца августа 2024 года, поэтому ISO 24.04
, которое вы используете, все еще относится к апрелю 2024 года, и, скорее всего, использует Shim, который не был исправлен от уязвимости, которую обновление Microsoft в августе пытается устранить (и, следовательно, предотвращает запуск защищенных загрузчиков Shim через SBAT).
И, как вы упоминаете, поскольку у вас нет установки с двойной загрузкой, обновление действительно установило обновление SBAT на вашей системе, тем самым, вероятно, предотвращая запуск любых загрузочных носителей Linux на основе Shim, которые используют Shim до версии 2024.08.
Попробуйте использовать ISO Ubuntu 24.04.1 и, пожалуйста, дайте знать, как у вас дела!
Другим решением этой проблемы является полное отключение безопасной загрузки в UEFI/BIOS.
Ответ или решение
Проблема с сообщением об ошибке "Verifying shim SBAT data failed: Security Policy Violation", возникающей после недавнего обновления Windows, стала довольно распространенной среди пользователей, имеющих систему с двойной загрузкой. Это сообщение указывает на то, что система не может загрузить GRUB, так как возникло нарушение политики безопасности из-за недавних изменений в Secure Boot.
Причины проблемы
Отметим, что с августа 2024 года Microsoft выпустила обновление (KB5041160), которое исправляет уязвимость в UEFI Shim. Это исправление требует использования обновленной версии Shim, совместимой с новыми политиками безопасности SBAT (Secure Boot Anti-Malware). Если ваша версия Ubuntu (например, 24.04) использует более старую версию Shim, она может не пройти проверку, что приводит к возникновению вышеупомянутой ошибки.
Решения проблемы
Несмотря на возникающую проблему, существуют несколько способов ее решения, о которых упомянули пользователи на форумах.
-
Отключение Secure Boot в BIOS:
- Перейдите в настройки BIOS и отключите режим Secure Boot. Это позволит вашей системе загрузить GRUB и загрузиться в Ubuntu без дополнительных проверок Shim.
-
Удаление политики SBAT:
- Войдите в вашу систему Ubuntu и откройте терминал.
- Выполните команду:
sudo mokutil --set-sbat-policy delete
- Перезагрузите компьютер, чтобы изменения вступили в силу.
-
Обновление политик SBAT:
- После перезагрузки снова войдите в систему и выполните необходимые обновления, чтобы обновить политику SBAT. Важно, чтобы вы использовали версию Ubuntu не ниже 22.10, так как только с этого выпуска доступно изменение конфигурации SBAT.
-
Снова включите Secure Boot:
- После успешного обновления политик вернитесь в BIOS и активируйте Secure Boot. Убедитесь, что теперь ваша система загружается без ошибок.
Альтернативные меры
В дополнение к вышеперечисленным шагам, вы можете также использовать следующее решение для предотвращения дальнейших проблем после обновлений Windows:
- Модификация реестра Windows:
- Запустите командную строку с правами администратора и выполните следующую команду:
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot\SBAT /v OptOut /d 1 /t REG_DWORD
Это действие отключит модификации SBAT во время будущих обновлений Windows, тем самым защитив вашу загрузочную среду от дальнейших нарушений.
- Запустите командную строку с правами администратора и выполните следующую команду:
Заключение
Таким образом, использование указанных методов может помочь устранить ошибку "Verifying shim SBAT data failed: Security Policy Violation" и восстановить сеанс загрузки GRUB на системе с двойной загрузкой. Вместе с тем, учитывая поправки от Microsoft и обновления дистрибутивов Linux, рекомендуется регулярно проверять доступные обновления как для Windows, так и для Ubuntu, чтобы поддерживать гарантированную безопасность и совместимость систем.