Я использую VirtualBox с OS X в качестве хоста и CentOS на гостевой виртуальной машине.
В OS XI создала папку myfolder
, добавила ее как общую папку в виртуальную машину, включила виртуальную машину, в CentOS создала папку /home/user/myfolder
и набрала:
sudo mount -t vboxsf myfolder /home/user/myfolder
и иметь вывод:
/sbin/mount.vboxsf: mounting failed with the error: No such device
Что я делаю не так?
ОБНОВЛЕНО:
Guest Additions
установлены.
macos
centos
virtual-machine
virtualbox
cnaize
источник
источник
sudo mount -t vboxsf sf_folder /home/user/folder
здесьsf_folder
иfolder
ДОЛЖНЫ быть разные именаshare
в ответ, чтобы получить постоянную ссылку.Ответы:
Моя общая папка / буфер обмена по какой-то причине перестали работать (возможно, из-за установки исправления на моей виртуальной машине).
sudo mount -t vboxsf Shared_Folder ~/SF/
Дал следующий результат:
VirtualBox: mount.vboxsf: mounting failed with the error: No such device
Решением для меня было остановить vboxadd и выполнить настройку после этого:
источник
/sbin/mount.vboxsf: mounting failed with the error: No such device
. После запуска описанного выше и перезапуска системы мои общие папки выглядели так же, как и до обновления .. спасибо!sudo ./vboxadd setup
вы можете сделатьsudo ./vboxadd stop
. Не уверен, что это все еще необходимо, но я предполагаю, что это означает это предложение.Вы используете общие папки, поэтому вам нужно установить VirtualBox Guest Additions внутри вашей виртуальной машины для поддержки этой функции.
бродяга
Если вы используете Vagrant (OS X :)
brew cask install vagrant
, запустите:В случае сбоя проверьте журналы, например,
Возможно, вам просто не хватает заголовочных файлов ядра.
В.М.
Внутри виртуальной машины вы должны установить гостевые дополнения, заголовки ядра и запустить службу, а также дважды проверить, работает ли расширение ядра.
Это зависит от гостевой операционной системы, поэтому вот краткие шаги:
Установить ядро, включить заголовки (требуется VBoxLinuxAdditions).
sudo apt-get update && sudo apt-get install kernel-devel
sudo yum update && sudo yum -y install kernel-headers kernel-devel
Установите гостевые дополнения (это зависит от операционной системы).
Ubuntu:
sudo apt-get -y install dkms build-essential linux-headers-$(uname -r) virtualbox-guest-additions-iso
Если вы не можете найти его, проверьте
aptitude search virtualbox
.Debian :
sudo apt-get -y install build-essential module-assistant virtualbox-ose-guest-utils
Если вы не можете найти его, проверьте
dpkg -l | grep virtualbox
.вручную, загрузив iso-файл внутри виртуальной машины (например
wget
) и установив его, например,wget http://download.virtualbox.org/virtualbox/5.0.16/VBoxGuestAdditions_5.0.16.iso -P /tmp
sudo mount -o loop /tmp/VBoxGuestAdditions_5.0.16.iso /mnt
sudo sh -x /mnt/VBoxLinuxAdditions.run # --keep
Дополнительная отладка:
cd ~/install && sh -x ./install.sh /mnt/VBoxLinuxAdditions.run
Дважды проверьте, работают ли расширения ядра:
sudo modprobe vboxsf
Запустите / перезапустите сервис:
sudo /opt/VBoxGuestAdditions*/init/vboxadd setup
(добавитьsudo sh -x
в отладку)sudo /etc/init.d/vboxadd-service start
sudo /etc/init.d/vboxdrv setup
sudo service VBoxService start
Сборка основного модуля Guest Additions
Если выше, не сработало, вот более сложные шаги, чтобы исправить это. Это предполагает, что вы уже установили VBoxGuestAdditions (как показано выше).
Самая распространенная причина, по которой монтирование общей папки не работает, может быть связана с тем, что не удалось создать модуль Guest Additions. Если у
/var/log/vboxadd-install.log
вас есть следующая ошибка:это означает, что либо вы не установили исходные коды ядра, либо они не могут быть найдены.
Если вы уже установили их, как указано выше, выполните эту команду:
Таким образом,
vboxadd
скрипт ожидает, что исходные тексты вашего ядра будут доступны в следующем каталоге:Проверьте, существует ли каталог dir (символическая ссылка указывает на существующую папку). Если это не так, пожалуйста, установите их в нужную папку (например, в
/usr/src/kernels
).Таким образом,
vboxadd
скрипт может войти в исходный каталог вашего ядра и запустить егоmake kernelrelease
, получить значение и сравнить с текущей версией ядра.Вот логика:
Если версия ядра не совпадает с исходными текстами, возможно, вам нужно обновить ядро Linux (если исходные коды новее вашего ядра).
CentOS
Пытаться:
Если не сработает, попробуйте следующие шаги вручную для CentOS:
источник
vagrant plugin install vagrant-vbguest
vagrant vbguest
работает также на Centos 7 и решил проблему. СпасибоЯ могу решить эту проблему, запустив ниже команды
modprobe -a vboxguest vboxsf vboxvideo
источник
vboxsf
(VirtualBox Shared Folders) это то, что здесь необходимо. Вы можете перечислить эти 3 файла по одному на строку в файле/etc/modules-load.d/
(возможно, назовите этоvirtualbox.conf
), чтобы сохранить это изменение при перезагрузке.В дополнение к ответу @Mats я добавляю дополнительную информацию (это помогло мне в Debian 8).
Моя общая папка / буфер обмена по какой-то причине перестали работать (возможно, из-за установки исправления на моей виртуальной машине).
Дал мне следующий результат:
Решением для меня было остановить vboxadd и выполнить настройку после этого:
На данный момент, если вы все еще получаете следующую ошибку:
Вам необходимо установить заголовки Linux:
тогда вы можете установить гостевые дополнения:
и перезапустите ваш Linux:
тогда вы сможете смонтировать вашу общую папку!
Более подробную информацию (на французском языке), проверьте эту страницу .
источник
apt-get install linux-headers-virtual
помог с Lubuntu 15.04 на VirtualBoxЭто было единственное решение, которое работало для меня:
Установите плагин Vagrant: vagrant-vbguest , который может поддерживать ваши гостевые дополнения VirtualBox в актуальном состоянии.
Источник: https://github.com/aidanns/vagrant-reload/issues/4#issuecomment-230134083
источник
Это было решено путем:
Обходной путь здесь: https://gist.github.com/larsar/1687725
источник
uname -r
dkmsshare
под ответом)Общая папка раньше работала у меня, но вдруг она перестала работать (Virualbox - хост был Windows 7, Гость был OpenSuSe)
modprobe -a vboxguest vboxsf vboxvideo
затем
mount -t vboxsf testsf /opt/tsf
(testsf
была папка на диске Windows C, которая была добавлена в общую папку Virtualbox --- и/opt/tsf
является папкой в OpenSuseисточник
Мой хост - Windows10, мой виртуальный гость - сборка Ubuntu от vagrant. Это сработало для меня:
источник
У меня также была рабочая система, которая внезапно перестала работать с описанной ошибкой.
После того, как я покопался в моих / lib / modules, может показаться, что
vboxvfs
модуля больше нет. Вместо этогоmodprobe vboxsf
было необходимое заклинание, чтобы перезапустить вещи.Не уверен, когда это изменение произошло, но оно застало меня врасплох.
источник
Я использую VirtualBox 5.1.20, и у меня была похожая проблема. Вот URL, где я нашел исправление, и исправление, которое я реализовал:
В ссылке было что-то похожее на /usr/lib/VBoxGuestAdditions/other/mount.vboxsf, а не то, что у меня есть в выдержке из скрипта.
Для сценария сборки я использую vagrant для дополнений:
https://github.com/rburkholder/vagrant/blob/master/scripts/additions.sh
Кажется, это исправить на https://www.virtualbox.org/ticket/16670
источник
Решение для меня было обновить гостевые дополнения
(нажмите «Устройства» -> «Вставить образ гостевого дополнения»)
источник
Могут быть ошибки / неправильный подход в двух сценариях. Проверьте и то, и другое и выясните
СЦЕНАРИЙ 1.
После запуска VBoxLinuxAdditions.run или VBoxSolarisAdditions.pkg или VBoxWindowsAdditions.exe проверьте, правильно ли установлены все модули.
1.1.a. В случае VBoxLinuxAdditions , если происходит сбой сборки
модулей ядра VirtualBox Guest Additions ,
проверьте файл журнала в /var/log/vboxadd-install.log . Если ошибка связана с версией ядра, обновите ядро и перезагрузите виртуальную машину. В случае fedora ,
1.1.b. yum update kernel *
1.1.c.перезагрузка
1.2. Если ничего не получится, то все в порядке. У вас уже есть ожидаемая версия ядра
СЦЕНАРИЙ 2:
Если VBoxGuestAdditions установлен (проверьте наличие папки / opt / VBoxGuestAdditions- * .... представляет версию), необходимо запустить ее перед монтированием.
2.1. cd / opt / VBoxGuestAdditions - * / init && ./vboxadd start
Вам необходимо указать идентификатор пользователя и идентификатор группы вашего пользователя vm в качестве параметров команды mount.
2.2.а. Получение uid и gid пользователя:
id -u <'user'>
id -g <'user'>
2.2.b. Установка uid и gid в опциях команды mount:
mount -t vboxsf -o uid = x, gid = x shared_folder_name guest_folder
источник
Для меня на Mac оказалось, что на моей машине хранится старое изображение VirtualBox, в котором не было метаданных, поэтому оно не обновлялось до последней версии.
В том старом образе была установлена более старая версия плагина vbguest, с которой не мог работать более новый плагин vbguest на моей машине.
Чтобы исправить это, я просто удалил образ, на котором был основан мой Vagrant, а затем Vagrant скачал более новую версию, и она работала нормально.
Вы можете узнать, какие ящики были кэшированы на вашем компьютере, запустив:
Я также обновил свой плагин vbguest в своих предыдущих попытках заставить это работать, используя следующий процесс, но я не думаю, что это помогло. К вашему сведению!
Если вы обнаружите, что в гостевых надстройках произойдет сбой установки окна, вы можете попробовать сделать следующее, чтобы убедиться, что плагины установлены правильно. Это загружает последнюю версию образа для вашей системы (для меня CentOS) и может решить проблему (это для меня!)
источник
На Ubuntu это сработало:
источник
Была такая же проблема с VirtualBox 5.0.16 / rXXX
Установил последнюю версию VirtualBox 5.0.18 и установил последнюю версию Vagrant 1.9.3, проблема вышла из строя.
источник
Я добавил как пользователь root
затем
и пример сценария
/root/mount-vboxsf.sh
(установите свои собственные параметры uid и gid)вам нужно добавить
источник
У меня похожая проблема, проверьте заголовок, если он не совпадает, затем запустите команду ниже
CentOS: sudo yum update && sudo yum -y установить kernel-headers kernel-devel
источник
Если вы используете Debian:
1) удалить все установленные пакеты через файл ISO Virtualbox Guest Additions:
sh /media/cdrom/VBoxLinuxAdditions.run uninstall
2) установить пакеты Virtualbox:
apt-get install build-essential module-assistant virtualbox-guest-dkms virtualbox-guest-utils
Обратите внимание, что даже если
modprobe vboxsf
ничего не возвращать (поэтому модуль загружен правильно), онvboxsf.so
будет вызывать исполняемый файл с именемmount.vboxsf
, предоставленнымvirtualbox-guest-utils
. Игнорирование этого не даст вам понять истинную причину ошибки.strace mount /your-directory
была большая помощь (нет такого файла или каталога/sbin/mount.vboxsf
).источник
Обновление помогло мне!
источник
Ниже у меня работает две команды.
источник
Хорошо, все упускают основной факт.
mkdir /test
- Создает подкаталог в текущем каталоге.sudo mkdir /test
- сделать каталог в Root.Так что, если ваше имя общего каталога
shared
и вы делаете следующее:Это генерирует эту ошибку:
Потому что каталог находится не в том месте! Да, это то, что говорит эта ошибка. Ошибка не говорит перезагрузить гостевые опции VBOX.
Но если вы сделаете это:
Тогда все работает нормально.
Меня действительно поражает, как много людей предлагают перезагрузить гостевые дополнения Vbox, чтобы решить эту ошибку, или написать сложную программу для решения каталога, созданного в неправильном месте.
источник
mkdir /test
создаст каталог / test в /.sudo mkdir /test
создаст тот же каталог, но принадлежит пользователю root, а не текущему пользователю.kernel-devel.x86_64 0:2.6.32-754.11.1.el6
и запустил эти команды -cd /opt/VBoxGuestAdditions-*/init
иsudo ./vboxadd setup
. Это сработало для меня.