Найти в Дзене

GRUB 2.14 вышел. Да-да, тот самый загрузчик, который вы 487 раз видели перед тем, как материться на systemd

Привет! Представьте: прошло два с лишним года.
Два с половиной года люди спокойно жили с GRUB 2.12, иногда ругались на него шёпотом, иногда громко, иногда писали целые поэмы в баг-репортах.
И вдруг — бац! — 2.14. Как будто разработчики проснулись после долгой сиесты и решили: «А давайте-ка мы сейчас всех удивим». И удивили. По-настоящему. Самое смешное и одновременно полезное — поддержка EROFS.
Да-да, той самой файловой системы «только для чтения», которую придумали специально для Android, чтобы засовывать туда squashfs-образы системы и не давать никому ничего портить. Теперь GRUB умеет её читать.
То есть теоретически можно сделать загрузчик, который грузится прямо из Android-образа. Звучит как начало какого-то очень странного фанфика про конец света, но технически — уже возможно. Дальше по списку приятных сюрпризов: А ещё: Плюс классика любого серьёзного релиза:
закрыли кучу старых дыр (несколько CVE, спасибо за напоминание, что загрузчик — тоже программа, а не святое писание), пофик

Привет! Представьте: прошло два с лишним года.
Два с половиной года люди спокойно жили с GRUB 2.12, иногда ругались на него шёпотом, иногда громко, иногда писали целые поэмы в баг-репортах.
И вдруг — бац! — 2.14. Как будто разработчики проснулись после долгой сиесты и решили: «А давайте-ка мы сейчас всех удивим».

И удивили. По-настоящему.

Самое смешное и одновременно полезное — поддержка EROFS.
Да-да, той самой файловой системы «только для чтения», которую придумали специально для Android, чтобы засовывать туда squashfs-образы системы и не давать никому ничего портить. Теперь GRUB умеет её читать.
То есть теоретически можно сделать загрузчик, который грузится прямо из Android-образа. Звучит как начало какого-то очень странного фанфика про конец света, но технически — уже возможно.

Дальше по списку приятных сюрпризов:

  • LVM наконец-то подружили с LV integrity и cachevol — теперь можно спать спокойнее, если у вас сложные тома с защитой от битых блоков и кэшем
  • На EFI добавили NX-защиту (no-execute) — мелочь, а приятно, меньше шансов словить эксплойт прямо в загрузчике
  • Поддержка shim loader — привет, дистрибутивы, которым лень самим подписывать всё подряд
  • Argon2 для генерации ключей — теперь даже загрузчик может хвастаться, что он не из каменного века в плане криптографии
  • TPM2 защита ключей — для параноиков и тех, кто реально боится, что кто-то физически утащит его ноутбук
  • PowerPC-шники получили свой Secure Boot с приклеенной подписью — да, кто-то до сих пор юзает POWER-машины, и им тоже дали конфетку

А ещё:

  • переменные окружения теперь можно засунуть прямо в заголовок Btrfs (очень по-гиковски извращённо и красиво)
  • нормальная поддержка BLS и Unified Kernel Images — наконец-то можно жить в 202x-м, а не в 2015-м
  • декомпрессия zstd — привет, современный мир, где никто уже не хочет ждать, пока lz4 распакует ядро
  • проблема 2038 года? Какая проблема 2038 года? Её больше нет. GRUB теперь смотрит в будущее без паники.

Плюс классика любого серьёзного релиза:
закрыли кучу старых дыр (несколько CVE, спасибо за напоминание, что загрузчик — тоже программа, а не святое писание), пофиксили кучу багов из Coverity, подтянули libgcrypt до 1.11, дописали тесты и документацию.

Короче говоря, GRUB 2.14 — это такой «мы не забыли, что существуем, и вообще-то всё ещё важны»-релиз.
Не революция, не конец света, не «теперь у нас интерфейс как в macOS». Просто очень качественный, взрослый апгрейд штуки, без которой 99% линуксовых машин просто не стартуют.

Так что если вы из тех, кто после каждого обновления ядра заходит в /boot/grub и шепчет «ну пожалуйста, только не сломайся сегодня» — можете выдохнуть.
На этот раз ребята постарались на славу.

А мы пока качаем исходники, ставим, тестируем на виртуалках и ждём, когда через полгода-год крупные дистрибутивы начнут его тащить в свои репозитории.
Потому что, как показывает практика, GRUB обновляется редко, но метко. И этот выстрел вышел знатный. 😏