Почему отключение «безопасной загрузки» является обязательной политикой при установке сторонних модулей

При установке 16.04 меня попросили отключить « Secure Boot », если я хочу установить сторонние модули / драйверы .

Я не выполнил.

И когда я установил вручную единственные драйверы сторонних производителей, которые я использую ( bcmwl-kernel-source ), меня снова попросили (во время установки пакета) отключить «Безопасную загрузку».

Использование bcmwl-kernel-source было прекрасно с Secure Boot в 15.10 . Это не похоже на ошибку для меня.

Таким образом, похоже, что Ubuntu отказывается подписывать сторонние драйверы / модули, чтобы заставить его работать (??) с «Безопасной загрузкой». Или кажется, что сторонние модули считаются небезопасными и нарушают «безопасную загрузку», следовательно, сообщают об отключении, чтобы прояснить ситуацию? Я прав?

46
задан 17.07.2016, 23:03

4 ответа

Это не ошибка, это - функция.

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

Однако можно определенно использовать Защищенную загрузку, однако это - точно вариант использования, где Защищенная загрузка пытается защитить Вас от себя, потому что это не может знать, доверяете ли Вы модулю или делаете нет.

значением по умолчанию , на Вашей машине UEFI существует Ключ платформы (PK), которая является в конечном счете доверенным центром сертификации для загрузки кода в Вашем процессоре.

GRUB, или контейнер или другой механизмы начальной загрузки могут быть снабжены цифровой подписью KEK, которому доверяют полностью CA (PK), и таким образом Ваш компьютер, без любой конфигурации, может загрузить программное обеспечение как Ubuntu Живой USB/DVD.

На Ubuntu 16.04 ядро создается с CONFIG_MODULE_SIG_FORCE=1, что означает, что ядро осуществит модули, которые будут подписаны доверяемым ключом в платформе. Учтите, что платформа UEFI по умолчанию содержит PK, что Вы не имеете никакого контроля, и таким образом Вы не можете подписать двоичные файлы с ключом, распознанным Вашей собственной машиной.

Некоторые люди колотят и напыщенная речь против этого, но нет действительно никакого лучшего пути (с точки зрения безопасности), чем она являющийся собой, кто регистрирует новый ключ, который Вы хотите.

, Если Ваша система начальной загрузки использует контейнер, можно использовать что-то позвонившее, база данных Machine Owner's Key, и регистрирует ключ как MOK (Можно сделать это с mokutil). Если Вы не делаете, можно также зарегистрировать ключ в базе данных UEFI как ключ подписи.

после регистрации ключа Вы можете подписывать свой DKMS-созданный пакет с Вашим MOK (должен быть сценарий жемчуга в /usr/src/kernels/$(uname -r)/scripts/sign-file), и после того, как он подписывается, можно загрузить его в ядро .

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

можно обратиться к этому объяснению о том, как подписать собственные модули ядра: https://askubuntu.com/a/768310/12049

38
ответ дан 29.09.2019, 18:55
  • 1
    Я отключил его, и теперь я получаю раздражающий " начальная загрузка в небезопасном режиме message" там должен так или иначе отменить это? Я, может казаться, даже не объясняю проблему о форумах здесь. @ssice - я использую UBUNTU 14.04, таким образом, я не думаю, что это даже относится ко мне. [ – Eli Courtwright 01.10.2016, 03:18

Короче говоря, это не ошибка, а новое изменение, представленное в 16,04.

, поскольку то, что Вы устанавливаете, является dkms пакетом. Модули DKMS компилируются на Вашей собственной машине и таким образом Канонический не может подписать модуль для Вас. Если Канонический не может подписать его, нет никакого способа в цифровой форме проверить его. Если у Вас есть безопасная включенная начальная загрузка, который будет означать, что Ваш модуль не может использоваться, и для использования его, необходимо будет выключить безопасную начальную загрузку, вот почему Вы становитесь спрошенными вопросом.

Для того, почему это только происходит в 16,04, но не в предыдущих выпусках, Rod Smith дал хороший ответ. В Ubuntu 16.04 Ubuntu начинает осуществлять безопасную начальную загрузку к уровню ядра. Прежде 16.04, Ubuntu действительно не осуществляет Вас для использования подписанного ядра и подписанных модулей ядра, даже у Вас есть безопасная включенная начальная загрузка. Но это больше не имеет место в 16,04.

Это - связанная ошибка: https://bugs.launchpad.net/ubuntu / + source/grub2 / + ошибка/1401532

Это - связанный проект: https://blueprints.launchpad.net/ubuntu / + spec/foundations-x-installing-unsigned-secureboot

20
ответ дан 29.09.2019, 18:55
  • 1
    Я мог все еще загрузить wl модуль 16,04 beta2 и после обновления. Но теперь с выпуском я получил ошибку " modprobe: ОШИБКА: не мог вставить ' wl': Необходимый ключ не available" – Eli Courtwright 24.04.2016, 00:09
  • 2
    Можете Вы пытаться работать: sudo способная установка mokutil; sudo mokutil - запрещать-проверка – newtover 26.04.2016, 15:54

Другой способ сделать это состоит в том, чтобы создать Ваш собственный ключ, вставить общедоступную часть в базу данных MOK и подписать модули, которые Вы компилируете с половым органом. Здесь ищите подробную информацию: не Мог загрузить ' vboxdrv' после обновления Ubuntu 16.04 (и я хочу сохранить безопасную начальную загрузку)

6
ответ дан 29.09.2019, 18:55

Принятый ответ очень завершен, но я хотел бы добавить эту простую информацию, взятую отсюда:

https://askubuntu.com/a/843678/664391

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

1
ответ дан 29.09.2019, 18:55

Теги

Похожие вопросы