Что означает ошибка VBoxDrv device missing
Ошибка VBoxDrv device missing (или аналогичные сообщения, такие как VERR_VBOX_DRIVER_NOT_INSTALLED или Failed to open the device) возникает, когда VirtualBox не может получить доступ к драйверу виртуализации (vboxdrv) на уровне ядра Linux. Это критическая ошибка, блокирующая запуск любых виртуальных машин. Обычно появляется при первом запуске VirtualBox после установки или после обновления ядра системы.
Причины возникновения
- Модуль ядра
vboxdrvне загружен —最常见 причина, особенно после обновления ядра или перезагрузки. - Пользователь не состоит в группе
vboxusers— без этого доступ к устройству/dev/vboxdrvзапрещён. - Устройство
/dev/vboxdrvотсутствует или имеет неверные права — модуль не создал устройство или права установлены некорректно. - Несовместимость версий ядра и модуля VirtualBox — модуль собран под другое ядро (часто после обновления ядра без переустановки VirtualBox).
- Пакет
virtualbox-dkmsне установлен или не сработал — DKMS (Dynamic Kernel Module Support) отвечает за автоматическую пересборку модуля при обновлении ядра.
Способ 1: Загрузка модуля vboxdrv вручную
Чаще всего модуль просто не загружен после перезагрузки или обновления.
- Откройте терминал.
- Проверьте, загружен ли модуль:
Если вывод пустой — модуль не активен.lsmod | grep vboxdrv - Попробуйте загрузить модуль вручную:
Если команда выполнилась без ошибок — модуль загружен. Попробуйте запустить VirtualBox снова.sudo modprobe vboxdrv - Если
modprobeзавершился с ошибкойModule not found, перейдите к Способу 3 (переустановка).
Способ 2: Добавление пользователя в группу vboxusers
Даже при загруженном модуле доступ к устройству /dev/vboxdrv разрешён только группе vboxusers.
- Добавьте текущего пользователя в группу:
sudo usermod -aG vboxusers $USER - Обязательно выйдите из системы и войдите заново (или выполните
newgrp vboxusersдля применения в текущей сессии). - Проверьте членство в группе:
В выводе должна бытьgroups $USERvboxusers. - Запустите VirtualBox.
Способ 3: Переустановка VirtualBox с DKMS
Если модуль отсутствует или собран под несоответствующее ядро, поможет переустановка с DKMS.
Для Ubuntu/Debian:
# Удалите текущую версию
sudo apt remove virtualbox virtualbox-dkms
# Очистите старые модули (опционально, но рекомендуется)
sudo rm -rf /lib/modules/$(uname -r)/misc/vbox*
# Установите заново (из официального репозитория Oracle или universe)
sudo apt update
sudo apt install virtualbox virtualbox-dkms
Во время установки DKMS автоматически соберёт модуль под текущее ядро.
Для Fedora/RHEL/CentOS:
sudo dnf remove VirtualBox
sudo dnf install VirtualBox
# DKMS включён по умолчанию
Способ 4: Проверка и исправление прав устройства
Если модуль загружен, но устройство имеет неверные права:
- Проверьте существование и права:
Корректный вывод:ls -l /dev/vboxdrvcrw-rw---- 1 root vboxusers ... /dev/vboxdrv. - Если группа не
vboxusersили права другие:- Перезагрузите модуль:
sudo rmmod vboxdrv && sudo modprobe vboxdrv - Убедитесь, что пользователь в группе
vboxusers(см. Способ 2).
- Перезагрузите модуль:
- Если устройства нет, модуль не создал его — переустановите VirtualBox (Способ 3).
Способ 5: Обновление ядра и VirtualBox
При обновлении ядра без переустановки VirtualBox модуль может стать несовместимым.
- Проверьте текущую версию ядра:
uname -r - Убедитесь, что версия VirtualBox совместима с вашим ядром. Официальная документация VirtualBox указывает поддерживаемые версии.
- Обновите VirtualBox до последней версии из официального репозитория. Для Ubuntu:
Или скачайте последний .deb с официального сайта.sudo apt update sudo apt install virtualbox
Профилактика
- Устанавливайте virtualbox-dkms — этот пакет автоматически пересобирает модуль при каждом обновлении ядра.
- После обновления ядра проверяйте загрузку модуля (
lsmod | grep vboxdrv). Если модуль не загружен — выполнитеsudo modprobe vboxdrvили переустановите VirtualBox. - Регулярно обновляйте VirtualBox через официальные репозитории дистрибутива, чтобы избежать проблем совместимости.
- Проверяйте членство в группе
vboxusersпосле создания нового пользователя.