Вопрос или проблема
Я пытаюсь установить и запустить minikube, и для этого мне нужно установить virtualbox.
Я пытаюсь установить virtualbox на Ubuntu 18.04.
У меня уже был установлен virtualbox, но когда я пытался его запустить или minikube, я получал следующую ошибку:
ВНИМАНИЕ: Устройство символов /dev/vboxdrv не существует. Пожалуйста,
установите пакет virtualbox-dkms и соответствующие заголовки,
скорее всего linux-headers-generic.
Шаги по решению этой проблемы
sudo apt-get purge virtualbox
sudo apt-get install virtualbox
Это привело к следующему:
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
virtualbox-qt
Предлагаемые пакеты:
vde2 virtualbox-guest-additions-iso
Будут установлены следующие НОВЫЕ пакеты:
virtualbox virtualbox-qt
0 обновлено, 2 установлено заново, 0 удалено и 1 не обновлено.
Необходимо скачать 25.7 МБ архивов.
После данной операции будет использовано 108 МБ дополнительного места на диске.
Хотите продолжить? [Y/n] y
Получено:1 http://ucmirror.canterbury.ac.nz/ubuntu bionic-updates/multiverse amd64 virtualbox amd64 5.2.10-dfsg-6ubuntu18.04.1 [17.1 MB]
Получено:2 http://ucmirror.canterbury.ac.nz/ubuntu bionic-updates/multiverse amd64 virtualbox-qt amd64 5.2.10-dfsg-6ubuntu18.04.1 [8,580 kB]
Получено 25.7 МБ за 14с (1,820 kB/s)
Выбор ранее не выбранного пакета virtualbox.
(Чтение базы данных ... 338152 файлов и каталогов уже установлено.)
Подготовка к распаковке .../virtualbox_5.2.10-dfsg-6ubuntu18.04.1_amd64.deb ...
Распаковывается virtualbox (5.2.10-dfsg-6ubuntu18.04.1) ...
Выбор ранее не выбранного пакета virtualbox-qt.
Подготовка к распаковке .../virtualbox-qt_5.2.10-dfsg-6ubuntu18.04.1_amd64.deb ...
Распаковывается virtualbox-qt (5.2.10-dfsg-6ubuntu18.04.1) ...
Обрабатываются триггеры для mime-support (3.60ubuntu1) ...
Обрабатываются триггеры для ureadahead (0.100.0-20) ...
Обрабатываются триггеры для desktop-file-utils (0.23-1ubuntu3.18.04.1) ...
Настраивается пакет virtualbox (5.2.10-dfsg-6ubuntu18.04.1) ...
vboxweb.service — это отключённый или статический юнит, не будем его запускать.
Задание для virtualbox.service не удалось, так как управляющий процесс завершился с ошибкой.
Смотрите "systemctl status virtualbox.service" и "journalctl -xe" для деталей.
invoke-rc.d: initscript virtualbox, action "restart" failed.
● virtualbox.service - LSB: VirtualBox Linux kernel module
Загружен: загружен (/etc/init.d/virtualbox; generated)
Активен: неактивен (Результат: exit-code) с Fri 2018-08-03 17:03:20 NZST; 14ms назад
Docs: man:systemd-sysv-generator(8)
Процесс: 30224 ExecStart=/etc/init.d/virtualbox start (код=завершено, состояние=1/FAILURE)
Aug 03 17:03:20 anton-ThinkPad-T510 systemd[1]: Starting LSB: VirtualBox Linux kernel module...
Aug 03 17:03:20 anton-ThinkPad-T510 virtualbox[30224]: * Loading VirtualBox kernel modules...
Aug 03 17:03:20 anton-ThinkPad-T510 virtualbox[30224]: * No suitable module for running kernel found
Aug 03 17:03:20 anton-ThinkPad-T510 virtualbox[30224]: ...fail!
Aug 03 17:03:20 anton-ThinkPad-T510 systemd[1]: virtualbox.service: Control process exited, code=exited status=1
Aug 03 17:03:20 anton-ThinkPad-T510 systemd[1]: virtualbox.service: Failed with result 'exit-code'.
Aug 03 17:03:20 anton-ThinkPad-T510 systemd[1]: Failed to start LSB: VirtualBox Linux kernel module.
Обрабатываются триггеры для bamfdaemon (0.5.3+18.04.20180207.2-0ubuntu1) ...
Перестраивается /usr/share/applications/bamf-2.index...
Обрабатываются триггеры для systemd (237-3ubuntu10.3) ...
Обрабатываются триггеры для man-db (2.8.3-2) ...
Обрабатываются триггеры для shared-mime-info (1.9-2) ...
Обрабатываются триггеры для gnome-menus (3.13.3-11ubuntu1) ...
Обрабатываются триггеры для hicolor-icon-theme (0.17-2) ...
Настраивается пакет virtualbox-qt (5.2.10-dfsg-6ubuntu18.04.1) ...
Обрабатываются триггеры для ureadahead (0.100.0-20) ...
Я также проверил, что у меня установлены необходимые зависимости, указанные в ошибке:
sudo apt-get install virtualbox-dkms
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
virtualbox-dkms самая новая версия (5.2.10-dfsg-6ubuntu18.04.1).
0 обновлено, 0 установлено заново, 0 удалено и 1 не обновлено.
sudo apt-get install linux-headers-generic
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
linux-headers-generic самая новая версия (4.15.0.29.31).
0 обновлено, 0 установлено заново, 0 удалено и 1 не обновлено.
Чтобы запустить virtualbox, необходимо загрузить некоторые модули в ядро. Либо у вас есть бинарные модули, соответствующие вашему ядру, либо вы можете скомпилировать их из исходников, соответствующих вашему ядру. Похоже, у вас нет модулей, и их компиляция либо не удалась, либо не была предпринята.
На моей системе драйверы компилируются с помощью
/usr/lib/virtualbox/vboxdrv.sh setup
Запустите эту команду вручную и посмотрите намеки на то, что может быть не так.
Отключите безопасную загрузку в настройках BIOS. Это сработало для меня 🙂
Для Kali Linux с отключенной безопасной загрузкой
Перезагрузите систему с помощью команды reboot
. У меня была точно такая же ошибка, и перезагрузка убрала это предупреждение и убрала сообщение об ошибке Job for virtualbox.service failed because the control process exited with error code.
при установке virtualbox-qt.
Простое решение с отключенной безопасной загрузкой
Запустите команды sudo dpkg-reconfigure virtualbox-dkms
, sudo dpkg-reconfigure virtualbox
и sudo modprobe vboxdrv
, чтобы добавить недостающий модуль.
Решение для включенной безопасной загрузки
С включенной безопасной загрузкой вы не сможете успешно выполнить sudo modprobe vboxdrv
, потому что используемый ключ не находится в списке MOK.
- Установите mokutil с помощью
sudo apt install mokutil
. - Запросите регистрацию уже созданного ключа на машину и затем введите пароль, который вам нужно будет использовать позже:
sudo mokutil --import /var/lib/dkms/mok.pub
/var/lib/dkms/mok.pub
— это ключ по умолчанию, используемый для подписания модулей для безопасной загрузки. - Перезагрузите систему, и вы увидите менеджер MOK. Выберите регистрацию ключа и выберите продолжить. Затем выберите подтвердить и введите свой пароль для ключа. Нажмите кнопку перезагрузки и снова войдите в свою Linux систему.
- Проверьте, зарегистрирован ли ключ с помощью
sudo dmesg | grep cert
. Вы должны увидеть текст, содержащийintegrity: Loaded X.509 cert 'DKMS module signing key:
, так как ключ называетсяDKMS module signing key
. - Переустановите пакет заголовков Linux с помощью
sudo apt reinstall linux-headers-$(uname -r)
, чтобыdkms
автоматически подписывал и добавлял модули. - Снова перезагрузите, чтобы устройство
/dev/vboxdrv
появилось.
Заслуги: https://wiki.debian.org/SecureBoot?action=quicklink#Making_DKMS_modules_signing_by_DKMS_signing_key_usable_with_the_secure_boot
Это было успешно протестировано на Debian Unstable (Sid).
.
Ответ или решение
Данное сообщение об ошибке указывает на то, что VirtualBox не может найти устройство /dev/vboxdrv, что часто связано с проблемами в установке или конфигурации модулей ядра, необходимых для работы VirtualBox. Давайте рассмотрим детально, как можно решить эту проблему на Ubuntu 18.04.
Шаги для решения проблемы:
1. Проверка наличия необходимых пакетов
Прежде всего, убедитесь, что установлены все необходимые пакеты:
sudo apt-get install build-essential linux-headers-$(uname -r) dkms
Эти пакеты необходимы для компиляции модулей ядра.
2. Переустановка VirtualBox и DKMS
Удалите VirtualBox и установите его заново:
sudo apt-get purge virtualbox virtualbox-dkms
sudo apt-get update
sudo apt-get install virtualbox virtualbox-dkms
Это обеспечит корректную установку всех необходимых компонентов.
3. Проверка и настройка модулей ядра
Иногда модули ядра не компилируются автоматически. Попробуйте выполнить следующие команды, чтобы вручную настроить их:
sudo /usr/lib/virtualbox/vboxdrv.sh setup
Если возникают ошибки, они могут указать на отсутствующие зависимости или проблемы с компиляцией.
4. Возможные проблемы с Secure Boot
Если на вашем компьютере включена функция Secure Boot, это может препятствовать загрузке неподписанных модулей ядра:
- Отключение Secure Boot: Войдите в BIOS/UEFI и отключите Secure Boot.
-
Использование MOK (Machine Owner Key): Если отключение Secure Boot невозможно, выполните следующие шаги:
- Установите mokutil:
sudo apt install mokutil
- Запустите импорт ключа:
sudo mokutil --import /var/lib/dkms/mok.pub
- Перезагрузите систему и используйте MOK Manager для завершения процесса подписи ключа.
5. Проверка статуса VirtualBox
После выполнения вышеуказанных шагов выполните следующую проверку:
sudo systemctl status virtualbox
Это поможет понять, правильно ли загружены модули ядра.
6. Дополнительные меры
Если проблема не устранена, попробуйте перенастроить пакеты VirtualBox и DKMS:
sudo dpkg-reconfigure virtualbox-dkms
sudo dpkg-reconfigure virtualbox
Заключение
После выполнения этих шагов устройство /dev/vboxdrv должно быть успешно создано, что позволит VirtualBox корректно работать.
Эти инструкции обеспечивают комплексное решение общих проблем, связанных с VirtualBox на Ubuntu 18.04, и помогут вам эффективно устранить их, обеспечив успешный запуск и эксплуатацию программного обеспечения.