Secure Boot на Arch: полное включение через sbctl
Secure Boot на Arch Linux включается через утилиту sbctl: ставишь пакет, создаёшь ключи, подписываешь ядро и загрузчик, записываешь ключи в прошивку и активируешь Secure Boot в BIOS. Занимает минут десять, если прошивка не кривая.
Что такое Secure Boot и зачем он нужен
Secure Boot: механизм в UEFI-прошивке, который проверяет подписи EFI-бинарников перед загрузкой. Если подпись неизвестна или отсутствует, прошивка отказывается загружать файл. Цель: защита от подмены загрузчика и ядра до момента, когда ОС берёт контроль. Secure Boot не заменяет шифрование диска: это дополнительный слой.
Как проверить текущее состояние Secure Boot
Проверь, что видит система:
sbctl status
Утилита покажет, установлены ли ключи и в каком режиме прошивка: User Mode (Secure Boot активен) или Setup Mode (ключи можно менять). Альтернатива: bootctl status, строка Secure Boot:.
Важно: чтобы записать свои ключи, прошивка должна быть в Setup Mode. Если она в User Mode, зайди в BIOS и удали текущий Platform Key (опция «Clear Secure Boot Keys»). Об особенностях UEFI в статье про ошибку EFI variables not supported.
Что такое sbctl и почему это стандарт
sbctl (Secure Boot Key Manager): утилита от Foxboron, делающая включение Secure Boot на Arch делом пяти команд. До неё приходилось возиться с efitools и openssl, подписывая каждый бинарник отдельно. Сейчас sbctl, стандарт де-факто: генерирует ключи (PK, KEK, db), записывает их в прошивку, подписывает EFI-файлы и автоматически подписывает обновлённые ядра через pacman hook.
Как создать ключи и записать их в прошивку
Установка
sudo pacman -S sbctl
Генерация ключей
sudo sbctl create-keys
Ключи сохраняются в /etc/efi-keys/. Не теряй папку, при переустановке системы только с ними восстановишь доступ к подписанным бинарникам.
Запись ключей в прошивку
sudo sbctl enroll-keys -m
Флаг -m добавляет ключи Microsoft в базу доверия. Это критично для dualboot с Windows: иначе файлы, подписанные Microsoft (включая драйверы NVIDIA), не будут загружаться. На некоторых Lenovo ThinkPad и ASUS TUF замена ключей без Microsoft может привести к brick. Если сомневаешься, ставь с -m.
Как подписать ядро и загрузчик
Определяем, что подписывать
sudo sbctl verify
Утилита проверит EFI-файлы в /boot и покажет неподписанные. Стандартный набор для systemd-boot:
sudo sbctl sign -s /boot/vmlinuz-linux
sudo sbctl sign -s /boot/EFI/BOOT/BOOTX64.EFI
sudo sbctl sign -s /boot/EFI/systemd/systemd-bootx64.efi
Флаг -s копирует подписанный файл в /usr/lib/, чтобы pacman hook обновлял подписи автоматически. Для GRUB вместо systemd-boot подписывается grubx64.efi.
Проверка
sudo sbctl list
sudo sbctl verify
list покажет подписанные файлы, verify подтвердит порядок.
Автоподпись при обновлениях
Пакет sbctl ставит pacman hook автоматически: после каждого обновления ядра hook переподписывает бинарник. Исключение systemd-boot-update.service: загрузчик обновляется после ребута, и hook может не подхватить новый файл. Решение: подписать бинарник напрямую в /usr/lib/:
sudo sbctl sign -s -o /usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed /usr/lib/systemd/boot/efi/systemd-bootx64.efi
bootctl install подхватит файл с расширением .efi.signed.
Как включить Secure Boot в BIOS
Когда ключи записаны и ядро подписано:
- Перезагрузись и зайди в BIOS (F2, Del, Esc, зависит от платы).
- В разделе Security включи Secure Boot.
- Убедись, что Setup Mode выключен (Secure Boot должен быть в User Mode).
- Сохрани и перезагрузись.
Если система загрузилась, всё работает. sbctl status теперь должен показывать Secure Boot: enabled.
Что такое MokManager и когда он нужен
MokManager (Machine Owner Key Manager): утилита из пакета shim, которая позволяет добавлять собственные ключи (MOK) через интерфейс при загрузке. Это обходной путь для прошивок, которые не дают записать ключи напрямую в базу Secure Boot.
На практике MokManager нужен редко, sbctl справляется напрямую. Но бывают случаи: прошивка не входит в Setup Mode, нужно добавить ключ для конкретного драйвера без полной замены базы, или машина корпоративная с заблокированными настройками. Если sbctl enroll-keys отработал без ошибок, MokManager не нужен.
Какие проблемы бывают с Secure Boot
Драйвер NVIDIA не загружается
Если модули NVIDIA не подписаны, после включения Secure Boot будет чёрный экран без GUI. Подпиши модули вручную:
sudo sbctl sign -s /usr/lib/modules/$(uname -r)/kernel/drivers/video/nvidia-drm.ko.zst
Система не грузится после включения Secure Boot
Самые частые причины:
- Забыл подписать загрузчик или ядро. Перезагрузись с live-USB (Secure Boot выключи) и проверь
sbctl verify. - Прошивка не приняла ключи: проверь
sbctl status. - Ядро из AUR (zen, hardened). Подпиши его:
sudo sbctl sign -s /boot/vmlinuz-linux-zen.
Частые вопросы
Обязательно ли использовать sbctl?
Нет, есть альтернативы: systemd-ukify (systemd v254+, пакет в core), ручной процесс через efitools и sbsigntools, утилита sbupdate. Но sbctl самый удобный вариант и стандарт де-факто.
Подписывает ли sbctl только ядро?
Нет, sbctl подписывает любой EFI-бинарник: ядро, загрузчик, UKI, модули. Про сборку и подписание UKI читай в статье про разрешение проблем с gop-simpledrm и UKI.
Можно ли откатить Secure Boot?
Да. Выключи Secure Boot в BIOS или удали ключи, вернёшься в исходное состояние. Подписанные бинарники продолжат работать, просто прошивка перестанет их проверять.
Как быть с dualboot Windows?
При sbctl enroll-keys -m ключи Microsoft добавляются в базу доверия, и Windows Boot Manager загрузится без проблем. Проблемы возможны, только если Windows сменит ключ загрузчика, тогда придётся переподписать.
Заключение
Secure Boot на Arch через sbctl это реально и не больно. Десять минут: ставишь пакет, генерируешь ключи, подписываешь ядро и загрузчик, записываешь ключи с флагом -m, включаешь Secure Boot в BIOS. Дальше обновления ядра подписываются автоматически. Главное: проверь, что прошивка входит в Setup Mode и принимает ключи. Если прошивка кривая, смотри статью про EFI variables not supported. А если ставишь Arch с нуля, загляни в пошаговое руководство по установке или в установку с LVM.
Полезные ресурсы
- ArchWiki: Secure Boot: полная документация по Secure Boot в Arch Linux
- ArchWiki: Unified Kernel Image: создание и подписание UKI
Не получилось? Поможем настроить
Задай вопрос в чате — отвечаем быстро, по делу и без воды.

Комментарии