Я обновляю Ubuntu 15.10 до 16.04, и с тех пор VirtualBox 5.0.18 больше не запускает мои виртуальные машины. Он жалуется, что vboxdrv не загружен. Поэтому я пытаюсь загрузить его и получаю следующую ошибку:
$ sudo modprobe vboxdrv
modprobe: ERROR: could not insert 'vboxdrv': Required key not available
Я считаю, что это связано с безопасной загрузкой, которую я использую и которую я хочу продолжать использовать. На самом деле с Ubuntu 15.10 безопасная загрузка и VirtualBox работали просто отлично.
Также я попытался, $ sudo apt-get --reinstall install virtualbox-dkms
который успешно собрал модуль ядра, но не решил эту проблему.
Любая идея, как загрузить vboxdrv при сохранении безопасной загрузки?
Обновление 2 : также я попытался выполнить sudo mokutil --disable-validation
. При выполнении этой команды во время следующей загрузки мне предлагается отключить безопасную загрузку, добавить ключ или хэш с диска. Поскольку я не хочу отключать безопасную загрузку, похоже, это тоже не решает мою проблему. Также я хочу оставить UEFI активным для параллельной установки Windows.
Примечание . Если вы не против отключить безопасную загрузку, см. Почему я получаю «Требуемый ключ недоступен» при установке модулей ядра сторонних производителей или после обновления ядра? вместо.
aptitude install virtualbox virtualbox-dkms
вы подпишете модуль и попросите ввести одноразовый (?) Пароль. Перезагрузитесь, введите MOK config и введите ключ, используя этот пароль.Ответы:
Начиная с версии ядра 4.4.0-20 было принудительно запрещено запускать неподписанные модули ядра с включенной безопасной загрузкой. Поскольку вы хотите сохранить безопасную загрузку, следующий логический шаг - подписать эти модули.
Итак, давайте попробуем это.
Создать ключи подписи
Опция : для дополнительной безопасности пропустите ключ -nodes, который запросит пароль. Затем, прежде чем перейти к следующему шагу, обязательно
export KBUILD_SIGN_PIN='yourpassword'
Подпишите модуль (vboxdrv для этого примера, но повторите для других модулей
ls $(dirname $(modinfo -n vboxdrv))/vbox*.ko)
для полной функциональности)Подтвердите, что модуль подписан
Зарегистрируйте ключи для безопасной загрузки
который попросит ввести пароль для подтверждения импорта на следующем шаге.
Перезагрузитесь и следуйте инструкциям, чтобы зарегистрировать MOK (ключ владельца машины). Вот образец с картинками. Система перезагрузится еще раз.
Подтвердите, что ключ зарегистрирован
Если VirtualBox по-прежнему не загружается, это может быть из-за того, что модуль не загрузился (
sudo modprobe vboxdrv
исправит это) или ключ не подписан. Просто повторите этот шаг, и все должно работать нормально.Ресурсы: Подробная статья на сайте для реализации подписания модулей в Fedora и Ubuntu . @zwets для дополнительной безопасности . @shasha_trn за упоминание всех модулей .
Дополнительный ресурс: я создавал bash-скрипт для собственного использования каждый раз при
virtualbox-dkms
обновлении и, таким образом, переписывал подписанные модули. Проверьте мой vboxsign первоначально на GitHub .источник
sudo apt install --reinstall virtualbox-dkms
прежде чем следовать предоставленным инструкциям.KBUILD_SIGN_PIN
переменную среды?export KBUILD_SIGN_PIN=password
иexport KBUILD_SIGN_PIN="password"
до шага 2 оба привели кSSL error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read: pem_pkey.c:117
В моей системе я сделал следующее, чтобы она заработала:
Запустите mokutil:
Затем mokutil попросил меня установить пароль для менеджера MOK. После перезагрузки ПК в BIOS появилось диалоговое окно для настройки MOK Manager. Я отключил SecureBoot из этого диалога, он запрашивал несколько символов из пароля (т. Е. Введите символ (5) и т. Д.).
После загрузки модули vboxdrv загружаются правильно.
Любопытно, что mokutil все еще показывает, что SecureBoot включен:
источник
Вы можете отключить проверку
После этого следует установить пакеты DKMS.
источник
Я получил ошибку о vboxdrv после обновления тоже. Но была проблема со старой версией (5.0.14) Oracle VM VirtualBox Extension Pack. Я скачал и установил более новую версию (5.0.18) этого пакета, и проблема исчезла.
источник
Хорошо, после небольшого тестирования я почти уверен, что это проблема безопасной загрузки.
Как в случае, если он включен, то это бросается:
Однако, если безопасная загрузка отключена, то Virtualbox загружается просто без ошибок.
У меня все еще мой биос установлен как UEFI.
источник
У меня была та же проблема сегодня, у меня были Windows 10 и Ubuntu 15.10 при двойной загрузке с включенным UEFI на Bios (я не отключил его, чтобы я мог запустить предустановленную Windows).
После обновления до Ubuntu 16.04 VirtualBox перестал загружать мои виртуальные машины с тем же сообщением об ошибке:
Я подозревал проблему UEFI, потому что при обновлении установщик спросил меня, хочу ли я отключить его, на что я ответил «Нет» (потому что «Да» может сделать мою Windows непригодной для использования).
Что я сделал, так это перешел в Bios и включил поддержку устаревшей загрузки BIOS БЕЗ отключения безопасной загрузки.
Виртуалбокс теперь работает нормально.
Обновление : как правильно заметил @zwets в комментарии, включение устаревших модулей приводит к отключению безопасной загрузки.
источник