Включить беспроводную связь не видно в Ubuntu 17.04 после установки [dубликат]

Эта проблема возникает только в системах UEFI с включенной защищенной загрузкой.

Когда я пытаюсь установить DKMS-модули, такие как VirtualBox, Nvidia или драйверы Broadcom, они не устанавливаются, и я получаю Required key not available, когда я попробуйте modprobe их.

VirtualBox жалуется, что vboxdrv не загружен.

Драйвер Broadcom wl показан в lspci -k в качестве модуля ядра, но не включен использовать. sudo modprobe wl throws Required key not available.

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

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

Как я могу это исправить?

57
задан 19 February 2017 в 22:36

8 ответов

Так как в ядре Ubuntu 4.4.0-20 включена конфигурация ядра EFI_SECURE_BOOT_SIG_ENFORCE. Это предотвращает загрузку неподписанных сторонних модулей, если включена UEFI Secure Boot.

Самый простой способ исправить эту проблему - отключить Безопасную загрузку в настройках UEFI (BIOS).

В большинстве вы можете войти в настройки UEFI, используя меню grub. Нажмите кнопку ESC при загрузке, войдите в меню grub и выберите «Настройка системы». Безопасная загрузка должна быть в разделе «Безопасность» или «Загрузка» UEFI.

Вы можете напрямую попасть в UEFI, но это зависит от вашего оборудования. Прочтите руководство по работе с компьютером, чтобы узнать, как туда добраться. Это может быть ESC или F2 при загрузке или что-то еще.

Альтернативный способ - отключить Безопасную загрузку с помощью mokutil.

Поскольку Ubuntu kernel build 4.4.0-21.37 это можно исправить, запустив

sudo apt install mokutil sudo mokutil --disable-validation

Для этого потребуется создать пароль. Пароль должен содержать не менее 8 символов. После перезагрузки UEFI спросит, хотите ли вы изменить параметры безопасности. Выберите «Да».

Затем вам будет предложено ввести ранее созданный пароль. Некоторые прошивки UEFI запрашивают не полный пароль, а вводят некоторые символы, такие как 1-й, 3-й и т. Д. Будьте осторожны. Некоторые люди этого не понимают. Я не получил это с первой попытки: -)

отключить Безопасную загрузку Теперь эта конфигурация ядра включена во всех поддерживаемых ядрах Ubuntu. Ubuntu 16.04, 15.10 и 14.04.

59
ответ дан 18 July 2018 в 11:21

Так как в ядре Ubuntu 4.4.0-20 включена конфигурация ядра EFI_SECURE_BOOT_SIG_ENFORCE. Это предотвращает загрузку неподписанных сторонних модулей, если включена UEFI Secure Boot.

Самый простой способ исправить эту проблему - отключить Безопасную загрузку в настройках UEFI (BIOS).

В большинстве вы можете войти в настройки UEFI, используя меню grub. Нажмите кнопку ESC при загрузке, войдите в меню grub и выберите «Настройка системы». Безопасная загрузка должна быть в разделе «Безопасность» или «Загрузка» UEFI.

Вы можете напрямую попасть в UEFI, но это зависит от вашего оборудования. Прочтите руководство по работе с компьютером, чтобы узнать, как туда добраться. Это может быть ESC или F2 при загрузке или что-то еще.

Альтернативный способ - отключить Безопасную загрузку с помощью mokutil.

Поскольку Ubuntu kernel build 4.4.0-21.37 это можно исправить, запустив

sudo apt install mokutil sudo mokutil --disable-validation

Для этого потребуется создать пароль. Пароль должен содержать не менее 8 символов. После перезагрузки UEFI спросит, хотите ли вы изменить параметры безопасности. Выберите «Да».

Затем вам будет предложено ввести ранее созданный пароль. Некоторые прошивки UEFI запрашивают не полный пароль, а вводят некоторые символы, такие как 1-й, 3-й и т. Д. Будьте осторожны. Некоторые люди этого не понимают. Я не получил это с первой попытки: -)

