Состояние поддержки UEFI Secure Boot в дистрибутивах Linux. Жесткая привязка к Windows в Microsoft Surface
Мэтью Гаррет (Matthew Garrett), один из разработчиков ядра Linux, последнее время занимающийся обеспечением загрузки Linux на системах с UEFI, опубликовал несколько заметок, рассказывающих о состоянии поддержки работы Linux на устройствах, поставляемых с предустановленной операционной системой Windows 8 и активированным режимом UEFI Secure Boot.
Статус поддержки UEFI Secure Boot в дистрибутивах Linux выглядит следующим образом:
- 64-разрядная сборка Ubuntu 12.10 поставляется с загрузчиком Shim, подписанным ключом Microsoft, что позволяет без проблем загружать данный дистрибутив на большинстве компьютеров с активным режимом UEFI Secure Boot. Тем не менее, в состав не включены некоторые недавно созданные EFI-патчи, решающие проблемы с совместимостью с некоторыми моделями компьютеров.
- 64-разрядная сборка дистрибутива Fedora 18, выход которого ожидается после новогодних праздников, в полной мере будет поддерживать загрузку на системах UEFI Secure Boot. В настоящее время уже можно использовать тестовые сборки Fedora 18 со свежим загрузчиком Shim, подписанным ключом Microsoft и включающим поддержку функций MOK (Machine Owner Keys), позволяющих использовать собственные ключи для заверения загрузчика. В дистрибутив также включены дополнительные патчи для решение проблем с загрузкой на некоторых EFI-системах, в частности, на компьютерах, укомплектованных графическими чипами Radeon;
- Основанный на Gentoo дистрибутив Sabayon, судя по документации, поддерживает UEFI Secure Boot из коробки, благодаря использованию ранее опубликованного для публичного использования загрузчика Shim, подписанного ключом Microsoft и в процессе загрузки требующего ручного выбора пути к ключам верификации от разработчиков дистрибутива;
- SUSE будет использовать загрузчик Shim, подписанный ключом Microsoft;
- В инсталлятор Debian добавлена возможность загрузки на системах UEFI, но на данный момент отсутствует поддержка UEFI Secure Boot.
- Проект по созданию универсального загрузчика от организации Linux Foundation пока буксует на стадии заверения подготовленного загрузчика в сервисе Microsoft. В отличии от уже доступного аналогичного решения для сторонних дистрибутивов на базе загрузчика Shim, загрузчик Linux Foundation, вместо процесса выбора при установке подготовленного создателями дистрибутива ключа, при отсутствии проверочного ключа требует от пользователя при каждой загрузке вручную подтверждать своё согласие на продолжение загрузки, после чего управление будет передаваться обычному загрузчику, не заверенному цифровой подписью. Если вторичный загрузчик будет снабжен корректной цифровой подписью, проверочный ключ для которой присутствует в базе MOK, то загрузка будет производится без лишних подтверждений от пользователя. Кроме того, загрузчик от Linux Foundation будет поддерживать возможность генерации и сохранения ключа для дистрибутивного загрузчика с использованием режима настройки UEFI (Setup Mode).
Дополнительно, Мэтью Гаррет рассказал о проблемах с которыми столкнутся энтузиасты, желающие установить Linux на планшет Microsoft Surface, построенный на платформе NVIDIA Tegra 3 с четырёхядерным процессором ARM Cortex-A9 1.3GHz, 2 Гб ОЗУ и 32 или 64 Гб встроенной Flash-памяти. В Microsoft Surface используется стандартная технология UEFI Secure Boot и привязанная к устройству прошивка, которая поддерживает только загрузку подписанных исполняемых файлов. Казалось бы, что достаточно использовать подписанный через сервис Microsoft загрузчик для обеспечения работы сторонних систем, но не всё так просто - в Microsoft Surface задействован отдельный ключ верификации, который используется Microsoft только для Windows. В связи с этим, замена предустановленной на планшет операционной системы Windows RT возможна только через эксплуатацию уязвимостей в прошивке.
Теоретически, не исключена подобная ситуация и для систем x86. Так как Microsoft не требует от производителей включения в прошивку ключа верификации драйверов, который используется для подписи сторонних продуктов в сервисе Microsoft, если данный проверочный ключ не будет включён в прошивку UEFI система может быть сертифицирована на совместимость с Windows 8, но не сможет загружать сторонние ОС, поставляемые с загрузчиком, заверенным в сервисе Microsoft. В настоящее время фактов появления подобных систем не выявлено и маловероятно, что такие системы появятся, так как в них будет блокирована возможность использования дополнительного стороннего оборудования, подключаемого через слоты PCIe и Expresscard.
Третья заметка Мэтью Гаррета содержит инструкцию по загрузке Linux-дистрибутивов с загрузчиком Shim на машинах, инициализирующих клавиатуру только после начала загрузки ОС (режим Windows 8 fast boot) из-за чего пользователь не может выбрать альтернативное устройство для загрузки. Для решения данной проблемы следует после начала загрузки Windows 8 удерживать клавишу Shift, нажать на иконке выключения, выбрать