Я обновляюсь с 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.
Обновление 2 : Если вы не возражаете отключить безопасную загрузку, см. Почему я могу получить & quot; доступно & Quot; при установке сторонних модулей ядра или после обновления ядра? вместо этого.
Хорошо, что после небольшого тестирования я уверен, что это безопасная проблема с загрузкой.
Как и в случае, если он включен, это забрасывается:
ВНИМАНИЕ: модуль ядра vboxdrv не загружен. Либо нет модуля для текущего ядра (4.4.0-21-generic), либо он не загружается. Пожалуйста, перекомпилируйте модуль ядра и установите его с помощью sudo / sbin / rcvboxdrv setupОднако, если безопасная загрузка отключена, то виртуальный бокс загружается просто отлично, без ошибок.
У меня все еще установлен мой BIOS как UEFI.
Начиная с версии ядра 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 common name/"
Опция: для дополнительной безопасности, если вы хотите сохранить Безопасную загрузку, следующий логический шаг - подписать эти модули. пропустите ключ -nodes, который будет запрашивать пароль. Затем, прежде чем перейти к следующему шагу, убедитесь, что export KBUILD_SIGN_PIN='yourpassword' Подпишите модуль (vboxdrv для этого примера, но повторите для других модулей в ls $(dirname $(modinfo -n vboxdrv))/vbox*.ko) для полной функциональности) sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv)
Подтвердите, что модуль подписан tail $(modinfo -n vboxdrv) | grep "Module signature appended"
Зарегистрируйте ключи к безопасной загрузке sudo mokutil --import MOK.der
, которые будут запрашивать пароль для подтверждения импорта на следующем шаге. Перезагрузите и следуйте инструкциям для регистрации MOK (ключ владельца машины). Вот пример с картинками. Система перезагрузится еще раз. Подтвердите, что ключ зарегистрирован mokutil --test-key MOK.der
Если VirtualBox все еще не загружается, возможно, это связано с тем, что модуль не загружается (sudo modprobe vboxdrv исправит это) или что ключ не подписан. Просто повторите этот шаг, и все должно работать нормально.
unsigned Подробная статья веб-сайта для внедрения модуля Fedora и Ubuntu. @zwets для дополнительной безопасности. @shasha_trn для упоминания всех модулей.
Дополнительный ресурс: я каждый раз создавал сценарий bash для собственного использования virtualbox-dkms и, таким образом, перезаписывал подписанные модули. Ознакомьтесь с моей статьей для Fedora .
В моей системе я сделал следующее, чтобы заставить его работать:
Запустить mokutil:
sudo mokutil --disable-validation
Тогда мокутил попросил меня установить пароль для MOK Manager. После перезагрузки ПК BIOS показал диалог настройки MOK Manager. Я отключил SecureBoot из этого диалогового окна, попросил ввести несколько символов из пароля (т. Е. Ввести символ (5) и т. Д.).
После загрузки модулей vboxdrv загружен правильно.
lsmod | grep vboxdrv
vboxdrv 454656 3 vboxnetadp,vboxnetflt,vboxpci
Любопытно, что mokutil по-прежнему показывает, что SecureBoot включен:
sudo mokutil --sb-state
SecureBoot enabled
После обновления также появилась ошибка в vboxdrv. Но возникла проблема с старой версией (5.0.14) Oracle VM VirtualBox Extension Pack. Я загрузил и установил новую версию (5.0.18) этого пакета, и проблема исчезла.
Вы можете отключить проверку валидации с помощью
sudo apt install mokutil
sudo mokutil --disable-validation
После этого пакеты DKMS должны установить.
У меня была такая же проблема сегодня, у меня были Windows 10 и Ubuntu 15.10 при двойной загрузке с включенной uefi в Bios (я не отключил ее, поэтому я могу запустить предустановленную Windows).
] После обновления до Ubuntu 16.04 VirtualBox перестала загружать мои виртуальные машины с тем же сообщением об ошибке:
modprobe: ERROR: could not insert 'vboxdrv': Required key not available
Я подозревал, что проблема UEFI, потому что, когда обновление установщика спросило меня, хочу ли я отключить его, на что я ответил Нет (Потому что Да может сделать мою Windows непригодной).
То, что я сделал, это Bios и включить поддержку устаревшей загрузки BIOS БЕЗ отключения безопасной загрузки.
Virtualbox отлично работает сейчас.
Обновление. Поскольку @zwets правильно указал в комментарии, включение устаревших модулей приводит к отключению безопасной загрузки.
Хорошо, что после небольшого тестирования я уверен, что это безопасная проблема с загрузкой.
Как и в случае, если он включен, это забрасывается:
ВНИМАНИЕ: модуль ядра vboxdrv не загружен. Либо нет модуля для текущего ядра (4.4.0-21-generic), либо он не загружается. Пожалуйста, перекомпилируйте модуль ядра и установите его с помощью sudo / sbin / rcvboxdrv setupОднако, если безопасная загрузка отключена, то виртуальный бокс загружается просто отлично, без ошибок.
У меня все еще установлен мой BIOS как UEFI.
Начиная с версии ядра 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 common name/"
Опция: для дополнительной безопасности, если вы хотите сохранить Безопасную загрузку, следующий логический шаг - подписать эти модули. пропустите ключ -nodes, который будет запрашивать пароль. Затем, прежде чем перейти к следующему шагу, убедитесь, что export KBUILD_SIGN_PIN='yourpassword' Подпишите модуль (vboxdrv для этого примера, но повторите для других модулей в ls $(dirname $(modinfo -n vboxdrv))/vbox*.ko) для полной функциональности) sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv)
Подтвердите, что модуль подписан tail $(modinfo -n vboxdrv) | grep "Module signature appended"
Зарегистрируйте ключи к безопасной загрузке sudo mokutil --import MOK.der
, которые будут запрашивать пароль для подтверждения импорта на следующем шаге. Перезагрузите и следуйте инструкциям для регистрации MOK (ключ владельца машины). Вот пример с картинками. Система перезагрузится еще раз. Подтвердите, что ключ зарегистрирован mokutil --test-key MOK.der
Если VirtualBox все еще не загружается, возможно, это связано с тем, что модуль не загружается (sudo modprobe vboxdrv исправит это) или что ключ не подписан. Просто повторите этот шаг, и все должно работать нормально.
unsigned Подробная статья веб-сайта для внедрения модуля Fedora и Ubuntu. @zwets для дополнительной безопасности. @shasha_trn для упоминания всех модулей.
Дополнительный ресурс: я каждый раз создавал сценарий bash для собственного использования virtualbox-dkms и, таким образом, перезаписывал подписанные модули. Ознакомьтесь с моей статьей для Fedora .
В моей системе я сделал следующее, чтобы заставить его работать:
Запустить mokutil:
sudo mokutil --disable-validation
Тогда мокутил попросил меня установить пароль для MOK Manager. После перезагрузки ПК BIOS показал диалог настройки MOK Manager. Я отключил SecureBoot из этого диалогового окна, попросил ввести несколько символов из пароля (т. Е. Ввести символ (5) и т. Д.).
После загрузки модулей vboxdrv загружен правильно.
lsmod | grep vboxdrv
vboxdrv 454656 3 vboxnetadp,vboxnetflt,vboxpci
Любопытно, что mokutil по-прежнему показывает, что SecureBoot включен:
sudo mokutil --sb-state
SecureBoot enabled
После обновления также появилась ошибка в vboxdrv. Но возникла проблема с старой версией (5.0.14) Oracle VM VirtualBox Extension Pack. Я загрузил и установил новую версию (5.0.18) этого пакета, и проблема исчезла.
Вы можете отключить проверку валидации с помощью
sudo apt install mokutil
sudo mokutil --disable-validation
После этого пакеты DKMS должны установить.
У меня была такая же проблема сегодня, у меня были Windows 10 и Ubuntu 15.10 при двойной загрузке с включенной uefi в Bios (я не отключил ее, поэтому я могу запустить предустановленную Windows).
] После обновления до Ubuntu 16.04 VirtualBox перестала загружать мои виртуальные машины с тем же сообщением об ошибке:
modprobe: ERROR: could not insert 'vboxdrv': Required key not available
Я подозревал, что проблема UEFI, потому что, когда обновление установщика спросило меня, хочу ли я отключить его, на что я ответил Нет (Потому что Да может сделать мою Windows непригодной).
То, что я сделал, это Bios и включить поддержку устаревшей загрузки BIOS БЕЗ отключения безопасной загрузки.
Virtualbox отлично работает сейчас.
Обновление. Поскольку @zwets правильно указал в комментарии, включение устаревших модулей приводит к отключению безопасной загрузки.
У меня была такая же проблема сегодня, у меня были Windows 10 и Ubuntu 15.10 при двойной загрузке с включенной uefi в Bios (я не отключил ее, поэтому я могу запустить предустановленную Windows).
После обновления до Ubuntu 16.04 VirtualBox перестала загружать мои виртуальные машины с тем же сообщением об ошибке:
modprobe: ERROR: could not insert 'vboxdrv': Required key not available
Я подозревал, что проблема UEFI, потому что, когда обновление установщика спросило меня, хочу ли я его отключить, на что я ответил Нет (Потому что Да может сделать мою Windows непригодной для использования).
Что я сделал, это Bios и включить поддержку устаревшей загрузки BIOS БЕЗ отключения безопасной загрузки.
Virtualbox отлично работает сейчас.
Обновление. Поскольку @zwets правильно указал в комментарии, включение устаревших модулей приводит к отключению безопасной загрузки.
Вы можете отключить проверку проверки с помощью
sudo apt install mokutil
sudo mokutil --disable-validation
. После этого пакеты DKMS должны установить.