отключить Безопасную загрузку Теперь эта конфигурация ядра включена во всех поддерживаемых ядрах Ubuntu. Ubuntu 16.04, 15.10 и 14.04.

61
ответ дан 24 July 2018 в 19:46

Как было предложено пользователем @zwets, я копирую (с редактированием) ответ здесь:

Начиная с версии ядра 4.4.0-20, было установлено, что беззнаковые модули ядра не будут разрешены запускается с включенной защищенной загрузкой. Если вы хотите сохранить «Безопасную загрузку» и запустить эти модули, следующий логический шаг - подписать эти модули.

Итак, давайте попробуем.

Создать подписи ключей openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive name/" Подпишите модуль sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /path/to/module Зарегистрируйте ключи для безопасной загрузки sudo mokutil --import MOK.der Поставьте пароль для последующего использования после перезагрузки Reboot и следуйте инструкциям для регистрации MOK (ключ владельца машины). Вот пример с картинками. Система перезагрузится еще раз.

Пожалуйста, дайте мне знать, будут ли ваши модули работать на Ubuntu 16.04 (на ядре 4.4.0-21, я считаю).

Ресурсы: Подробный веб-сайт ! d1] и Ubuntu для реализации подписи модуля. (они работали над этим) ;-)

Дополнительная заметка для безопасности (экстра-):: -)

Поскольку созданный вами закрытый ключ (MOK.priv в этом примере) могут использоваться всеми, кто может иметь к нему доступ, это хорошая практика, чтобы обеспечить безопасность. Вы можете chmod его, зашифровать (gpg) или сохранить в другом месте (r). Или, как реализация Ubuntu , удалите опцию -nodes в шаге номер 1. Это зашифрует ключ парольной фразой.

22
ответ дан 18 July 2018 в 11:21

Вы можете отключить безопасную загрузку (UEFI) в BIOS со следующими шагами:

Перезагрузите компьютер и войдите в меню BIOS (в моем случае нажмите F2). Найдите безопасную загрузку и перейдите в «Наследие» [ ! d1]

В материнской плате ASUS:

Переход в расширенный режим (F7) Перейдите в параметр «Безопасная загрузка» в разделе «Загрузка». Измените «Режим Windows UEFI» на «Другая ОС». Сохраните и перезапустите для применения настроек (F10)
4
ответ дан 18 July 2018 в 11:21

Вы также можете отключить безопасную загрузку с помощью подгонки sudo update-secureboot-policy. Эта страница wiki объясняет этот метод:

Откройте терминал (Ctrl + Alt + T) и выполните sudo update-secureboot-policy, а затем выберите Да. Введите временный пароль от 8 до 16 цифр. (Например, 12345678, мы будем использовать этот пароль позже. Введите тот же пароль еще раз для подтверждения. Перезагрузите систему и нажмите любую клавишу, когда увидите синий экран (управление MOK Выберите «Изменить безопасное состояние загрузки». Введите пароль, который вы выбрали на шаге 2 и нажмите «Ввод». Выберите «Да», чтобы отключить «Безопасную загрузку» с помощью подгонки. Нажмите клавишу «Ввод», чтобы завершить всю процедуру. Вы все равно можете включить безопасную загрузку в подстрочной подписи. Просто выполните sudo update-secureboot-policy --enable, а затем выполните шаги выше
1
ответ дан 18 July 2018 в 11:21

Как было предложено пользователем @zwets, я копирую (с редактированием) ответ здесь:

Начиная с версии ядра 4.4.0-20, было установлено, что беззнаковые модули ядра не будут разрешены запускается с включенной защищенной загрузкой. Если вы хотите сохранить «Безопасную загрузку» и запустить эти модули, следующий логический шаг - подписать эти модули.

Итак, давайте попробуем.

Создать подписи ключей openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive name/" Подпишите модуль sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /path/to/module Зарегистрируйте ключи для безопасной загрузки sudo mokutil --import MOK.der Поставьте пароль для последующего использования после перезагрузки Reboot и следуйте инструкциям для регистрации MOK (ключ владельца машины). Вот пример с картинками. Система перезагрузится еще раз.

Пожалуйста, дайте мне знать, будут ли ваши модули работать на Ubuntu 16.04 (на ядре 4.4.0-21, я считаю).

Ресурсы: Подробный веб-сайт ! d1] и Ubuntu для реализации подписи модуля. (они работали над этим) ;-)

