Enroll mok что это

Немного про UEFI и Secure Boot

UEFI (Unified Extensible Firmware Interface) — замена устаревшему BIOS. Эта спецификация была придумана Intel для Itanium, тогда она еще называлась EFI (Extensible Firmware Interface), а потом была портирована на x86, x64 и ARM. Она разительно отличается от BIOS как самой процедурой загрузки, так и способами взаимодействия с ОС. Если вы купили компьютер в 2010 году и позже, то, вероятнее всего, у вас UEFI.

Основные отличия UEFI от BIOS:
Как происходит загрузка в UEFI?

С GPT-раздела с идентификатором EF00 и файловой системой FAT32, по умолчанию грузится и запускается файл \efi\boot\boot[название архитектуры].efi, например \efi\boot\bootx64.efi
Т.е. чтобы, например, создать загрузочную флешку с Windows, достаточно просто разметить флешку в GPT, создать на ней FAT32-раздел и просто-напросто скопировать все файлы с ISO-образа. Boot-секторов больше нет, забудьте про них.
Загрузка в UEFI происходит гораздо быстрее, например, загрузка моего лаптопа с ArchLinux с нажатия кнопки питания до полностью работоспособного состояния составляет всего 30 секунд. Насколько я знаю, у Windows 8 тоже очень хорошие оптимизации скорости загрузки в UEFI-режиме.

Secure Boot

«Я слышал, что Microsoft реализовывает Secure Boot в Windows 8. Эта технология не позволяет неавторизированному коду выполняться, например, бутлоадерам, чтобы защитить пользователя от malware. И есть кампания от Free Software Foundation против Secure Boot, и многие люди были против него. Если я куплю компьютер с Windows 8, смогу ли я установить Linux или другую ОС? Или эта технология позволяет запускать только Windows?»

Начнем с того, что эту технологию придумали не в Microsoft, а она входит в спецификацию UEFI 2.2. Включенный Secure Boot не означает, что вы не сможете запустить ОС, отличную от Windows. На самом деле, сертифицированные для запуска Windows 8 компьютеры и лаптопы обязаны иметь возможность отключения Secure Boot и возможность управления ключами, так что беспокоится тут не о чем. Неотключаемый Secure Boot есть только на планшетах на ARM с предустановленной Windows!

Что дает Secure Boot? Он защищает от выполнения неподписанного кода не только на этапе загрузки, но и на этапе выполнения ОС, например, как в Windows, так и в Linux проверяются подписи драйверов/модулей ядра, таким образом, вредоносный код в режиме ядра выполнить будет нельзя. Но это справедливо только, если нет физического доступа к компьютеру, т.к., в большинстве случаев, при физическом доступе ключи можно заменить на свои.

Для Linux есть 2 пре-загрузчика, которые поддерживают Secure Boot: Shim и PRELoader. Они похожи, но есть небольшие нюансы.
В Shim есть 3 типа ключей: Secure Boot keys (те, которые в UEFI), Shim keys (которые можно сгенерировать самому и указать при компиляции), и MOKи (Machine Owner Key, хранятся в NVRAM). Shim не использует механизм загрузки через UEFI, поэтому загрузчик, который не поддерживает Shim и ничего не знает про MOK, не сможет выполнить код (таким образом, загрузчик gummiboot не будет работать). PRELoader, напротив, встраивает свои механизмы аутентификации в UEFI, и никаких проблем нет.
Shim зависит от MOK, т.е. бинарники должны быть изменены (подписаны) перед тем, как их выполнять. PRELoader же «запоминает» правильные бинарники, вы ему сообщаете, доверяете вы им, или нет.
Оба пре-загрузчика есть в скомпилированном виде с валидной подписью от Microsoft, поэтому менять UEFI-ключи не обязательно.

Secure Boot призван защитить от буткитов, от атак типа Evil Maid, и, по моему мнению, делает это эффективно.
Спасибо за внимание!

