Драйвер ядра VirtualBox не установлен (rc=-1908)

Один из способов безопасной загрузки обеспечивает безопасность системы — разрешать загрузку только доверенных расширений ядра. Вы должны вмешаться, если хотите запускать сторонние модули, такие как драйвер ядра VirtualBox (vboxdrv).

На macOSэто очень легко сделать, вы можете разрешить загрузку модуля от Системные настройки.

На Линукс системах вы должны убедиться, что версии ядра и GCC совместимы с модулем vboxdrv. Вы также можете вручную подписать модуль с помощью мокутила.

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

Как исправить эту ошибку на MacOS

Разрешить загрузку модуля

Пользователи должны вручную разрешить загрузку расширений ядра (KEXT) в macOS 10.13 и более поздних версиях. Сделать это,

  1. Нажать на Яблочное меню и пойти в Системные настройки > Безопасность и конфиденциальность.
  2. нажмите Позволять кнопку вниз.разрешить загрузку программного обеспечения MacOS

Примечание: Опция разрешения доступна только в течение 30 минут после отправки запроса на загрузку. Итак, если вы его не видите, попробуйте сначала загрузить модуль.

Перезапустите службу VirtualBoxStartup.

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

sudo /Library/Application\ Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh перезапуск

Повторите действия из предыдущего раздела и перезагрузитесь. Затем проверьте, можете ли вы запустить свою виртуальную машину в VirtualBox.

Зарегистрируйте модуль vboxdrv

Также может помочь регистрация расширения ядра VirtualBox непосредственно через терминал. Для этого введите следующую однострочную строку в терминал:

sudo kmutil load -p ‘/Library/Application Support/VirtualBox/VBoxDrv.kext’

Перезагрузитесь и проверьте, можете ли вы запустить виртуальную машину сейчас.

Утвердить идентификатор разработчика Oracle

Если загрузка vboxdrv вручную не работает, добавить идентификатор разработчика Oracle в политику оценки безопасности. Это позволит программам Oracle (т.е. VirtualBox) получить доступ к ядру.

Для этого введите следующую команду в терминале:

spctl kext-согласие добавить VB5E2TV963

Кроме того, попробуйте то же самое в Режим восстановления.

  1. Перезагрузите свой Mac и удерживайте Command + R для загрузки в режиме восстановления.
  2. Нажмите на Утилиты и выберите Терминал.
  3. Добавьте идентификатор разработчика следующим образом:
    spctl kext-согласие добавить VB5E2TV963
  4. Перезагрузите Mac и проверьте, работает ли виртуальная машина сейчас.

Установите пакет расширений VirtualBox

Пакет расширений VirtualBox обычно устанавливается для добавления дополнительных функций, таких как виртуальные устройства USB 3.0. В этом случае его установка того стоит, поскольку это потенциально может решить проблему с драйвером ядра.

  1. Сначала загрузите пакет расширений с сайта Страница загрузки VirtualBox.скачать пакет расширений виртуального бокса
  2. Запустите VirtualBox и выберите Инструменты > Расширения.VirtualBox-расширения-Macos
  3. Нажать на Установить кнопку и откройте пакет расширений.virtualbox-extension-pack-macos

Очистить кэш расширений ядра

Используйте следующую команду в терминале, чтобы очистить кеш расширений ядра:

sudo kextcache –clear-staging

Проверьте, работает ли виртуальная машина сейчас. Если этого не произойдет, перезагрузите Mac и попробуйте выполнить команду еще раз.

Попробуйте другую версию VirtualBox

Переустановка VirtualBox — один из наиболее эффективных способов устранения этой ошибки. В частности, попробуйте разные версии VirtualBox (последнюю, а также более старые стабильные версии). Сделать это,

  1. Откройте установочный файл VirtualBox и нажмите VirtualBox_uninstall.tool.virtualbox-uninstall-tool-macos
  2. Входить Да чтобы подтвердить, что вы хотите удалить VirtualBox и все его пакеты.
  3. Перезагрузите свой Mac. Теперь загрузите и установите последнюю версию VirtualBox.
  4. Если эта версия не работает, повторите шаги по удалению VirtualBox и попробуйте другую версию.

Правильно установите флаг расширения ядра

Если флаг ограничения не установлен для KernelExtensionManagement, это повлияет на взаимодействие защиты целостности системы (SIP) с каталогами. В конечном итоге это может привести к Драйвер ядра VirtualBox не установлен ошибка. Чтобы решить эту проблему:

  1. Удалите виртуалбокс.
  2. Перезагрузите свой Mac и удерживайте Command + R для загрузки в режиме восстановления.
  3. Выбирать Утилиты > Терминал и введите следующую команду:
    chflags ограничено /Volumes/Macintosh\ HD/частный/вар/дб/KernelExtensionManagement
  4. Перезагрузите свой Mac, переустановите VirtualBox и проверьте, можете ли вы запустить виртуальную машину сейчас.

