Подробный гайд: Установка VirtualBox Guest Additions (Дополнений гостевой ОС) на Linux
Установка VirtualBox Guest Additions (Дополнений гостевой ОС) часто завершается ошибкой, если в системе не хватает инструментов для сборки и компиляции ядерных модулей. Guest Additions включают в себя драйверы (для общих папок, изменения разрешения экрана, интеграции буфера обмена), которые должны быть скомпилированы специально под ядро вашей гостевой системы.
Ниже представлен подробный гайд по необходимым пакетам и процессу установки для различных операционных систем Linux.
Главное правило (Pro-Tip)
Если вы только что обновили систему (и обновили ядро), обязательно перезагрузите виртуальную машину перед установкой Guest Additions. Иначе установленные заголовки ядра (linux-headers) не будут совпадать с текущим запущенным ядром, и установка прервется с ошибкой.
1. Необходимые пакеты по дистрибутивам
Для успешной компиляции модулей вам понадобятся: компилятор C (gcc), утилита сборки (make), интерпретатор (perl), заголовки текущего ядра и утилита динамического управления модулями (dkms).
Debian / Ubuntu / Linux Mint / Pop!_OS
Откройте терминал и выполните:
sudo apt update
sudo apt install build-essential linux-headers-$(uname -r) dkms bzip2 -y
Примечание: build-essential уже включает в себя gcc, g++, make и dpkg-dev.
RHEL / CentOS / AlmaLinux / Rocky Linux / Fedora
Используем пакетный менеджер dnf (или yum для старых версий):
sudo dnf update
sudo dnf install gcc make perl kernel-devel kernel-headers dkms bzip2 -y
Arch Linux / Manjaro
В Arch Linux заголовки ядра и базовые инструменты для сборки разделены:
sudo pacman -Syu
sudo pacman -S base-devel linux-headers dkms
Если вы используете LTS-ядро, установите linux-lts-headers вместо linux-headers.
openSUSE
sudo zypper refresh
sudo zypper install gcc make kernel-devel dkms
2. Пошаговая установка Guest Additions
После того как необходимые пакеты установлены, переходим к самой установке.
Шаг 1. Подключите образ диска с дополнениями
В верхнем меню окна виртуальной машины нажмите:
Устройства->Подключить образ диска Дополнений гостевой ОС...(Devices -> Insert Guest Additions CD image).
Шаг 2. Смонтируйте диск (если он не смонтировался автоматически)
Обычно диск монтируется сам. Если нет, выполните в терминале гостевой ОС:
sudo mkdir -p /mnt/cdrom
sudo mount /dev/cdrom /mnt/cdrom
Шаг 3. Запустите установщик
Перейдите в директорию с диском и запустите скрипт установки от имени суперпользователя:
cd /mnt/cdrom # или /media/$USER/VBox_GAs_... если автозапуск сработал
sudo ./VBoxLinuxAdditions.run
Шаг 4. Дождитесь окончания и перезагрузитесь
Скрипт сам скомпилирует модули.
После появления надписи VirtualBox Guest Additions: Running kernel modules will not be replaced until the system is restarted, перезагрузите виртуальную машину:
sudo reboot
3. Windows (Гостевая ОС)
Если ваша гостевая ОС — Windows, никакие пакеты устанавливать не нужно.
Достаточно подключить образ диска (как в Шаге 1), открыть «Мой компьютер», открыть подключенный CD-привод и запустить файл VBoxWindowsAdditions.exe (или VBoxWindowsAdditions-amd64.exe), далее просто нажимать «Далее» и перезагрузить систему.
4. Решение частых проблем (Troubleshooting)
Если установка завершилась ошибкой, вот что нужно проверить:
1. Где смотреть логи?
Подробный лог ошибки всегда сохраняется в файле:
/var/log/vboxadd-setup.log (или vboxadd-install.log). Откройте его (cat /var/log/vboxadd-setup.log), чтобы понять, какого именно пакета не хватает.
2. Ошибка "Kernel headers not found" или "Mismatch"
Это значит, что версия установленных linux-headers не совпадает с версией запущенного ядра.
Решение:
Проверьте версию ядра командой uname -r. Убедитесь, что вы установили заголовки именно для этой версии (например, linux-headers-5.15.0-76-generic). Если вы только что обновили систему через apt update && apt upgrade, просто перезагрузите ВМ и попробуйте снова.
3. Проблема с Secure Boot (Безопасная загрузка)
Если в настройках BIOS/UEFI вашей хостовой (основной) машины включен Secure Boot, ядро Linux откажется загружать неподписанные модули VirtualBox (в частности, драйвер общих папок vboxsf).
Решение:
Зайдите в BIOS/UEFI и отключите Secure Boot. Для виртуальных машин это абсолютно безопасно и является самым простым решением.
4. Не работают общие папки (Shared Folders)
Если модули установились, но папки не монтируются, убедитесь, что ваш пользователь добавлен в группу vboxsf:
sudo usermod -aG vboxsf $USER
После этого нужно выйти из системы и зайти снова (или перезагрузиться).
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.