Установка VirtualBox Guest Additions на Debian 9

В интернете полно статей как установить VirtualBox Guest Additions на Debian 8, но для Debian 9 они некорректны, т.к. в репозитарии stretch нет пакетов virtualbox-guest-dkms, virtualbox-guest-x11 и т.п.
Знающие люди скажут, что можно воспользоваться репозитарием stretch-backports, там эти пакеты есть, но там версия пакетов 5.1.30, что довольно не актуально, ведь буквально сегодня вышел VirtualBox v5.2.6
В репозитарии sid конечно самые актуальные версии пакетов (5.2.6), но я бы не стал рисковать и ставить что-то из sid на стабильную версию.

Что делать? Читаем ниже.

Исходные данные: Debian 9.3 (Stretch) установлен на VirtualBox v5.2.6 (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 выполняем:

mount /media/cdrom
sh /media/cdrom/VBoxLinuxAdditions.run

Будет смонтирован cdrom и произведена компиляция и установка дополнений vbox, после этого нужно перезагрузить виртуальную машину:

reboot

После перезагрузки можно проверить факт загрузки модулей ядра командой

# lsmod | grep vbox

vboxsf                 45056  0
vboxguest             286720  2 vboxsf
vboxvideo              36864  1
ttm                    98304  1 vboxvideo
drm_kms_helper        155648  1 vboxvideo
drm                   360448  4 vboxvideo,ttm,drm_kms_helper

и факт запуска VBoxService командой

# ps -auxw | grep [v]box

root       516  0.0  0.2 249280  2424 ?        Sl   17:28   0:00 /usr/sbin/VBoxService --pidfile /var/run/vboxadd-service.sh

P.S. Для удаления VirtualBox Guest Additions необходимо запустить:

/media/vboxguestaddons/VBoxLinuxAdditions.run uninstall

после удаления VirtualBox Guest Additions необходимо перезагрузить виртуальную машину.

На этом все, до скорых встреч. Если у Вас возникли вопросы или Вы хотите чтобы я помог Вам, то Вы всегда можете связаться со мной разными доступными способами.


7 комментариев

  • Ответить felix |

    Капиталисты почему-то советуют кроме build-essential и module-assistant устанавливать ещё и dkms. Надо проверить, без dkms собирается ли… а то капиталистам этим веры никакой. :)

    • Ответить Михаил |

      У меня ни на одной виртуалке с Debian под VirtualBox пакет dkms не установлен, это ни коим образом не мешает работе Guest Additions.

  • Ответить felix |

    скриншот: http://auriz.ru/pic/JRDv6rTl.png
    Скриншот получен на системе с установленными build-essential и module-assistant, но не установленным dkms. Таким результатом заканчивается попытка установки guest-additions.
    А вот результат, когда dkms установлен в систему: http://auriz.ru/pic/fzGrq1vi.png
    dkms нужен для установке guest-additions а не для его работы. Капиталисты не обманули. Рекомендую вам проверить установку на голой системе.

    Да, речь о Debian stretch и VirtualBox-5.2.16.
    С наилучшими пожеланиями… :)))

  • Ответить Михаил |

    Если Вы сами внимательно посмотрите на скриншот, то увидите, что ругается он не на отсутствие пакета dkms, а на отсутствие пакета linux-headers. Именно linux-headers и нужен и он у меня установлен, а устанавливается этот пакет как раз в результате запуска m-a prepare.

    Вы запускали у себя команду m-a prepare ?

    Вот мой скриншот с пакетами на котором видно отсутствие пакета dkms и присутствия linux-headers.

    А вот скриншот чистой системы, где я запускаю в первый раз m-a prepare и на нем видно, что будет установлен пакет llinux-headers-4.9.0-4-amd64, linux-headers-4.9.0-4-common и linux-kbuild-4.9

    Возможно есть какая-то специфика установки VirtualBox Guest Additions в случае если у вас хост-система на Linux, хотя маловероятно, но dkms точно не нужен для установки и сборки VirtualBox Guest Additions.

  • Ответить felix |

    Нет, я не делал m-a prepare… Я обычно устанавливаю dkms, который по зависимостям вытягивает всё что нужно, потому что иногда делаю «матрёшку».

    Надо будет сравнить с m-a prepare на предмет количества дополнительно устанавливаемых пакетов. Впрочем… В любом случае хорошо, что обратили моё внимание на эту деталь.

  • Ответить Михаил |

    Конкретно в моей статье используется m-a prepare и с ним все прекрасно ставиться и собирается. И вызов m-a prepare ставит куда меньше дополнительных пакетов, чем установка dkms, хотя если Вам для дальнейшей работы нужен именно dkms, то конечно ставьте его, он так же подтянет llinux-headers и еще парочку пакетов.

    • Ответить felix |

      Да, всё ставится по Вашей статье. Просто делается +одно движение (m-a prepare). В случае с dkms же достаточно установить только dkms и можно собирать guest additions. А по зависимостям, которые вытягивают build-essential и m-a prepare получается почти то же, что вытягивает dkms. В общем я разобрался и понял, как старик старуху донял. Благодарю Вас за терпение.

Хотите оставить комментарий?