В интернете полно статей как установить VirtualBox Guest Additions на разные версии Debian и Ubuntu, но для Ubuntu 22.04 они некорректны.
Что делать? Читаем ниже.
Исходные данные: Ubuntu 22.04 установлен на VirtualBox v7.0.12 (Windows 10)
Задача: Установить VirtualBox Guest Additions
1. Заходим под root и выполняем:
apt-get update apt-get upgrade apt-get install build-essential module-assistant m-a prepare
Здесь мы обновили список пакетов, установили обновления, установили дополнительные компоненты для сборки модулей vbox, подготовили компоненты для сборки модулей ядра.
2. В VirtualBox идем в меню «Устройства» -> «Подключить образ диска Дополнений гостевой ОС…» (Devices -> Install Guest Additions…)
3. Под root выполняем:
mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom sh /mnt/cdrom/VBoxLinuxAdditions.run umount /mnt/cdrom
Будет смонтирован cdrom и произведена компиляция и установка дополнений vbox.
Процесс установки выглядит примерно так:
Verifying archive integrity... 100% MD5 checksums are OK. All good. Uncompressing VirtualBox 7.0.12 Guest Additions for Linux 100% VirtualBox Guest Additions installer Copying additional installer modules ... Installing additional modules ... VirtualBox Guest Additions: Starting. VirtualBox Guest Additions: Setting up modules VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules. This may take a while. VirtualBox Guest Additions: To build modules for other installed kernels, run VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup <version> VirtualBox Guest Additions: or VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup all VirtualBox Guest Additions: Building the modules for kernel 5.15.0-91-generic. update-initramfs: Generating /boot/initrd.img-5.15.0-91-generic VirtualBox Guest Additions: Running kernel modules will not be replaced until the system is restarted or 'rcvboxadd reload' triggered VirtualBox Guest Additions: reloading kernel modules and services VirtualBox Guest Additions: kernel modules and services 7.0.12 r159484 reloaded VirtualBox Guest Additions: NOTE: you may still consider to re-login if some user session specific services (Shared Clipboard, Drag and Drop, Seamless or Guest Screen Resize) were not restarted automatically
После этого нужно перезагрузить виртуальную машину:
reboot
После перезагрузки можно проверить факт загрузки модулей ядра командой
# lsmod | grep vbox vboxguest 434176 2
и факт запуска VBoxService командой
# ps -auxw | grep [v]box root 804 0.0 0.1 290492 3028 ? Sl 15:50 0:00 /usr/sbin/VBoxService --pidfile /var/run/vboxadd-service.sh
После установки VirtualBox Guest Additions будут доступны такие функции как Общий буфер обмена, Drag’n Drop и Общие папки.
Я подключил общую папку на диске c хостовой ОС Windows (C:\Windows) внутрь VirtualBox и так она была примонтирована в Ubuntu:
root@ubuntu:~# mount | grep vbox windows on /mnt/windows type vboxsf (rw,nodev,relatime,iocharset=utf8,uid=0,gid=999,dmode=0770,fmode=0770,tag=VBoxAutomounter) root@ubuntu:~# ls -l /mnt/windows total 67286 drwxrwx--- 1 root vboxsf 0 Dec 14 13:14 AppReadiness drwxrwx--- 1 root vboxsf 0 Dec 7 2019 BitLockerDiscoveryVolumeContents -rwxrwx--- 1 root vboxsf 19535 Jan 10 2021 Blank.ico drwxrwx--- 1 root vboxsf 0 Dec 7 2019 Boot ... -rwxrwx--- 1 root vboxsf 219 Oct 30 2015 system.ini drwxrwx--- 1 root vboxsf 0 Dec 7 2019 tracing drwxrwx--- 1 root vboxsf 0 Dec 12 14:24 twain_32 -rwxrwx--- 1 root vboxsf 65024 Dec 7 2019 twain_32.dll -rwxrwx--- 1 root vboxsf 92 Oct 30 2015 win.ini -rwxrwx--- 1 root vboxsf 11776 Dec 7 2019 winhlp32.exe -rwxrwx--- 1 root vboxsf 11264 Dec 6 2019 write.exe
P.S. Для удаления VirtualBox Guest Additions необходимо запустить:
mount /dev/cdrom /mnt/cdrom sh /mnt/cdrom/VBoxLinuxAdditions.run uninstall
после удаления VirtualBox Guest Additions необходимо перезагрузить виртуальную машину.
На этом все, до скорых встреч. Если у Вас возникли вопросы или Вы хотите чтобы я помог Вам, то Вы всегда можете связаться со мной разными доступными способами.
Профессионально занимаюсь системным администрированием Linux -серверов и баз данных (MySQL, POstgreSQL) на протяжении последних 24 лет.