Введение / Зачем это нужно
VirtualBox — это бесплатный, мощный гипервизор Type 2, который позволяет запускать на одном компьютере несколько гостевых операционных систем (Windows, Linux, macOS, Solaris). Установка на Ubuntu — задача рутинная, но требует внимания к деталям, особенно к совместимости модулей ядра. После выполнения этого гайда у вас будет полнофункциональная виртуальная машина с поддержкой USB и других расширений.
Требования / Подготовка
Перед началом убедитесь, что:
- У вас установлена Ubuntu 22.04 LTS или новее (инструкция также работает для последних версий Debian).
- У вас есть доступ к учётной записи с правами sudo.
- Система обновлена:
sudo apt update && sudo apt upgrade -y. - Важно: У вас должен быть установлен пакет
dkms(Dynamic Kernel Module Support). Он обычно есть по умолчанию, но проверить можно командой:dpkg -l dkms | grep -q dkms || echo "DKMS не установлен. Установите: sudo apt install dkms"
Пошаговая инструкция
Шаг 1: Добавление официального репозитория Oracle
Репозиторий Ubuntu часто содержит устаревшие версии VirtualBox. Добавим официальный источник от Oracle.
- Импортируем GPG-ключ Oracle:
wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/virtualbox-archive-keyring.gpg > /dev/null - Добавляем репозиторий в систему. Для Ubuntu 22.04 (jammy) и 24.04 (noble):
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/virtualbox-archive-keyring.gpg] https://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
Шаг 2: Обновление и установка VirtualBox
После добавления репозитория устанавливаем основной пакет и пакет для работы с модулями ядра (dkms).
sudo apt update
sudo apt install virtualbox virtualbox-dkms -y
Что происходит:
virtualbox— основной пакет с графическим интерфейсом и CLI.virtualbox-dkms— критически важный пакет. Он автоматически пересобирает модули ядра (vboxdrv,vboxnetfltи др.) при каждом обновлении ядра, предотвращая ошибку "Kernel driver not installed".
Шаг 3: Установка Extension Pack
Extension Pack добавляет поддержку USB 2.0/3.0, RDP, шифрование и другие функции. Скачайте последнюю версию с официального сайта или установите через командную строку.
# Скачиваем последний Extension Pack (версия может отличаться)
wget https://download.virtualbox.org/virtualbox/7.0.12/Oracle_VM_VirtualBox_Extension_Pack-7.0.12.vbox-extpack
# Устанавливаем. Вас спросят, принимаете ли лицензионное соглашение. Нажмите Enter, затем 'y'.
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-7.0.12.vbox-extpack
💡 Совет: Устанавливайте Extension Pack той же версии, что и VirtualBox. Проверить версию:
virtualbox --help | head -1.
Шаг 4: Настройка прав пользователя
Для работы с USB-устройствами и некоторыми другими функциями ваш пользователь должен состоять в группе vboxusers.
sudo usermod -aG vboxusers $USER
Важно: Изменение вступает в силу после выхода и повторного входа в систему (или перезагрузки). Без этого вы не сможете подключить флешку или использовать некоторые настройки.
Шаг 5: Проверка установки
- Запустите VirtualBox из меню приложений или командой
virtualbox. - В меню выберите Файл -> Параметры -> Расширения. Вы должны увидеть установленный Extension Pack.
- Создайте тестовую виртуальную машину (например, с Ubuntu ISO) и убедитесь, что она запускается.
- Проверьте, что модули ядра загружены:
Вывод должен содержатьlsmod | grep vboxvboxdrv,vboxnetflt,vboxnetadpи др.
Проверка результата
Успешная установка подтверждается:
- Запуском графического интерфейса VirtualBox без ошибок.
- Наличием в Файл -> Параметры -> Общие пути к папке по умолчанию для виртуальных машин.
- Наличием в Файл -> Параметры -> Расширения записи об Extension Pack.
- Возможностью создания и запуска виртуальной машины.
- Работающей USB-перенаправкой (если Extension Pack установлен).
Возможные проблемы
Ошибка: "Нет прав доступа к /dev/vboxdrv" или "Kernel driver not installed (rc=-1908)"
Причина: Модули ядра не загружены или пользователь не в группе vboxusers.
Решение:
- Убедитесь, что вы выполнили
sudo usermod -aG vboxusers $USERи перелогинились. - Переустановите модули DKMS:
sudo apt install --reinstall virtualbox-dkms sudo dpkg-reconfigure virtualbox-dkms - Принудительно соберите модули:
sudo /sbin/vboxconfig
Ошибка: "The VirtualBox kernel modules do not match this version of VirtualBox"
Причина: Версия VirtualBox и virtualbox-dkms различаются (часто после частичного обновления).
Решение: Полностью переустановите VirtualBox из одного источника:
sudo apt purge virtualbox virtualbox-*
sudo apt install virtualbox virtualbox-dkms
Extension Pack не появляется в списке
Причина: Установлен Extension Pack другой версии, либо не принято лицензионное соглашение. Решение:
- Проверьте версию:
VBoxManage --version. - Удалите старый Extension Pack:
sudo VBoxManage extpack uninstall "Oracle VM VirtualBox Extension Pack". - Установите заново, скачав пакет точно такой же версии.
Проблемы с графическим ускорением 3D в гостевой ОС
Причина: Не установлены драйверы Guest Additions или они несовместимы. Решение: В запущенной виртуальной машине откройте меню Устройства -> Подключить образ диска дополнительных драйверов.... В гостевой системе (например, Ubuntu) выполните:
# Для Ubuntu/Debian гостевой системы
sudo apt update
sudo apt install build-essential dkms linux-headers-$(uname -r)
sudo sh /media/cdrom/VBoxLinuxAdditions.run
Перезагрузите гостевую систему.
Ошибка при сборке DKMS: "module verification failed: signature and/or required key missing"
Причина: Включена проверка подписи модулей ядра (Secure Boot). Решение:
- Вариант 1 (проще): Отключите Secure Boot в UEFI/BIOS.
- Вариант 2 (без отключения): При первой установке/сборке DKMS вам нужно будет ввести пароль MOK (Machine Owner Key), который вы зададите. После перезагрузки система предложит зарегистрировать ключ. Следуйте инструкциям на экране.