В 1920 году родился Ванг Ан (Wang An), американский инженер-электронщик и предприниматель китайского происхождения; в 1948 году он изобрел запоминающее устройство на магнитных сердечниках, которое применялось в компьютерах до появления микросхем.
Проект GRUB (GRand Unified Bootloader) продолжает развиваться, предлагая новые функции, улучшения безопасности и оптимизации. В этой статье представлен краткий обзор последних разработок в GRUB на основе недавнего отчёта о состоянии проекта на FOSDEM 2025, представленного Дэниелом Кипером, ведущим разработчиком GRUB из Oracle. Мероприятие состоялось в Брюсселе 1 февраля 2025 года.
Что такое GRUB ?
Загрузчик GNU 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 включается больше исправлений из нижестоящих версий, что снижает фрагментацию.
Команда 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 на современном оборудовании.
Пожалуйста, прочтите полную презентацию для получения более подробной информации.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.