Полная инструкция запуска virtualbox-5.1 с самоподписными драйверами.
Перед началом убедитесь, что EFI загрузчик shimx64. Коварный установщик бубунты обычно вообще забывает прописать загрузчик в EFI, если так, то придется самостоятельно указать его в BIOS следуя рекомендациям производителя.
Если с этим все хорошо, то приступим:
1. Создаем пару ключей:
~$ openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VBox5.1/"
2. Подписываем модули:
~$ sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv)
3. Импортируем ключ в EFI:
~$ sudo mokutil --import MOK.der
На этом этапе МОК предложит создать одноразовый пароль, так что смело пишите восемь нолей) (символов должно быть не менее восьми).
4. Перезагрузка - когда откроется MOK Меню жмем AnyKey и импортируем ключ (Enroll Key).
5. Проверяем, загрузился ли наш ключ:
(если ругнется на отсутствие keyctl ставим keyutils по подсказке)
~$ sudo keyctl list %:.system_keyring
Если Вы видите что-то вроде
876543210: ---lswrv 0 0 asymmetric: Microsoft Windows Production PCA 2011: f7154d411cdb50a752b27996e66d88e8a0575a81
321087654: ---lswrv 0 0 asymmetric: Canonical Ltd. Master Certificate Authority: f7154d411cdb50a752b27996e66d88e8a0575a81
567801234: ---lswrv 0 0 asymmetric: VBox5.1: f7154d411cdb50a752b27996e66d88e8a0575a81
, то все пункты выполнены правильно, иначе, проверяйте, что пропустили.
При обновлениях ядра dkms разумеется будет слетать. В этом случае повторите пункт 2.
Ключики лучше из хомяка спрятать поглубже, сменить владельца, права, а жесткий диск сжечь в хлоре. Паранойя, но всё же...
Успешные испытания проводились на KUbuntu 16.04.2 x64 с обновлениями на момент публикации, VBox 5.1.14.
Все, теперь не нужно включать|выключать SecureBoot когда тянет в десятку...