Источник

🕓 Исправление зависания Ubuntu во время загрузки

Enroll mok что это. Смотреть фото Enroll mok что это. Смотреть картинку Enroll mok что это. Картинка про Enroll mok что это. Фото Enroll mok что это

В этом пошаговом руководстве показано, как справиться с зависанием Ubuntu при загрузке, установив проприетарные драйверы NVIDIA.

Учебное пособие было выполнено на недавно установленной системе Ubuntu, но оно должно быть применимо и в других случаях.

На днях я купил ноутбук Acer Predator (партнерская ссылка) для тестирования различных дистрибутивов Linux. Это громоздкий, тяжело сложенный ноутбук, который отличается от того, что мне нравятся небольшие легкие ноутбуки, такие как потрясающий Dell XPS.

Причиной, по которой я выбрал этот игровой ноутбук, хотя я не играю на ПК, является NVIDIA Graphics.

Acer Predator Helios 300 поставляется с NVIDIA Geforce GTX 1050Ti.

NVIDIA известна своей плохой совместимостью с Linux. Некоторые читатели It FOSS попросили меня помочь с их ноутбуками NVIDIA, и я ничего не мог сделать, потому что у меня не было системы с графической картой NVIDIA.

Поэтому, когда я решил приобрести новое специализированное устройство для тестирования дистрибутивов Linux, я выбрал ноутбук с графикой NVIDA.

Этот ноутбук поставляется с Windows 10, установленной на 120 ГБ SSD и 1 ТБ жесткого диска для хранения данных.

У меня дуалбут Windows 10 с Ubuntu 18.04.

Установка была быстрой, легкой и безболезненной.

Я загрузился в Ubuntu.

Она показывала знакомый фиолетовый экран, а потом я заметил, что он замерз.

Мышь не двигалась, я ничего не мог набрать, и ничего не мог сделать, кроме как выключить устройство, удерживая кнопку питания.

И это была та же история при следующей попытке входа в систему. Ubuntu просто застревает на фиолетовом экране, даже не дойдя до экрана входа в систему.

Звучит знакомо? Позвольте мне показать вам, как вы можете решить эту проблему с зависанием Ubuntu при входе в систему.

Не пользуетесь Ubuntu?
Обратите внимание, что хотя это руководство было выполнено с Ubuntu 18.04, оно также будет работать на других дистрибутивах на основе Ubuntu, таких как Linux Mint,elementary OS и т. д.

Исправление зависания Ubuntu во время загрузки из-за драйверов NVIDIA

Решение, которое я здесь опишу, работает для систем с графической картой NVIDIA.

Это потому, что ваша система зависает благодаря открытым драйверам NVIDIA Nouveau.

Без дальнейших задержек, давайте посмотрим, как решить эту проблему.

Шаг 1: Редактирование Grub

Когда вы загружаете свою систему, просто остановитесь на экране Grub, как показано ниже.

Если вы не видите этот экран, продолжайте удерживать клавишу Shift во время загрузки.

На этом экране нажмите клавишу «E», чтобы перейти в режим редактирования.

Enroll mok что это. Смотреть фото Enroll mok что это. Смотреть картинку Enroll mok что это. Картинка про Enroll mok что это. Фото Enroll mok что это

Вы должны увидеть код, подобный приведенному ниже.

Вы должны сосредоточиться на строке, которая начинается с Linux.

Enroll mok что это. Смотреть фото Enroll mok что это. Смотреть картинку Enroll mok что это. Картинка про Enroll mok что это. Фото Enroll mok что это

Шаг 2: Временное изменение параметров ядра Linux в Grub

Помните, что наша проблема с драйверами NVIDIA Graphics.

Эта несовместимость с открытой версией драйверов NVIDIA стала причиной проблемы, поэтому мы можем отключить эти драйверы.

Теперь есть несколько способов отключить эти драйверы.

