Проект GRUB (GRand Unified Bootloader) продолжает развиваться, предлагая новые функции, улучшения безопасности и оптимизации. В этой статье представлен краткий обзор последних разработок в GRUB на основе недавнего отчёта о состоянии проекта на FOSDEM 2025, представленного Дэниелом Кипером, ведущим разработчиком GRUB из Oracle. Мероприятие состоялось в Брюсселе 1 февраля 2025 года.
Что такое GRUB ?
GRUB (GR и Uнифицированный Bootloader) — это мощный и гибкий загрузчик, используемый в большинстве дистрибутивов Linux. Он отвечает за загрузку операционной системы при запуске компьютера. GRUB позволяет пользователям выбирать между несколькими операционными системами, настраивать параметры загрузки и управлять параметрами восстановления системы.
Ключевые обновления в GRUB
1. Обновления за последний год
В прошлом году в GRUB было добавлено несколько новых функций для повышения безопасности и производительности системы:
- Поддержка EROFS: GRUB теперь поддерживает расширенную файловую систему только для чтения (EROFS), обеспечивая более высокую производительность и экономию места для разделов только для чтения.
- Улучшенные средства контроля безопасности: если GRUB создан с использованием
--disable-cli
, доступ к командной строке и редактирование пунктов меню будут отключены, что сократит количество векторов атак. - Поддержка ядра NX для EFI: GRUB теперь поддерживает бит запрета выполнения (NX) на платформах EFI, повышая безопасность памяти.
- Более строгое выравнивание разделов PE-файлов: GRUB обеспечивает выравнивание по размеру страницы (минимум 4 КБ), что обеспечивает лучшую совместимость с современным оборудованием и стандартами безопасности.
- Улучшенная защита памяти: GRUB теперь предотвращает одновременную запись и выполнение разделов, следуя рекомендациям по безопасности.
- Поддержка SBAT для файлов ELF: это улучшает обработку безопасной загрузки, повышая целостность системы.
- Автоматическая разблокировка диска на основе TPM2: пользователи платформ EFI и IEEE1275 PowerPC теперь могут воспользоваться преимуществами автоматической разблокировки диска с помощью TPM2.
- Улучшенное распознавание шрифтов: система сборки теперь лучше распознает шрифты для более качественной отрисовки пользовательского интерфейса.
- Улучшенное управление исправлениями в вышестоящих версиях: в вышестоящую версию GRUB включается больше исправлений из нижестоящих версий, что снижает фрагментацию.
2. События текущего года в проекте GRUB
Команда GRUB в настоящее время работает над несколькими интересными функциями и улучшениями:
- Поддержка протокола Shim Loader для платформ EFI: это повысит совместимость с реализациями безопасной загрузки.
- Поддержка TrenchBoot для архитектур x86: TrenchBoot — проект по обеспечению безопасности процесса загрузки — интегрируется в системы Intel и AMD.
- Поддержка BLS и UKI: для оптимизации процессов загрузки добавлена поддержка спецификации загрузчика (BLS) и унифицированного образа ядра (UKI).
- Расширенная безопасная загрузка с подписью для PowerPC: эта функция улучшит возможности безопасной загрузки в системах PowerPC.
- Обновления библиотек: встроенные библиотеки, включая libgcrypt (необходимую для Argon2 KDF), обновляются до последних версий.
- Перенос исправлений из нижестоящих версий в вышестоящую: команда продолжает интегрировать исправления из нижестоящих версий в вышестоящую кодовую базу.
- Настройка инфраструктуры CI: разрабатывается система непрерывной интеграции (CI) для автоматизации тестирования и повышения качества кода.
- Следующая заморозка кода и выпуск: в ближайшие месяцы планируется заморозка кода, за которой последует выпуск новой версии GRUB.
Патчи для личинок Fedora Ниже по течению
Алек Браун из Oracle предоставил статистику по обновлениям GRUB в Fedora. Вот сводка:
- GRUB 2.02: за 11 версий Fedora (с 21 по 31) количество исправлений выросло со 151 до 370, при этом многие исправления были перенесены из предыдущих версий, а также были добавлены новые исправления.
- GRUB 2.04: в Fedora 32 и 33 было в общей сложности 437 исправлений, из них 28 исправлений были перенесены из предыдущих версий, а 67 исправлений были новыми.
- GRUB 2.06: с Fedora 34 по 40 количество исправлений увеличилось до 544, из них 84 исправления были перенесены из предыдущих версий, а 98 исправлений были добавлены.
Эти цифры свидетельствуют о совместных усилиях команды разработчиков GRUB и Fedora по улучшению загрузчика.
Эти цифры также показывают, что, хотя Fedora вносит значительный вклад в развитие GRUB, многие из её исправлений теперь распространяются вверх по течению, снижая потребность в отдельных исправлениях для нисходящего потока.
Что у нас дальше со GRUB?
Благодаря постоянным улучшениям GRUB остаётся самым распространённым загрузчиком в системах Linux. Команда работает над:
- Дальнейшее распространение патчей Fedora.
- Улучшение функций безопасности, в частности для безопасной загрузки и аутентификации на основе TPM.
- Усовершенствование платформы тестирования для обеспечения надежности GRUB на современном оборудовании.
Пожалуйста, прочтите полную презентацию для получения более подробной информации.