
Estoy ejecutando Ubuntu 12.04 Server (máquina invitada) en VirtualBox con Windows 7 como máquina host.
Creo una carpeta con el nombre "Server12.04" en el escritorio de mi máquina Host y la comparto en Virtual Box (marqué la opción de montaje automático). ¿Cómo puedo acceder a la carpeta compartida en la máquina invitada (que es el servidor Ubuntu 12.04)?
Recibí una respuesta de referencia deEnlacepero esto no fue útil. Cada vez que intentaba compartir la carpeta recibía el siguiente error: -
El programa 'VmBoxManage' no está instalado actualmente. Puedes instalarlo escribiendo apt-get install virtualbox
. ¿Significa por qué instalar VirtualBox dentro de VirtualBox?
Por favor, ayúdame . Gracias de antemano !!
Respuesta1
En su sistema operativo host, crea la carpeta compartida ejecutando
VBoxManage sharedfolder add "VM name" --name "sharename" --hostpath "C:\test"
En su sistema invitado, debe ejecutar
mkdir /home/<user>/vboxshare
sudo mount -t vboxsf -o uid=1000,gid=1000 share /home/<user>/vboxshare
VBoxManage puede cambiar la configuración de VirtualBox, pero si ya tiene este recurso compartido creado, no es necesario ejecutar este comando.
Respuesta2
TL;DR
En Ubuntu Server, sin adiciones de invitados, monte manualmente la carpeta compartida en el invitado, por ejemplo:
mkdir /mnt/sharedfolder
sudo mount -t vboxsf FolderNameInVBoxSettings /mnt/sharedfolder
Si lo anterior funciona bien, agregue la entrada correspondiente /etc/fstab
para que sea permanente.
Instrucciones detalladas
Permítanme compartir lo que me ha funcionado en dos configuraciones diferentes, un escritorio Ubuntu 20.04 LTS y un servidor Ubuntu 20.04.3 LTS en un host de Windows 10. Usaré un nombre de usuario de ejemplo sun
. El primer paso es común y se realiza a través de la interfaz de usuario de VirtualBox (tengo 6.1.26 en el momento de la publicación), seleccionando la VM de destino y yendo aConfiguración > Carpetas compartidasy haciendo clic en el botón "Agregar carpeta compartida":
En el cuadro de diálogo, ingresé la ruta de origen de Windows en "Ruta de la carpeta", un nombre arbitrario para la carpeta compartida en "Nombre de la carpeta" y el "Punto de montaje", que es una ruta válida de mi elección, en el invitado. Tenga en cuenta que "algún nombre" debe ser un directorio vacío:
Para escritorio Ubuntu
Para una computadora de escritorio, también marqué la opción "Montaje automático" arriba. Asumiendo queadiciones de invitadosya se han instalado y que el somename
directorio existe, entonces eso es todo. La carpeta compartida será visible, incluso al reiniciar.
Para evitar tener que usar sudo
cada vez para acceder a la carpeta compartida, hiceuna cosa más:
sudo adduser sun vboxsf
Para servidor Ubuntu
Para el servidor, sin adiciones de invitados instaladas, tomé nota de laNombre arbitrarioarriba, porque necesitaré usar el mismo nombre para el comando de montaje en el invitado de Linux:
mkdir /home/sun/somename
sudo mount -t vboxsf ArbitraryName /home/sun/somename
Compruebo que puedo ver los archivos:
cd /home/sun/somename
ls
¡Sí, los archivos de Windows están ahí! Pero este montaje se perderá al reiniciar, así que lo hago permanente agregando una entrada a /etc/fstab
:
$ sudo vim /etc/fstab
# My VirtualBox shared folder entry in /etc/fstab
ArbitraryName /home/sun/somename vboxsf defaults 0 0
Nuevamente, ArbitraryName
debe ser el mismo especificado en la configuración de VirtualBox, es decir, el mismo que usamos en el mount
comando de prueba anterior. Ahora puedo reiniciar la máquina y, después de iniciar sesión, puedo ls /home/sun/somename
ver los archivos de mi carpeta compartida de Windows. Como beneficio adicional, no me gustó el resaltado verde en los directorios de carpetas compartidas, así que agregué lo siguiente a mi ~/.bashrc
:
export LS_COLORS=$LS_COLORS:'ow=1;34:';
Lo anterior elimina ese resaltado pero aún mantiene los otros colores, como el azul para los directorios. ¡Espero que esto sea útil!