Мой любимый способ – отключить все видео / видеокарты с помощью nomodeset.

Просто добавьте следующий текст в конце строки, начиная с Linux.

Вы должны быть в состоянии вводить данные.

Просто убедитесь, что вы добавляете этот текст в конце строки.

Теперь ваш экран должен выглядеть так:

Enroll mok что это. Смотреть фото Enroll mok что это. Смотреть картинку Enroll mok что это. Картинка про Enroll mok что это. Фото Enroll mok что это

Нажмите Ctrl + X или F10, чтобы сохранить изменения и выйти.

Теперь вы загрузитесь с недавно измененными параметрами ядра.

Если вы добавляете параметр nomodeset в ядро, он указывает ядру загружать видео / графические драйверы после запуска сервера дисплея.

Другими словами, вы отключили загрузку графического драйвера в это время, и конфликт, который он вызывал, исчез.

Шаг 3: Обновите вашу систему и установите проприетарные драйверы NVIDIA

Не будьте слишком счастливы только потому, что теперь вы можете войти в свою систему.

То, что вы сделали, было временным, и в следующий раз, когда вы загрузитесь в свою систему, ваша система все равно будет зависать, потому что она все равно будет пытаться загрузить драйверы Nouveau.

Значит ли это, что вам всегда придется редактировать ядро с экрана grub?

К счастью, ответ – нет.

Здесь вы можете установить дополнительные драйверы в Ubuntu для NVIDIA.

Ubuntu не зависает во время загрузки при использовании этих проприетарных драйверов.

Я предполагаю, что это ваш первый вход в недавно установленную систему.

Это означает, что вы должны обновить Ubuntu, прежде чем делать что-либо еще.

Откройте терминал с помощью сочетания клавиш Ctrl + Alt + T в Ubuntu и используйте следующую команду:

Вы можете попробовать установить дополнительные драйверы в Ubuntu сразу после выполнения вышеупомянутой команды, но, по моему опыту, вам придется перезагрузить систему, прежде чем вы сможете успешно установить новые драйверы.

А при перезапуске вам придется снова изменить параметр ядра так же, как мы делали это раньше.

После обновления и перезапуска системы нажмите на поиск драйверов, чтобы перейти в меню и выполнить поиск программного обеспечения и обновлений.

Enroll mok что это. Смотреть фото Enroll mok что это. Смотреть картинку Enroll mok что это. Картинка про Enroll mok что это. Фото Enroll mok что это

Теперь перейдите на вкладку «Дополнительные драйверы» и подождите несколько секунд.

Здесь вы увидите проприетарные драйверы, доступные для вашей системы.

Вы должны увидеть драйвера NVIDIA в этом спискеь.

Выберите проприетарный драйвер и нажмите «Применить изменения».

Enroll mok что это. Смотреть фото Enroll mok что это. Смотреть картинку Enroll mok что это. Картинка про Enroll mok что это. Фото Enroll mok что это

Это займет некоторое время при установке новых драйверов.

Если в вашей системе включена безопасная загрузка UEFI, вас также попросят установить пароль.

Вы можете установить тот пароль, что легко запомнить.

Я покажу вам его последствия позже в шаге 4.

После завершения установки вам будет предложено перезагрузить систему, чтобы изменения вступили в силу.

Шаг 4: Работа с MOK (только для устройств с поддержкой UEFI Secure Boot)

Если вас попросят установить пароль безопасной загрузки, вы увидите синий экран, который говорит о «управлении MOK».

Это сложная тема, и я попытаюсь объяснить ее в более простых терминах.

MOK (Machine Owner Key) необходим из-за функции безопасной загрузки, которая требует подписи всех модулей ядра.

Ubuntu делает это для всех модулей ядра, которые поставляются в ISO.

Поскольку вы установили новый модуль (дополнительный драйвер) или внесли изменения в модули ядра, ваша защищенная система может воспринимать это как нежелательное / постороннее изменение в вашей системе и может отказаться от загрузки.

