Як запропонував користувач @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
Примітка 1 : Для одного драйвера / модуля /path/to/moduleможе бути підписано кілька файлів, тому, можливо, їх потрібно замінити $(modinfo -n <modulename>), наприклад$(modinfo -n vboxdrv)
Примітка 2 : sudo kmodsign sha512 ./MOK.priv ./MOK.der /path/to/moduleце альтернатива, якщо sign-fileвона недоступна.
Зареєструйте ключі для безпечного завантаження
sudo mokutil --import MOK.der
Введіть пароль для подальшого використання після перезавантаження
Rebootі дотримуйтесь інструкцій для реєстрації MOK (ключ власника машини). Ось зразок із малюнками. Система перезавантажиться ще один раз.
Якщо ключ було зареєстровано належним чином, він відобразиться в розділі "Внизу" sudo mokutil --list-enrolled.
Будь ласка, дайте мені знати, чи працювали б ваші модулі таким чином на Ubuntu 16.04 (я вважаю, на ядрі 4.4.0-21).
Ресурси: Детальна стаття на веб-сайті для реалізації Fedora та Ubuntu підписання модуля. (вони над цим працювали) ;-)
Додатковий ресурс: Я створив сценарій bash для власного використання при кожному virtualbox-dkmsоновленні та перезаписі підписаних модулів. Ознайомтесь з моїм vboxsignспочатку на GitHub .
Додаткова примітка для безпеки (додатково): :-)
Оскільки приватний ключ, який ви створили ( MOK.privу цьому прикладі), може використовувати кожен, хто може мати доступ до нього, то це є безпечною практикою. Ви можете chmodце зашифрувати ( gpg), або зберегти в іншому місці безпеки (r). Або, як зазначено в цьому коментарі , видаліть параметр -nodesна кроці № 1. Це зашифрує ключ за допомогою парольної фрази.