Estoy usando VirtualBox con OS X como host y CentOS en la máquina virtual invitada.
En la carpeta creada por OS XI myfolder
, la agregué como carpeta compartida a la VM, encendí la VM, en la carpeta creada por CentOS /home/user/myfolder
y escribiendo:
sudo mount -t vboxsf myfolder /home/user/myfolder
y tener salida:
/sbin/mount.vboxsf: mounting failed with the error: No such device
¿Qué estoy haciendo mal?
ACTUALIZADO:
Guest Additions
instalado
macos
centos
virtual-machine
virtualbox
cnaize
fuente
fuente
sudo mount -t vboxsf sf_folder /home/user/folder
, aquísf_folder
yfolder
DEBE ser nombres diferentesshare
en la respuesta para obtener el enlace permanente.Respuestas:
Mi carpeta / portapapeles compartido dejó de funcionar por alguna razón (probablemente debido a una instalación de parche en mi máquina virtual).
sudo mount -t vboxsf Shared_Folder ~/SF/
Dio el siguiente resultado:
VirtualBox: mount.vboxsf: mounting failed with the error: No such device
La solución para mí fue detener vboxadd y hacer una configuración después de eso:
fuente
/sbin/mount.vboxsf: mounting failed with the error: No such device
. Después de ejecutar lo anterior y reiniciar el sistema, mis carpetas compartidas aparecieron como lo hicieron antes de actualizar ... ¡gracias!sudo ./vboxadd setup
, puedes hacerlosudo ./vboxadd stop
. No estoy seguro de si todavía es necesario, pero supongo que eso es lo que significa esa oración.Está utilizando carpetas compartidas, por lo que debe instalar VirtualBox Guest Additions dentro de su máquina virtual para admitir esa función.
Vagabundo
Si está utilizando Vagrant (OS X :)
brew cask install vagrant
, ejecute:En caso de que falle, verifique los registros, p. Ej.
Tal vez solo te faltan los archivos de encabezado del núcleo.
VM
Dentro de VM, debe instalar Guest Additions, encabezados de kernel e iniciar el servicio y verificar si la extensión del kernel se está ejecutando.
Esto depende del sistema operativo invitado, así que aquí hay unos breves pasos:
Instale los encabezados de inclusión del kernel (requerido por VBoxLinuxAdditions).
sudo apt-get update && sudo apt-get install kernel-devel
sudo yum update && sudo yum -y install kernel-headers kernel-devel
Instalar adiciones de invitados (esto depende del sistema operativo).
Ubuntu:
sudo apt-get -y install dkms build-essential linux-headers-$(uname -r) virtualbox-guest-additions-iso
Si no puede encontrarlo, consulte
aptitude search virtualbox
.Debian :
sudo apt-get -y install build-essential module-assistant virtualbox-ose-guest-utils
Si no puede encontrarlo, consulte
dpkg -l | grep virtualbox
.manualmente descargando el archivo iso dentro de VM (p
wget
. ej. ) e instalándolo, p. ej.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
Depuración adicional:
cd ~/install && sh -x ./install.sh /mnt/VBoxLinuxAdditions.run
Verifique que las extensiones del kernel estén en funcionamiento:
sudo modprobe vboxsf
Iniciar / reiniciar el servicio:
sudo /opt/VBoxGuestAdditions*/init/vboxadd setup
(agregarsudo sh -x
a depuración)sudo /etc/init.d/vboxadd-service start
sudo /etc/init.d/vboxdrv setup
sudo service VBoxService start
Construyendo el módulo principal de Adiciones para invitados
Si lo anterior no funcionó, aquí hay pasos más sofisticados para solucionarlo. Esto supone que ya ha instalado VBoxGuestAdditions (como se muestra arriba).
La razón más común por la que el montaje de la carpeta compartida no funciona puede estar relacionado con la construcción del módulo Guest Additions que falló. Si
/var/log/vboxadd-install.log
tienes el siguiente error:Esto significa que no instaló las fuentes del núcleo o que no se pueden encontrar.
Si ya los instaló como se indicó anteriormente, ejecute este comando:
Entonces, básicamente, el
vboxadd
script espera que las fuentes de su núcleo estén disponibles en el siguiente directorio:Verifique si el directorio del núcleo existe (el enlace simbólico apunta a la carpeta existente). Si no es así, instálelos en la carpeta correcta (por ejemplo, en
/usr/src/kernels
).Entonces, el
vboxadd
script puede ingresar al directorio de origen del núcleo y ejecutarsemake kernelrelease
, obtener el valor y compararlo con la versión actual del núcleo.Aquí está la lógica:
Si la versión del kernel no coincide con las fuentes, quizás deba actualizar su kernel de Linux (en caso de que las fuentes sean más nuevas que su kernel).
CentOS
Tratar:
Si no funciona, intente los siguientes pasos manuales para CentOS:
fuente
vagrant plugin install vagrant-vbguest
vagrant vbguest
también funciona en centos 7 y resolvió el problema. GraciasPuedo resolver esto ejecutando debajo del comando
modprobe -a vboxguest vboxsf vboxvideo
fuente
vboxsf
(VirtualBox Shared Folders) es lo que se necesita aquí. Puede enumerar estos 3 archivos uno por línea en un archivo/etc/modules-load.d/
(llámelo tal vezvirtualbox.conf
) para que este cambio persista a través de reinicios.Además de la respuesta @Mats , estoy agregando más información (me ayudó en Debian 8).
Mi carpeta / portapapeles compartido dejó de funcionar por alguna razón (probablemente debido a una instalación de parche en mi máquina virtual).
Me dio el siguiente resultado:
La solución para mí fue detener vboxadd y hacer una configuración después de eso:
En este punto, si aún recibe el siguiente error:
Necesita instalar encabezados de Linux:
entonces puedes instalar Guest Additions:
y reinicia tu Linux:
¡entonces podrás montar tu carpeta compartida!
Más información (en francés), consulte esta página .
fuente
apt-get install linux-headers-virtual
ayudó con Lubuntu 15.04 en VirtualBoxEsta fue la única solución que funcionó para mí:
Instale el complemento Vagrant: vagrant-vbguest , que puede mantener sus Adiciones de invitados VirtualBox actualizadas.
Fuente: https://github.com/aidanns/vagrant-reload/issues/4#issuecomment-230134083
fuente
Esto fue resuelto por:
la solución está aquí: https://gist.github.com/larsar/1687725
fuente
uname -r
dkmsshare
La carpeta compartida funcionaba antes para mí, pero de repente dejó de funcionar (Virualbox: el host era Windows 7, el invitado era OpenSuSe)
modprobe -a vboxguest vboxsf vboxvideo
entonces
mount -t vboxsf testsf /opt/tsf
(testsf
era la carpeta en la unidad de Windows C que se agregó en la carpeta compartida de Virtualbox --- y/opt/tsf
es la carpeta en OpenSusefuente
Mi host es Windows10 mi invitado VM es ubuntu construido por vagabundo. Esto funcionó para mí:
fuente
También tenía un sistema de trabajo que de repente dejó de funcionar con el error descrito.
Después de buscar en mi / lib / modules parece que el
vboxvfs
módulo ya no existe. En cambio,modprobe vboxsf
fue el encantamiento requerido para reiniciar las cosas.No estoy seguro de cuándo ocurrió ese cambio, pero me sorprendió.
fuente
Estoy ejecutando VirtualBox 5.1.20 y tuve un problema similar. Aquí hay una url donde encontré la solución y la solución que implementé:
El enlace tenía algo similar a /usr/lib/VBoxGuestAdditions/other/mount.vboxsf, en lugar de lo que tengo en el extracto del script.
Para un script de compilación que uso en vagabundo para las adiciones:
https://github.com/rburkholder/vagrant/blob/master/scripts/additions.sh
Parece ser una solución en https://www.virtualbox.org/ticket/16670
fuente
La solución para mí fue actualizar las adiciones de invitados
(haga clic en Dispositivos -> Insertar imagen de CD de Guest Additions)
fuente
Puede haber errores / enfoque incorrecto en dos escenarios. Verifique ambos y descúbrelo
ESCENARIO 1:
Una vez que esté ejecutando VBoxLinuxAdditions.run o VBoxSolarisAdditions.pkg o VBoxWindowsAdditions.exe, verifique si todos los módulos se están instalando correctamente.
1.1.a. En el caso de VBoxLinuxAdditions , si falla la compilación de
los módulos del núcleo VirtualBox Guest Additions ,
verifique el archivo de registro en /var/log/vboxadd-install.log . Si el error se debe a la versión del kernel, actualice su kernel y reinicie el vm. En el caso de fedora ,
1.1.b. yum actualizar kernel * reiniciar
1.1.c.
1.2. Si nada falla, entonces todo está bien. Ya tienes la versión esperada del kernel
ESCENARIO 2:
Si está instalado VBoxGuestAdditions (verifique si hay una carpeta / opt / VBoxGuestAdditions- * está presente ... * representa la versión), debe iniciarlo antes de montarlo.
2.1. cd / opt / VBoxGuestAdditions - * / init && ./vboxadd start Debe
especificar la identificación de usuario y la identificación de grupo de su usuario vm como opciones para el comando de montaje.
2.2.a. Obtener uid y gid de un usuario:
id -u <'user'>
id -g <'user'>
2.2.b. Configuración de uid y gid en las opciones del comando mount:
mount -t vboxsf -o uid = x, gid = x shared_folder_name guest_folder
fuente
Para mí, en una Mac, resultó que tenía una vieja imagen de VirtualBox almacenada en mi máquina que no tenía metadatos, por lo que no estaba siendo actualizada a la última versión.
Esa imagen anterior tenía instalada una versión anterior del complemento vbguest, con la que el nuevo complemento vbguest de mi máquina no podía funcionar.
Entonces, para solucionarlo, eliminé la imagen en la que se basaba mi Vagrant, y luego Vagrant descargó la versión más nueva y funcionó bien.
Puede averiguar qué cajas ha almacenado en caché en su máquina ejecutando:
También había actualizado mi complemento vbguest en mis intentos anteriores de hacer que esto funcionara, usando el siguiente proceso, pero no creo que esto haya ayudado. FYI!
Si encuentra que traer el cuadro falla en las adiciones de invitados, puede intentar hacer lo siguiente para asegurarse de que los complementos se instalen correctamente. Esto descarga la última imagen basada en su sistema (para mí CentOS) y puede resolver el problema (¡lo hizo para mí!)
fuente
En Ubuntu esto funcionó:
fuente
Tuve el mismo problema con VirtualBox 5.0.16 / rXXX
Instalé la última versión de VirtualBox 5.0.18 e instalé la última versión de Vagrant 1.9.3.
fuente
Agregué como usuario root
luego
y el script de muestra
/root/mount-vboxsf.sh
(establezca sus propias opciones de uid y gid)necesitas agregar
fuente
Tengo un problema similar, verifique el encabezado si no coincide y ejecute debajo del comando
CentOS: sudo yum update && sudo yum -y instalar kernel-headers kernel-devel
fuente
Si estás en Debian:
1) elimine todos los paquetes instalados a través del archivo ISO de Virtualbox Guest Additions:
sh /media/cdrom/VBoxLinuxAdditions.run uninstall
2) instalar paquetes de Virtualbox:
apt-get install build-essential module-assistant virtualbox-guest-dkms virtualbox-guest-utils
Tenga en cuenta que incluso sin
modprobe vboxsf
devolver nada (por lo que el módulo se carga correctamente),vboxsf.so
llamará a un ejecutable llamadomount.vboxsf
, que es proporcionado porvirtualbox-guest-utils
. Ignorar esto evitará que comprenda la causa real del error.strace mount /your-directory
fue de gran ayuda (no existe tal archivo o directorio/sbin/mount.vboxsf
).fuente
¡Una actualización me sirvió!
fuente
Debajo de dos comandos funciona para mí.
fuente
Está bien, a todos les falta un hecho básico.
mkdir /test
- Hace subdirectorio en el directorio actual.sudo mkdir /test
- Hacer directorio en Root.Entonces, si su nombre de directorio compartido es
shared
y usted hace lo siguiente:Genera este error:
¡Porque el directorio está en el lugar equivocado! Sí, eso es lo que dice este error. El error no dice recargar las opciones de invitado VBOX.
Pero si haces esto:
Entonces funciona bien.
Realmente me sorprende cuántas personas sugieren recargar las adiciones de invitados de Vbox para resolver este error o escribir un programa complejo para resolver un directorio creado en el lugar equivocado.
fuente
mkdir /test
creará el directorio / prueba en /.sudo mkdir /test
creará el mismo directorio, pero propiedad del usuario root en lugar del usuario actual.kernel-devel.x86_64 0:2.6.32-754.11.1.el6
y luego ejecuté estos comandos ...cd /opt/VBoxGuestAdditions-*/init
ysudo ./vboxadd setup
. Eso funcionó para mí.