Следовательно, вы можете либо подписать модуль ядра самостоятельно (указав системе UEFI не паниковать, потому что вы внесли эти изменения), либо просто отключить безопасную загрузку.

Теперь, когда вы немного знаете о безопасной загрузке и MOK, давайте посмотрим, что делать при следующей загрузке, когда вы увидите синий экран при следующей загрузке.

Если вы выберете «Continue boot», скорее всего, ваша система загрузится как обычно, и вам вообще ничего не нужно будет делать.

Но возможно, что не все функции нового драйвера работают правильно.

Вот почему вы должны выбрать Enroll MOK.

Enroll mok что это. Смотреть фото Enroll mok что это. Смотреть картинку Enroll mok что это. Картинка про Enroll mok что это. Фото Enroll mok что это

Он попросит вас продолжить на следующем экране, а затем попросит пароль.

Используйте пароль, который вы установили при установке дополнительных драйверов на предыдущем шаге.

Вам будет предложено перезагрузить систему.

Шаг 5: Наслаждайтесь Ubuntu Linux с проприетарными драйверами NVIDIA

Как только новый драйвер будет установлен, вам придется перезапустить вашу систему снова.

Теперь все должно быть лучше, и вам больше не нужно редактировать параметры ядра.

Вы сразу загрузитесь в Ubuntu.

Я надеюсь, что это руководство помогло вам решить проблему зависания Ubuntu во время загрузки, и вы смогли загрузить систему Ubuntu.

Если у вас есть какие-либо вопросы или предложения, пожалуйста, дайте мне знать в разделе комментариев ниже.

31 thoughts on “ 🕓 Исправление зависания Ubuntu во время загрузки ”

Спасибо большое, ты просто нереально мне помог. Большооее тебе спасибо

Всегда пожалуйста! Приятно слышать

Прочитал на Вашей странице про зависание экрана:
https://itisgood.ru/2019/04/09/ispravlenie-zavisanija-ubuntu-vo-vremja-zagruzki/
и стал делать так, как у Вас написано: нажимал на клавишу SHIFT при
старте, но у менясовсем другое(картинки прикладываю). Подскажите
пожалуста, как избавиться от зависания экрана в моём случае.

С наилучшими пожеланиями,

p.s. Картинки на сайте не могу приложить

Добрый день! Вы можете выложить листинг, когда провалились в настройки grub?
Предполагаю, что вам надо прокрутить вниз, чтобы добраться до нужной строки, которую нужно изменить.
В этом отличие.

Вот пролистал вниз и пишу:
linux bootvmlinuz-5.3/0-generic root=UUID=2970b0d2-3fdc\-40ed-9886-7146ef656861 ro quit rootfst vpe=ext4 libahci.ignore sss=1 raid=\noautodetect selinux=0 plvmouth.enable=0 lpi=11232000

И вот чуть ниже строка:
initrd /boot/initrd.img-5.3.0.-46-generic

nomodeset пробовали добавить?

Напишите пожалуйста в этом варианте в какое место это вставлять.

linux bootvmlinuz-5.3/0-generic root=UUID=2970b0d2-3fdc\-40ed-9886-7146ef656861 ro quit nomodeset

Добрый день! Я вчера всё выполнил, как ВЫ рекомендовали, при старте системы все иконки и шрифты были огромного размера, но после рестарта всё встало на свои места. Вечером при просмотре видео онлайн всё было нормально. Утром пришли обновления и в том числе и обновление ядра. После надо было перезагрузить систему. И потом уже при просмотре видео ролика на ютубе произошло зависание экрана, но звук продолжал работать. Комбинации разных вариантов клавишь просто не работали. Пришлось тупо выключить ноутбук. Вот как то так.