Дополнительная заметка для безопасности (экстра-):: -)

Поскольку созданный вами закрытый ключ (MOK.priv в этом примере) могут использоваться всеми, кто может иметь к нему доступ, это хорошая практика, чтобы обеспечить безопасность. Вы можете chmod его, зашифровать (gpg) или сохранить в другом месте (r). Или, как реализация Ubuntu , удалите опцию -nodes в шаге номер 1. Это зашифрует ключ парольной фразой.

22
ответ дан 24 July 2018 в 19:46
  • 1
    В Ubuntu 14.10 я продолжал видеть, что «необходимый ключ недоступен» пытается установить драйвер broadcom , скомпилированный из исходного кода, несмотря на предварительную регистрацию ключа и подписание драйвера. Отключена валидация. – Mark 16 July 2016 в 03:37
  • 2
    Это работало для меня для VirtualBox и Ubuntu 16.04. – YtvwlD 4 August 2016 в 14:18
  • 3
    На шаге 3 появляется следующая ошибка: «EFI-переменные не поддерживаются в этой системе». & Quot; dmesg & Quot; не имеет efi записей («dmesg | grep efi» не имеет результатов) Что еще я могу сделать? благодаря – musbach 7 January 2017 в 19:55
  • 4
    Вы можете подставить путь в $ (modinfo -n modulename) – Shane 7 August 2017 в 04:56

Вы можете отключить безопасную загрузку (UEFI) в BIOS со следующими шагами:

Перезагрузите компьютер и войдите в меню BIOS (в моем случае нажмите F2). Найдите безопасную загрузку и перейдите в «Наследие» [ ! d1]

В материнской плате ASUS:

Переход в расширенный режим (F7) Перейдите в параметр «Безопасная загрузка» в разделе «Загрузка». Измените «Режим Windows UEFI» на «Другая ОС». Сохраните и перезапустите для применения настроек (F10)
4
ответ дан 24 July 2018 в 19:46
  • 1
    «Безопасная загрузка» и «Наследие»; это разные настройки. – Pilot6 12 August 2016 в 13:53
  • 2
    Но если у вас есть "устаревшая загрузка" вместо UEFI, не означает ли это, что Secure Boot не включен? – Supernormal 9 January 2017 в 19:26
  • 3
    @Supernormal, да, это то, что я понимаю. – Sputnik 17 November 2017 в 15:22

Вы также можете отключить безопасную загрузку с помощью подгонки sudo update-secureboot-policy. Эта страница wiki объясняет этот метод:

Откройте терминал (Ctrl + Alt + T) и выполните sudo update-secureboot-policy, а затем выберите Да. Введите временный пароль от 8 до 16 цифр. (Например, 12345678, мы будем использовать этот пароль позже. Введите тот же пароль еще раз для подтверждения. Перезагрузите систему и нажмите любую клавишу, когда увидите синий экран (управление MOK Выберите «Изменить безопасное состояние загрузки». Введите пароль, который вы выбрали на шаге 2 и нажмите «Ввод». Выберите «Да», чтобы отключить «Безопасную загрузку» с помощью подгонки. Нажмите клавишу «Ввод», чтобы завершить всю процедуру. Вы все равно можете включить безопасную загрузку в подстрочной подписи. Просто выполните sudo update-secureboot-policy --enable, а затем выполните шаги выше
1
ответ дан 24 July 2018 в 19:46

Другие вопросы по тегам:

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