VirtualBox Guest Additions — общие папки
Результатом его работы для данного примера будет образ /tmp/VBoxLinuxAdditions-6.1.34.iso, который уже можно подключить к гостевой Астре и запустить там подправленный VBoxLinuxAdditions.run.
Iskatel_znaniy
New member
При установке дополнений в гостевой Астре происходит ошибка сборки модуля общих папок, и, соответственно, общие папки потом не работают.
/tmp/vbox.0/include/iprt/linux/version.h:135:48: error: hexadecimal floating constants require an exponent # define RTLNX_UBUNTU_ABI(a_iAbi) (RT_CONCAT(0x,a_iAbi))
Чтобы избежать ошибки, можно подправить вышеуказанную строку в вышеупомянутом файле version.h внутри VBoxLinuxAdditions.run, изменив её на
# define RTLNX_UBUNTU_ABI(a_iAbi) 0
Для автоматизации этого действия можно использовать следующий скрипт. Для его работы нужно предварительно установить пакет makeself, которым создаются файлы .run.
#!/bin/bash runfile='VBoxLinuxAdditions.run' archive='VBoxGuestAdditions-amd64.tar.bz2' line='^# define RTLNX_UBUNTU_ABI' tmpdir='/tmp/vboxadd' sedcmd='/.+VirtualBox ([0-9.]+) Guest Additions.+/' version=$(sh "$runfile" --info | sed -nE "$sedcmd" -) || exit 1 file="src/vboxguest-$/vboxsf/include/iprt/linux/version.h" sh "$runfile" --noexec --keep --target "$tmpdir" || exit 1 cd "$tmpdir" mkdir -p 'extract' && cd 'extract' && tar -xjf ../"$archive" || exit 1 sed -i "/$/s/(RT_CONCAT(0x,a_iAbi))/0/" "$file" || exit 1 tar -cjf ../"$archive" * && cd ../.. && rm -r "$tmpdir/extract" || exit 1 makeself='/usr/bin/makeself.sh'; [[ -f $makeself ]] || makeself='/usr/bin/makeself' $makeself --nocomp "$tmpdir" "$runfile" \ "VirtualBox $version Guest Additions for Linux" \ '/bin/sh' './install.sh' '$0' && rm -r "$tmpdir" || exit 1 genisoimage -rJV "VBox_$_Linux_GAs" -o "VBoxLinuxAdditions-$.iso" \ "$runfile" && rm "$runfile" || exit 1 echo -e "\nГотово: /tmp/VBoxLinuxAdditions-$.iso\n" exit 0
Скрипт нужно запустить в терминале, зайдя в системе-хозяине на примонтированный образ с дополнениями. Например, так.
sudo mount ~/.config/VirtualBox/VBoxGuestAdditions_6.1.34.iso /mnt cd /mnt bash
Результатом его работы для данного примера будет образ /tmp/VBoxLinuxAdditions-6.1.34.iso, который уже можно подключить к гостевой Астре и запустить там подправленный VBoxLinuxAdditions.run.
Iskatel_znaniy
New member
#!/bin/bash
runfile=’VBoxLinuxAdditions.run’
archive=’VBoxGuestAdditions-amd64.tar.bz2′
line=’^# define RTLNX_UBUNTU_ABI’
tmpdir=’/tmp/vboxadd’
sedcmd=’/.+VirtualBox ([0-9.]+) Guest Additions.+/’
version=$(sh «$runfile» —info | sed -nE «$sedcmd» -) || exit 1
file=»src/vboxguest-$/vboxsf/include/iprt/linux/version.h»
sh «$runfile» —noexec —keep —target «$tmpdir» || exit 1
cd «$tmpdir»
mkdir -p ‘extract’ && cd ‘extract’ && tar -xjf ../»$archive» || exit 1
sed -i «/$/s/(RT_CONCAT(0x,a_iAbi))/0/» «$file» || exit 1
tar -cjf ../»$archive» * && cd ../.. && rm -r «$tmpdir/extract» || exit 1
makeself=’/usr/bin/makeself.sh’; [[ -f $makeself ]] || makeself=’/usr/bin/makeself’
$makeself —nocomp «$tmpdir» «$runfile» \
«VirtualBox $version Guest Additions for Linux» \
‘/bin/sh’ ‘./install.sh’ ‘$0’ && rm -r «$tmpdir» || exit 1
genisoimage -rJV «VBox_$_Linux_GAs» -o «VBoxLinuxAdditions-$.iso» \
«$runfile» && rm «$runfile» || exit 1
echo -e «\nГотово: /tmp/VBoxLinuxAdditions-$.iso\n»
exit 0
[/code]
Скрипт нужно запустить в терминале, зайдя в системе-хозяине на примонтированный образ с дополнениями. Например, так.
sudo mount ~/.config/VirtualBox/VBoxGuestAdditions_6.1.34.iso /mnt cd /mnt bash
Результатом его работы для данного примера будет образ /tmp/VBoxLinuxAdditions-6.1.34.iso, который уже можно подключить к гостевой Астре и запустить там подправленный VBoxLinuxAdditions.run.
А под каким названием и с каким расширением этот скрипт нужно сделать и куда его лучше всего поместить?
countmein
New member
Это значения не имеет. Какая программа выполняет скрипт, указано в его первой строчке. Это на случай, если вы его сделаете исполняемым и запустите как программу. А если передать его как аргумент в вызове bash, то и исполняемым делать не надо. Но обычно дают расширение .sh. Поместить тоже всё равно куда. Но если в один из каталогов, указанных в PATH, то можно будет его вызывать без пути к нему.
Iskatel_znaniy
New member
Скрипт нужно запустить в терминале, зайдя в системе-хозяине на примонтированный образ с дополнениями. Например, так.
countmein
New member
find ~ -name 'VBoxGuestAdditions*.iso'
Iskatel_znaniy
New member
find ~ -name 'VBoxGuestAdditions*.iso'
countmein
New member
Да, дополнения устанавливаются на гостевой, но образ-то с ними скачивается VirtualBox’ом в основную, потом подключается к виртуальному приводу гостя.
Iskatel_znaniy
New member
Да, дополнения устанавливаются на гостевой, но образ-то с ними скачивается VirtualBox’ом в основную, потом подключается к виртуальному приводу гостя.
12489229 drwx------ 2 user user user ? 4,0K мая 30 22:05 ./ 12320783 drwxr-xr-x 32 user user user ? 4,0K мая 30 22:01 ../ 12493156 -rw------- 1 user user user ? 1,2K янв 21 22:05 compreg.dat 12485871 -rw------- 1 user user user ? 1,7K мая 30 22:20 selectorwindow.log 12482279 -rw------- 1 user user user ? 4,2K мая 30 12:26 selectorwindow.log.1 12485879 -rw------- 1 user user user ? 2,0K мая 27 12:25 selectorwindow.log.10 12482275 -rw------- 1 user user user ? 6,5K мая 30 12:02 selectorwindow.log.2 12485893 -rw------- 1 user user user ? 3,0K мая 30 00:13 selectorwindow.log.3 12486044 -rw------- 1 user user user ? 3,4K мая 29 19:22 selectorwindow.log.4 12485958 -rw------- 1 user user user ? 362 мая 29 19:22 selectorwindow.log.5 12486091 -rw------- 1 user user user ? 291 мая 29 17:49 selectorwindow.log.6 12485885 -rw------- 1 user user user ? 2,0K мая 29 16:30 selectorwindow.log.7 12485937 -rw------- 1 user user user ? 218 мая 27 23:50 selectorwindow.log.8 12485928 -rw------- 1 user user user ? 1,3K мая 27 23:49 selectorwindow.log.9 12493073 -rw-r--r-- 1 user user user ? 196K мая 30 11:02 vbox-ssl-cacertificate.crt 12485926 -rw------- 1 user user user ? 68K мая 30 22:20 VBoxSVC.log 12482276 -rw------- 1 user user user ? 711K мая 30 12:28 VBoxSVC.log.1 12485867 -rw------- 1 user user user ? 54K мая 23 22:54 VBoxSVC.log.10 12485888 -rw------- 1 user user user ? 463K мая 30 00:13 VBoxSVC.log.2 12482274 -rw------- 1 user user user ? 87K мая 29 23:25 VBoxSVC.log.3 12485927 -rw------- 1 user user user ? 79K мая 27 23:50 VBoxSVC.log.4 12485895 -rw------- 1 user user user ? 58K мая 27 12:33 VBoxSVC.log.5 12485884 -rw------- 1 user user user ? 78K мая 26 23:52 VBoxSVC.log.6 12486047 -rw------- 1 user user user ? 131K мая 25 23:52 VBoxSVC.log.7 12485875 -rw------- 1 user user user ? 84K мая 25 12:30 VBoxSVC.log.8 12485886 -rw------- 1 user user user ? 80K мая 24 23:49 VBoxSVC.log.9 12486623 -rw------- 1 user user user ? 5,2K мая 30 12:28 VirtualBox.xml 12486597 -rw------- 1 user user user ? 4,9K мая 30 12:28 VirtualBox.xml-prev 12493169 -rw------- 1 user user user ? 30K янв 21 22:05 xpti.dat
VBox Запускаю гостевую ОС ошибка
where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) — The support driver is not installed. On linux, open returned ENOENT.
Что не так? VBox вместе с системой установлен. Как починить?
viv567
New member
Вместе с virtualbox (установленного deb-пакетом) необходимо установить расширение » Oracle_VM_VirtualBox_Extension» и набор системных драйверов «VBoxGuestAdditions.iso». Их можно скачать на оф. сайте Oracle для соответствующей ОС.
mfp
New member
Победить ошибку так и не смог. Установил последнюю версию VBOX с сайта производителя. Теперь такая ошибка
Kernel driver not installed (rc=-1908)
The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing
where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) — The support driver is not installed. On linux, open returned ENOENT.
Команда от рута /sbin/vboxconfig не помогла
viv567
New member
Нужно установить пакет linux-headers-. для вашего ядра. Это пакет с заголовками ядра. Он есть на диске разработчика.
inpmdy
New member
Да, каждый раз так после обновления ядра. Переустанавливаю virtualbox-dkms и перезагружаю. Естественно, для компиляции, linux-headers так-же должны быть установлены
Olej
New member
Если заголовочные файлы ядра установлены (обновились), то с VirtualBox (из их родного репозитория установленного!) ничего вручную делать не надо при обновлениях ядра. На то оно и DKMS:
olej@astra:~$ uname -a Linux astra 4.19.0-1-generic #astra1 SMP Wed Mar 20 12:59:21 UTC 2019 x86_64 GNU/Linux
olej@astra:~$ VirtualBox --help | head -n3 Oracle VM VirtualBox Manager 5.2.12_AstraCE (C) 2005-2018 Oracle Corporation All rights reserved.
olej@astra:~$ lsmod | grep vb vboxvideo 36864 0 vboxpci 24576 0 vboxnetadp 28672 0 vboxnetflt 28672 0 vboxdrv 475136 3 vboxpci,vboxnetadp,vboxnetflt vboxguest 339968 5 ttm 106496 2 vmwgfx,vboxvideo drm_kms_helper 180224 2 vmwgfx,vboxvideo drm 471040 7 vmwgfx,drm_kms_helper,vboxvideo,ttm
Olej
New member
Победить ошибку так и не смог. Установил последнюю версию VBOX с сайта производителя. Теперь такая ошибка
Kernel driver not installed (rc=-1908)
У VirtualBox (на сайте Oracle) существуют несколько линий версий, развиваемых параллельно и одновременно. На сегодня это версии 5.1.Х, 5.2.Х, 6.0.Х — они отличаются используемым способом загрузки модулей ядра. Как только вы начинаете играться с инсталляциями из разных линий версий (одну снесёте — другую устанавливаете) — у вас будет возникать вот такая тяжёлая ошибка с невозможностью загрузить модули ядра — не выгружены модули предыдущей снесённой версии.
Как делу помочь?
1. не играться со «смесью» инсталляций: из своего репозитория и из Oracle — либо одно, либо другое!
2 если вы удаляете VirtualBox, то а). обязательно перезагрузить Linux после удаления, б). убедиться (lsmod) что в системе нет модулей вида vb*, в). только после этого устанавливать новую версию.
P.S. В рамках одной линии версий (5.1.Х, 5.2.Х, 6.0.Х) версии VirtualBox обновляются без таких проблем.
larinnik
New member
аналогичная проблема, поэтому не стал создавать новую тему:
astra 1.6 smolensk, свежеустановленная по дефолту
делал по вики именно эту версию virtualbox
мои действия
————-
sudo apt install linux-headers-generic
sudo dpkg -i /home/user/Desktop/virtualbox-5.2_5.2.12-122591~Debian~stretch_amd64.deb
Для установки пакета расширений в сети, не имеющей подключения к Интернет, следует скачать файл пакета, VirtualBox 5.2.12: Oracle_VM_VirtualBox_Extension_Pack-5.2.12.vbox-extpack
Запустить VirtualBox.
Выбрать в меню VirtualBox «Файл» — «Настройки» — «Плагины».
Для добавления нового плагина нажать на кнопку с зелёным плюсом.
Найти и выбрать ранее скачанный файл, и нажать кнопку «Открыть».
Подтвердить согласие с установкой, прокрутить лицензионное соглашение до конца, подтвердить свой согласие с ним.
Ввести пароль администратора.
После этого пакет должен установиться.
———————
всё прошло без ошибок
но при запуске гостевой ОС ошибка:
——
The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing
where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) — The support driver is not installed. On linux, open returned ENOENT.
——
я не ахти спец в линуксе, можно на пальцах, пожалуйста, что делать дальше?