top – 12:42:51 up 4:43, 1 user, load average: 1,72, 1,54, 1,53
Tasks: 250 total, 3 running, 174 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4,7 us, 7,6 sy, 0,0 ni, 86,8 id, 0,0 wa, 0,0 hi, 1,0 si, 0,0 st
КиБ Mem : 8081484 total, 2434240 free, 2786848 used, 2860396 buff/cache
КиБ Swap: 2097148 total, 2097148 free, 0 used. 4937280 avail Mem

Тут все ок. Сложно сказать причину

Может проблема в видео карте? У меня стоит NVIDIA. Может проблема в настройках именно видеокарты?

Посмотрите логи по времени появления проблем, так можно гадать бесконечно 🙂

Как посмотреть логи? Объсните подробнее, если не трудно!

/var/log/syslog или messages

Не совсем понятно с /var/log/syslog или messages? Эти команды набирать через командную строку или как? Если не трудно, объясните пожалуйста подробнее.

Источник

Управление загрузчиками EFI в Linux: режим безопасной загрузки Secure Boot

Кроме реализации нового протокола загрузки, в UEFI добавлена новая функция, которая потенциально может вызвать много путаницы и проблем, но она также может улучшить безопасность системы: режим безопасной загрузки Secure Boot. Как следует из названия, режим Secure Boot является средством обеспечения безопасности. Его потенциал повышения безопасности системы будет наибольшим в системах Windows. Но, режим Secure Boot, из-за из своих особенностей, может усложнить загрузку Linux. В статье описывается, что представляет собой режим Secure Boot и как на него реагирует сообщество Linux. Имейте в виду, что ситуация меняется быстро, так что если вы читаете текст через несколько месяцев после его обновления, то положение дел уже могло измениться!

Что такое режим безопасной загрузки Secure Boot?

В течение десятилетий персональные компьютеры страдали от вирусов, червей и других вредоносных программ. Некоторые из самых ранних вирусов для персональных компьютеров распространялись как вирусы загрузочного сектора: Они размещались в виде кода в загрузочных секторах дискет и, когда пользователи загружали свои компьютеры с помощью зараженных дискет DOS, передавались от одного компьютера к другому. Несмотря на то, как дискеты потеряли свою важность, и широкую известность приобрели другие пути передачи вирусов, а обычным делом стало подключение к сети Интернет, вредоносный код, попадающий в компьютер во время начальной загрузки, всегда среди приоритетных интересов у авторов вредоносных программ. За счет того, что он выполняется раньше, чем ядро ОС возьмет управление над компьютером, вредоносная программа может «спрятаться» такими способами, которыми не удастся воспользоваться после того, как операционная система берет на себя управление. Предварительно загруженная вредоносная программа может стать невидимой для операционной системы, и антивирусным сканерам практически не удается обнаружить вредоносные программы, по крайней мере, без перезагрузки в спасательную систему, которая не заражена.

В BIOS совсем мало возможностей защиты от инфицирования предварительно загружаемыми вредоносными программами; когда происходит загрузка BIOS, ОС неявно доверяет всему, что выполняется в качестве загрузчика. До конца 2012 года это утверждение также было справедливо для большинства промышленных реализаций EFI. И для того, чтобы в процесс загрузки добавить дополнительный слой защиты был создан режим Secure Boot. При включенном режиме Secure Boot для любой программы EFI, которая запускается прошивкой, в прошивке проверяется наличие криптографической подписи. Если криптографическая подпись отсутствует, не соответствует ключу, хранящемуся в энергонезависимой памяти компьютера, или указана в энергонезависимой памяти в черном списке, то прошивка отказывается выполнять программу. Конечно, это просто начало процесса; надежный загрузчик EFI должен продолжить процесс загрузки в безопасном режиме, что в конечном счете приведет тому, что безопасной будет сама операционная система. Автору вирусов потребовалось бы создать подписанный вирус, что более трудно в случае, если пользователи контролируют работу с системными клавишами. Таким образом, предварительно загружаемая вредоносная программа может быть заблокирована. Есть масса способов чтобы затем сделать что-нибудь не так, как надо, но режим Secure Boot обеспечивает, по меньшей мере, основу, на которой можно будет создать в целом безопасный компьютер, по крайней мере, в теории!