Отключить безопасную загрузку

Если ничего не помогает, в крайнем случае вы можете отключить безопасную загрузку. Если безопасная загрузка отключена, у вас не возникнет проблем с загрузкой неподписанных файлов KEXT, таких как vboxdrv. Сделать это:

  1. Снова загрузитесь в режим восстановления (удерживайте Command + R при включении Mac).
  2. Выбирать Утилиты > Утилита безопасности при запуске.
  3. в Безопасная загрузка окно, выберите Нет безопасности.
  4. Перезагрузите Mac и проверьте, работает ли VirtualBox.

Как исправить эту ошибку в Linux

Для демонстрации я предоставлю команды для дистрибутивов на основе Debian. Не забудьте изменить команды (например, apt на dnf) в соответствии с вашим дистрибутивом.

Перезагрузите компьютер

Дистрибутивы Linux часто получают незначительные обновления ядра, что может привести к несовместимости между vboxdrv и обновленным ядром. Перезагрузка компьютера часто является самым простым способом решить эту проблему.

Решение проблем с версией ядра

Иногда не существует версии vboxdrv, совместимой с последней версией ядра. В других случаях вам придется вручную установить заголовки, а затем установить VirtualBox. Вы столкнетесь с ошибкой, если не сделаете это в этом конкретном порядке.

Чтобы решить такие проблемы, сначала попробуйте переустановка VirtualBox и заголовки ядра:

sudo apt purge virtualbox dkms linux-headers-$(uname -r) sudo apt install linux-headers-$(uname -r) sudo apt install virtualbox

Если ошибка сохраняется, переустановите модуль ядра vboxdrv. Затем, переконфигурировать пакет VirtualBox и загрузить модуль вот так:

sudo /etc/init.d/vboxdrv настройка sudo dpkg-reconfigure virtualbox-dkms sudo modprobe vboxdrv

Откат ядра

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

В таких случаях можно попробовать откат к более старой поддерживаемой версии ядра чтобы устранить эту ошибку.

файлы ядра Ubuntu Файлы ядра Ubuntu v6.5

Загрузите файлы ядра с вашего архив ядра дистрибутива и установите их. После перезагрузки с новым установленным ядром ошибка должна исчезнуть.

Изменить версию GCC

Пользователи также сталкиваются с этой ошибкой, поскольку текущая версия GCC отличается от той, которая использовалась для компиляции модуля. В таких случаях, переключение на тот же компилятор должно решить проблему.

Например, чтобы изменить версию GCC на GCC 8:

  1. Сначала удалите VirtualBox и его файлы конфигурации с помощью следующей команды:
    sudo apt очистить виртуальный бокс
  2. Установите нужную версию GCC (в данном случае 8):
    sudo apt установить gcc-8 g++-8
  3. Установите GCC по умолчанию на GCC 8:
    sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-8 800 –slave /usr/bin/g++ g++ /usr/bin/g++-8
  4. Наконец, переустановите VirtualBox и проверьте, решена ли проблема.
    sudo apt установить виртуальный бокс

Исправить проблемы с подписью модуля

Модули DKMS обычно настраиваются при установке для работы с безопасной загрузкой. Но иногда модули не могут загружаться из-за проблем с подписью.

В таких случаях вы можете подпишите модули сами используя мокутил инструмент. Я рекомендую проверить этот пост на GitHub Reillysiemens, поскольку он подробно описывает этот процесс.

Отключить безопасную загрузку

Основная проблема с ручным подписанием модулей заключается в том, что вам придется подписывать их после каждого обновления ядра. А обновления ядра в Linux очень частый. Итак, мое предпочтительное решение — просто отключить безопасную загрузку:

  1. Выполните sudo mokutil –disable-validation команда.
  2. Введите Временный пароль и подтвердите это.sudo-mokutil-отключить-проверку
  3. Перезагрузите вашу систему и Нажмите любую кнопку на экране управления MOK.shim-uefi-управление ключами
  4. Выбирать Изменить состояние безопасной загрузки. Введите указанный символ временного пароля (например, 7-й символ).изменение-безопасная загрузка-состояние-мок-управление
  5. Выбирать Да > ХОРОШО чтобы отключить безопасную загрузку.

Примечание: Вы можете использовать sudo mokutil –enable-validation чтобы снова включить безопасную загрузку позже, если хотите.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *