Один из самых известных разработчиков Linux-ядра, а также член координационного технического комитета Linux Foundation Джеймс Боттомли объявил в своем блоге о готовности нового универсального загрузчика, который подписан ключом Microsoft и позволяет загружать любые Linux-дистрибутивы в режиме UEFI Secure Boot на компьютерах с изначально предустановленной ОС Windows 8.
Аббревиатура UEFI расшифровывается как Unified Extensible Firmware Interface (унифицированный расширяемый интерфейс прошивки). Эта технология предназначена для преобразования традиционной системы загрузки компьютеров и пришла на смену устаревшей системы BIOS. Однако это не просто модернизация старой технологии, а принципиально новый подход к технологии загрузки компьютера и запуска ОС. UEFI практически не имеет ничего общего с системой BIOS (прошитой в специальном чипе на системной плате), обладая гибким программируемым интерфейсом, расположенным поверх всех аппаратных компонентов компьютера с их собственными прошивками.
По сути UEFI — это самостоятельная легкая операционная система, представляющая собой интерфейс между основной ОС и микропрограммами, управляющими аппаратными низкоуровневыми функциями оборудования, которая должна корректно его инициализировать и передать управление загрузчику основной ОС, установленной на компьютере.
Отметим, что Microsoft требует обязательной активации по умолчанию режима безопасной загрузки UEFI, который блокирует загрузку систем, не имеющих заверенной цифровой подписи для сертификации оборудования на совместимость с Windows 8. Поставка собственного ключа требовала бы соответствующего согласования о его включении в прошивку с каждым OEM-производителем, занимающимся сборкой систем, что вызвало бы немалые трудности.
У организации Linux Foundation ушло более трех месяцев на урегулирование всех организационных вопросов с Microsoft, так как помимо таких крупных дистрибутивов, как Fedora и Ubuntu, которые подготовили собственные решения для загрузки на системах UEFI Secure Boot, некоторые другие проекты посчитали процедуру сертификации своих систем у Microsoft слишком сложной.
Загрузчик состоит из двух файлов: PreLoader.efi и HashTool.efi. Боттомли также выложил в Сеть образ, готовый для быстрой организации загрузки систем с USB-накопителей. Код загрузчика и связанного с ним инструментария поставляется под лицензией GPL.
Ранее еще один из разработчиков Linux-ядра Мэтью Гаррет сообщил о готовности загрузчика Shim, сертифицированного Microsoft и способного обеспечить первичную загрузку Linux-систем с активным режимом безопасной загрузки UEFI.
Что касается различий между загрузчиками Shim и Linux Foundation, то первый для проверки загружаемых компонентов использует систему верификации по ключам, требуя создания инфраструктуры для формирования цифровых подписей, но позволяет обеспечить более полный цикл верификации всех компонентов загружаемых систем. Второй оперирует криптографическими хэшами, что существенно проще для внедрения в небольших дистрибутивах и позволяет сохранить неизменными процессы разработки, хотя и требует повторной ручной загрузки хэшей при каждом обновлении загрузчика или ядра (если ядро загружается в режиме верификации).
В случае Shim проверочный ключ дистрибутива требуется загрузить только один раз и он будет действовать на все компоненты, подписанные при помощи связанного с ним закрытого ключа. В качестве достоинств загрузчика Linux Foundation отмечается более удобный интерфейс управления загрузкой ключей/хэшей и большая универсальность, позволяющая использовать его для систем, использующих UEFI-загрузчики, подобные Gummiboot.
Планируется, что в недалеком будущем Shim и загрузчик Linux Foundation будут объединены в один проект, в частности Гаррет планирует адаптировать для работы с Shim интерфейс конфигурации и код верификации по хэшам, созданный Linux Foundation. В итоге будет подготовлен оптимальный для различных областей применения единый загрузчик.