В описании режима Secure Boot в спецификациях UEFI не предлагается никаких механизмов создания доверительной сети для ключей этого режима. Если исходить только из спецификаций UEFI, то можно решить, что режим Secure Boot будет активироваться непосредственно там, где компьютеры будут использоваться; администраторам на местах следует подписывать загрузчики, которые они используют, защищаясь тем самым от авторов вредоносных программ. Но, фирма Microsoft включила в свою сертификационную программу Windows 8 требование, которое обязывает продавцов поставлять компьютеры с включенным режимом Secure Boot. На практике это означает, что производители должны добавлять на свои компьютеры ключи от фирмы Microsoft, и если производители не будут добавлять другие ключи, то работать будут только загрузчики, подписанные Microsoft.

Затравкой первоначального публичного обсуждения этих вопросов был в сентябре 2011 года блог Мэтью Дж. Гарретта (Matthew J. Garrett), разработчика из Red Hat. Большая часть первоначального обсуждения на веб-форумах и в других общественных местах была исключительно паническая, и даже через год я иногда вижу слишком нервные посты. Я призываю успокоиться; как описано в этой статье, есть, по крайней мере, три способа решения режима Secure Boot: его отключение, использование предварительно подписанного загрузчика или использование своих собственных ключей.

Отключение режима Secure Boot

Если вы не уверены, что режим Secure Boot улучшит безопасность вашей системы, вы можете полностью его отключить. Учитывая тот факт, что большинство вредоносных программ нацелено на Windows, этот подход является наиболее разумным на компьютерах, на которых не работают системы Windows. Для того, чтобы сделать это, вы должны хорошо ориентироваться в экранах настройки, имеющихся в вашей прошивке. К сожалению, место, где должны находиться параметры режима Secure Boot, или способ, как их можно вызывать, не стандартизованы; поэтому я не могу предоставить процедуру, которая будет работать на любом компьютере. Однако я могу описать параметры на одном компьютере, который у меня есть и в котором поддерживается режим Secure Boot: материнская плата ASUS P8H77-I. Эта плата поставляется с отключенным режимом Secure Boot, но, основываясь на моем практическом опыте, я могу представить, как эта плата будет поставляться в случае, если бы она использовалась на компьютере с предварительно установленной системой Windows 8. Исходя из этих предположений, вам для того, чтобы отключить режим Secure Boot, потребуется выполнить следующее:

Конечно, прошивка вашего компьютера, скорее всего, будет отличаться от моей. Лучше всего, если вы хотите отключить режим Secure Boot, вам следует изучить параметры прошивки (настроек setup-а) вашей собственной системы. В вашей инструкции эта информация может присутствовать, либо ее там может не быть. В случае с моей материнкой ASUS P8H77-I, в руководстве не упоминалось о параметрах режима Secure Boot; я должен был разобраться с этим методом проб и ошибок. Я слышал о ситуациях, которые как лучше, так и хуже, чем с моей материнкой ASUS. В «лучшей» ситуации был пункт меню, снабженный довольно очевидным названием Secure Boot и варианты настройки Enabled (Включить) и Disabled (Выключить). В «худшей» ситуации, о которой я слышал от других, при попытке отключить режим Secure Boot красным цветом выдавались страшные сообщения, либо прежде, чем вы смогли бы получить доступ к прошивке, требовалось загрузится в Windows, и запускать программу, работающую под Windows.

Использование подписанного загрузчика

Использование программы Shim из системы Fedora

