Если вы когда-нибудь устанавливали Linux и натыкались на странные ошибки при загрузке, особенно когда замешан Secure Boot, вы не одиноки. В этой статье разберёмся, что такое Secure Boot, что за shim-файлы с ним связаны и почему они могут мешать запуску Linux — простыми словами и без лишней терминологии.
Secure Boot (или «безопасная загрузка») придумали для одной цели — защитить систему от вредоносного ПО, которое может загрузиться ещё до запуска операционной системы. Идея хорошая: система проверяет, подписано ли загружаемое ПО цифровой подписью. Нет подписи — нет запуска.
Звучит как надёжная защита? Да. Но на практике с Linux это работает не всегда гладко.
Был, например, случай с релизом Ubuntu 21.04, где обновлённые shim-файлы оказались несовместимы с прошивками некоторых систем. В результате — система переставала загружаться, и пользователям приходилось или искать патч, или откатываться на старые shim’ы, чтобы вернуть всё в рабочее состояние.
Представьте, что ваш компьютер — это замок с привратником. Он проверяет документы у каждого, кто хочет войти.
Secure Boot — этот привратник. Он впускает только проверенное и «подписанное» программное обеспечение.
Secure Boot — часть системы UEFI (замена старому BIOS). Она запускается при старте системы и проверяет, не пытается ли кто-то «просочиться» до загрузки ОС.
Если программа не подписана, она просто не пройдёт дальше. Это снижает риск вредоносных загрузчиков и скрытых вирусов.
Здесь задействована так называемая «цепочка доверия» и несколько видов ключей:
— PK (Platform Key) — главный ключ, его устанавливает производитель (например, Dell или HP).
— KEK (Key Exchange Key) — промежуточное звено: проверяет, можно ли доверять другим ключам.
— DB (Allowed Database) — список разрешённых подписей.
— DBX (Forbidden Database) — список «чёрных» подписей, которые запускать нельзя.
При включённой безопасной загрузке каждый файл, который хочет запуститься, сверяется с этими базами. Только проверенное ПО проходит дальше.
Linux часто не имеет нужных подписей, которые признаёт Secure Boot. Вот тут и вступают в дело shim-файлы.
Shim — это как переводчик между Secure Boot и Linux. Этот маленький файл сам подписан Microsoft и проходит проверку Secure Boot. Дальше он уже проверяет загрузчик Linux (например, GRUB), и если всё нормально, передаёт ему управление.
Таким образом, shim создаёт мост между системой безопасности UEFI и Linux — и позволяет загрузить дистрибутив, даже если Secure Boot включён.
Secure Boot помогает защититься от особо коварных видов вредоносных программ — руткитов и буткитов. Они внедряются на уровне загрузки, до старта ОС, и могут творить страшные вещи — незаметно и почти неуловимо.
С включённой безопасной загрузкой:
— такие вирусы не проходят проверку и блокируются;
— неподписанные и подменённые программы не смогут повлиять на запуск;
— вы сразу увидите, если что-то идёт не так.
Бывают случаи, когда безопасная загрузка мешает больше, чем помогает:
— Вы устанавливаете дистрибутив без поддержки Secure Boot. Некоторые системы не подписаны и просто не загружаются.
— Вы используете нестандартные драйверы или загрузчики. Они могут не пройти проверку.
Если вы отключаете Secure Boot, имейте в виду: вы теряете один уровень защиты. Взамен получите больше гибкости, но будьте осторожны.
Хорошая новость: многие крупные Linux-дистрибутивы уже умеют работать с Secure Boot и поставляются с подписанными shim-файлами и загрузчиками.
Среди них:
— Ubuntu
— Fedora
— openSUSE / SUSE
— Zorin OS
— Linux Mint
— Debian
— Red Hat
Это далеко не полный список. Уточняйте на официальных сайтах, поддерживает ли ваш дистрибутив Secure Boot.
Если нет — ничего страшного. Secure Boot всегда можно отключить в BIOS или вручную добавить свой загрузчик (но для этого потребуется немного разобраться в теме).
Если всё же решили отключить:
1. Перезагрузите компьютер.
2. Зайдите в BIOS/UEFI (чаще всего нужно нажать F2, F10 или Del при запуске).
3. Найдите раздел Secure Boot (обычно в настройках «Boot» или «Security»).
4. Выключите его (Set to Disabled).
5. Сохраните изменения и перезагрузитесь.
Важно: отключение Secure Boot может снизить безопасность системы. Обязательно держите систему в актуальном состоянии и пользуйтесь антивирусом, особенно если вы часто работаете с внешними носителями или нестандартным ПО.