DataLife Engine / Secure Boot в Linux: как обойти защиту UEFI и загрузить систему без проблем

Secure Boot в Linux: как обойти защиту UEFI и загрузить систему без проблем

Если вы пользуетесь Linux, то можете столкнуться с проблемами загрузки системы во время установки вашего любимого дистрибутива, особенно если на вашем компьютере включен Secure Boot (защищённая загрузка).

Функция Secure Boot должна добавлять дополнительный уровень защиты для вашей системы, препятствуя запуску неверифицированного программного обеспечения во время загрузки системы. Звучит неплохо. Правда?

Но не всегда это полезно. Для пользователей Linux Secure Boot может создавать больше проблем чем приносить пользы. Например, в Ubuntu 21.04 Shim файлы, используемые для поддержки Secure Boot в Linux были не совместимы с ранними прошивками EFI, из-за чего система просто не загружалась после обновления.

Конечно для Ubuntu было выпущено исправление, но к тому моменту много пользователей уже столкнулись с этой проблемой и были вынуждены разбираться что как это поправить и даже использовать Shim файлы от старой версии чтобы загрузить свою систему.

Но что же такое Secure Boot и зачем нужны Shim файлы? В этой статье мы рассмотрим что такое Secure Boot простыми словами, а также как эта функция влияет на Linux и что делать если у вас возникли с ней проблемы.


Содержание статьи

Что такое Secure Boot?

Представьте что ваш компьютер - это замок с сильным стражем у ворот, который проверяет документы у каждого кто пытается войти. Secure Boot играет роль этого стража, убеждаясь что только безопасные, проверенные программы могут быть запущены во время ранних этапов инициализации системы.

Стандарт безопасности Secure Boot был разработан для того чтобы защитить ваш компьютер от вредоносного программного обеспечения, которое может запускаться при старте и делать всё что ему необходимо ещё даже до того как операционная система полностью загрузилась.

Это часть того, что называется Unified Extensible Firmware Interface (UEFI), технологии, которая заменила BIOS. UEFI это современный способ запуска компьютера и проверки что всё корректно работает. Когда Secure Boot вклюён, ваш компьютер будет загружать только программное обеспечение, у которого есть специальная подпись. Если какая либо програма без подписи попытается загрузится, то она будет остановлена.

Как работает Secure Boot?

Secure Boot использует цепочку доверия состоящую из разных типов криптографических ключей для проверки каждого этапа загрузки. Вот их упрощенное описание:

Во время загрузки Secure Boot проверяет каждую программу, которая запускается на соответствие ключам и базе данных. Только программы, подписанные корректными ключами будут запущены.

Secure Boot в Linux: как обойти защиту UEFI и загрузить систему без проблем

Изображение от Red Hat.

Что такое Shim файлы

Теперь давайте представим, что вы пытаетесь запустить Linux на компьютере с включенным Secure Boot. У дистрибутивов Linux не всегда есть те же разрешенные подписи что и у Windows, поэтому здесь в дело входят Shim файлы.

Shim (прокладка) это небольшая программа, которая действует как переводчик между Secure Boot и операционной системой Linux. Сам Shim файл подписан с помощью ключа, который Secure Boot распознает (обычно это ключ от Microsoft), поэтому он может запускаться.

Потом Shim проверяет подпись загрузчика Linux, например GRUB, и если всё хорошо, то передает ему контроль. Этот процесс создает цепочку доверия от Secure Boot к Linux, таким образом операционная система может быть безопасно запущена на компьютерах с включённым Secure Boot. Это также работает для BSD и других не Windows систем.

Почему Secure Boot так важен?

Технология Secure Boot очень важна, поскольку она позволят защититься от самых опасных видов вирусов, таких как буткиты и руткиты. Это такие вредоносные программы, которые пытаются спрятаться в процессе загрузки, выполняясь ещё до того как запуститься сама ОС. Из-за чего их может быть очень сложно выявить и ещё сложнее удалить.

Если Secure Boot включён, то:

Когда вам следует отключить Secure Boot?

Технология Secure Boot полезна для повышения безопасности системы, но иногда от неё могут быть проблемы:

Какие дистрибутивы поддерживают Secure Boot?

Несмотря на то что технология Secure Boot создает проблемы совместимости для Linux, многие дистрибутивы вполне к ней адаптировались. Эти дистрибутивы содержат подписанные загрузчики и бинарные файлы-прокладки, которые позволяет им запускаться на системах с включённым Secure Boot.

Большинство популярных дистрибутивов поддерживают Secure Boot. Сюда входят:

И это ещё не полный список. Для того чтобы узнать поддерживает Secure Boot нужный вам дистрибутив, проверьте его официальный сайт. Поскольку не все дистрибутвы с совместимы, перед установкой не помешает проверить это. Если ваш дистрибутив не поддерживает Secure Boot вы все ещё можете отключить эту функцию в настройках UEFI или вручную добавить его загрузчик в список разрешённых.

Как отключить Secure Boot?

Если вы решите отключить Secure Boot, это довольно просто сделать:

Выводы

Мнения про Secure Boot разнятся и на то есть причины. Не смотря на то, что технология разработана чтобы улучшить безопасность, она накладывает ограничения на пользователей Linux. Особенно тех, кто пользуется пропиетарными драйверами или не популярными дистрибутивами.

Необходимость использовать подписанные в Microsoft Shim файлы понимает вопрос о зависимости от определенного производителя. К тому же если вам нужно использовать проприетарные драйвера для видео карты, то отключение Secure Boot практически необходимость, потому что иначе проприетарные драйвера могут не установиться. Это компромис, на который приходится идти, но так быть не должно.

Во всяком случае теперь вы знаете что такое Secure Boot и как эта технология влияет на загрузку вашей системы. А что вы думаете обо всём этом? Напишите в комментариях!

1-11-2025, 11:00
Вернуться назад