Чтобы соответствовать целям режима Secure Boot, загрузчик Linux должен обеспечивать аутентификацию ядра Linux, а дистрибутив Linux должен обеспечить дополнительные меры безопасности в тех ядрах, которые им предлагаются. К сожалению, эти цели не в ладах с философией свободы открытого исходного кода и свободой пользователей, позволяющей управлять своими компьютерами. Поэтому решение Secure Boot для Linux должно балансировать между этими двумя целями. Это именно то, что делает программа shim, созданная в системе Fedora. Она делает это с помощью поддержки использования следующих трех различных типов ключей:

Примечание: Вы можете спросить, почему эти возможности нельзя добавить в существующий загрузчик, например, в GRUB 2. Против этого есть несколько причин. Одна из них относится непосредственно к вопросам договоренностей: Как пишет в блоге Джеймса Боттомли (James Bottomley) в этом блоге, Microsoft отказывается подписывать двоичные файлы, распространяемые под некоторыми открытыми лицензиями, в том числе под лицензией GPLv3, которая используется как в GRUB 2, так и в rEFInd. Другая причина относится к сфере практики: загрузчик, такой как GRUB 2, является большой программой, которую в случае обнаружения ошибок велика может потребоваться быстро заменить. Но процесс подписания с участием третьих лиц может замедлить процесс выпуска релиза, что поставщики дистрибутивов считают неприемлемым.

Весь смысл режима Secure Boot состоит в том, чтобы предотвратить попытки вредоносной программы получить контроль над компьютером. Поэтому, когда загрузка происходит с включенным режимом Secure Boot, система Fedora 18 ограничивает действия, которые некоторые пользователи Linux считают само собой разумеющимися. Например, должны быть подписаны модули ядра Linux, что затрудняет использование драйверов ядра сторонних производителей, таких как те, которые необходимы проприетарным видеодрайверам фирм Nvidia и AMD/ATI. Чтобы запустить локально-скомпилированное ядро, вы должны подписать его ключом МОК и зарегистрировать этот ключ МОК в системе. Общий объем подобных ограничений полностью зависит от тех, кто разработал и подписал загрузчик, запускаемый с помощью программы shim, и ядра, запускаемого с помощью этого загрузчика. Скорее всего, что в некоторых дистрибутивах будут поставляться ядра, которые будут сравнительно не сильно обременены добавлением ограничений безопасности.

Примечание: Описанная здесь процедура утомительна, т.к. она требует самостоятельного подписывания загрузчиков и ядер. Как только в дистрибутивах появится программа shim, трудность этого процесса резко снизится. Если вам повезет, вы сможете использовать Ubuntu 12.10 или Fedora 18 с включенным режимом Secure Boot и не замечать отличие от установки без использования режима Secure Boot.

Если вы хотите сейчас использовать программу shim, то с практической точки зрения у вас есть три варианта: Вы можете запустить Ubuntu 12.10; вы можете запустить Fedora 18, или вы можете запустить подписанную версию, созданную Мэтью Гарретт (Matthew Garrett), добавить свой собственный ключ MOK и подписать любой двоичный файл, который захотите. К сожалению, прямо сейчас этот процесс все еще немного утомителен. Вкратце, он выглядит следующим образом:

Введите следующие две команды для создания своих открытых и закрытых ключей:

Скопируйте файл MOK.cer в каталог, где его сможет прочитать ваш загрузчик EFI, например, загрузчик ESP вашего компьютера.

Примечание: Версия 0.2 программы shim не может напрямую запускать ядра Linux. Вам все еще нужно использовать shim в сочетании с загрузчиком, например, старой версией GRUB, GRUB 2 или ELILO. Поскольку gummiboot запускает Linux с помощью системных вызовов EFI, он не будет работать с программой shim. То же самое касается программы rEFInd версий 0.4.7 и более ранних, но начиная с версии 0.5.0 rEFInd может «общаться» с программой shim и использовать ее для аутентификации загрузчиков, которые запускаются.

Нажмите клавишу со стрелкой, указывающей вниз, и для того, чтобы выбрать вариант Enroll key from disk (Взять ключ с диска), нажмите клавишу Enter. Экран будет очищен и вам будет предложено выбрать ключ, например, следующим образом:

Enroll mok что это. Смотреть фото Enroll mok что это. Смотреть картинку Enroll mok что это. Картинка про Enroll mok что это. Фото Enroll mok что это

В будущем, использовать программу shim будет легче, поскольку в дистрибутивах будут поставляться предварительно подписанные загрузчики, что устранит необходимость выполнения большинства этих шагов. Тем не менее, если вы хотите подписать свои собственные двоичные модули, вы все равно должны установить программное обеспечение, позволяющее подписывать программы, добавить свой собственный ключ через программу MokManager, и подписать двоичные файлы, которые вы создали самостоятельно или получили из другого источника.

Проверка ваших загрузчиков

Использование загрузчика PreLoader от Linux Foundation

С практической точки зрения, у PreLoader есть преимущество в случае, если вы хотите запустить не подписанный загрузчик (например, со старого дистрибутива Linux), либо если вы хотите распространять загрузочный образ системы, но у вас нет средств для оплаты вашего собственного ключа для подписи. Если вы не сильны с технической точки зрения, то в таких случаях загрузчик PreLoader особенно полезен, поскольку вам не нужно иметь дело с подписыванием ключей так, как это описано для случая применения программы shim. Если в вашем дистрибутиве подписаны загрузчики и/или ядра, то вам лучше отказаться от использования shim. Если загрузчики вашей системы (возможно, в том числе ее ядра) меняются редко и если вы готовы подписывать ключи, то любая из программ будет работать одинаково хорошо.

Чтобы использовать загрузчик PreLoader, выполните следующие действия:

Примечание: К сожалению, программа HashTool имеет очень серьезное ограничение: она может запоминать хэши только тех двоичных файлов, которые хранятся на диске, с которого эта программа запущена. Таким образом, вам, возможно, потребуется либо скопировать программу HashTool на диск, на котором хранятся ваши исполняемые файлы, либо скопировать двоичные файлы на диск, на котором хранится программа HashTool. После того, как вы запомните хэш двоичного файла, он будет работать при запуске из любого места.

В этот момент ваш компьютер должен перезагрузиться в ваш обычный загрузчик и, если вы зарегистрировали ядра и последующие загрузчики с помощью HashTool, то у вас у должна быть возможность запускать эти двоичные файлы так, как если бы они были подписаны ключом Secure Boot вашей платформы. Такая регистрация является важным пунктом. Если вы для запуска ядер Linux пользуетесь загрузчиком rEFInd или gummiboot, то вам необходимо регистрировать каждое новое ядро, когда вы (или системы пакетов вашего дистрибутива) его устанавливаете. Этот факт также означает, что у вас должна быть возможность запуска HashTool. ELILO это сделать не может, но вы можете для того, чтобы иметь возможность запускать программу HashTool, настроить rEFIt, rEFInd, gummiboot, GRUB Legacy и GRUB 2. На самом деле, загрузчик rEFInd версии 0.6.7 и последующих версий распознает двоичным модуль HashTool.efi и предоставляет на главном экране для него тег.

На самом деле загрузчик PreLoader использует за кулисами тот же список ключей MOK, что и программа shim; просто PreLoader использует его для хранения хэш-значений программ, а не их ключей. Вполне возможно, что в будущем программа shim и PreLoader будут приобретать черты друг друга. Однако на данный момент, если вы хотите использовать ключи, вы должны пользоваться программой shim, а если вы хотите использовать хэши не подписанных двоичных файлов, вы должны пользоваться загрузчиком PreLoader. Теоретически вам должно быть достаточно иметь возможность использовать один из этих инструментов с тем, чтобы запустить другой для последующего запуска вашего загрузчик, и это должно позволить вам использовать для проверки подлинности либо ключи, либо хэш-значения. Однако, я эту возможность не пробовал.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *