¿Compartir carpetas de VirtualBox a la inversa? ¿Anfitrion invitado?

72

Estoy familiarizado con el proceso de instalación de Guest Additions y compartir carpetas de host con el invitado, pero ¿hay alguna manera de hacer lo contrario?

Tengo un host XP y un invitado Ubuntu 10.10, con VBox 4.0.2.

En otras palabras, me gustaría que el host tenga acceso directo a (al menos algunos de los) archivos dentro del archivo .vdi.

Nate Parsons
fuente
2
Es posible montar un vdi como disco duro. ¿Esto es interesante para ti? (no es posible mientras el invitado se está ejecutando)
harrymc

Respuestas:

45

No hay forma de hacer esto con las extensiones de Invitado, sin embargo, configure el uso compartido de archivos de Ubuntu normal en su invitado y puede acceder a los archivos utilizando la red virtual entre el host y el invitado. La versión OSE de VirtualBox no tiene carpetas compartidas, y este es el método para compartir recomendado para VirtualBox como se describe aquí . How-To Geek tiene un tutorial aquí sobre cómo hacerlo específicamente con Ubuntu, y también se aplica a todo lo que esté fuera de las carpetas de inicio.

El controlador de red es lo suficientemente inteligente como para no enviar el tráfico a través del cable, pero se seguirá utilizando para comunicarse con el invitado. Tengo algunas máquinas virtuales que ejecuto y uso de esta manera, tanto en Mac como en Windows.

BinaryMisfit
fuente
El mismo método, simplemente usando otro protocolo podría ser usar algo como Dokan SSHFS. Dependiendo del caso de uso y la configuración, puede ser más seguro y tener un mejor rendimiento al tiempo que permite la exploración (con los derechos adecuados) de todo el sistema de archivos.
Lloeki
Aquí es un gran tutorial sobre cómo hacer este trabajo con una Huésped Linux y Windows Host través de samba: superuser.com/questions/258026/...
bjtilley
en este caso, dado que se trata de un cuadro de Windows, samba podría ser una buena opción, pero si está conectando mac y linux o linux y linux, use los pasos nfs en serverfault.com/questions/716350/…
Ben Creasy
9

Por defecto, la máquina virtual tiene una conexión NAT a la red local, lo que significa que no tiene una dirección IP "real" propia. Si, en cambio, configura una conexión en puente, puede utilizar métodos regulares para compartir archivos desde la PC virtual, por ejemplo, compartir archivos de Windows (incluido SAMBA en Linux / Unix / etc.) O NFS. Por supuesto, la VM debería estar ejecutándose.

También es posible montar un VDI como una unidad bajo el sistema operativo host, no conozco los detalles de cómo hacerlo en un host XP, y creo que tendría que cerrar (en lugar de suspender) el sistema operativo invitado para Evitar la corrupción del disco duro.

CarlF
fuente
Dependiendo de cómo haya configurado el adaptador de red de la VM invitada, esta es la mejor solución. La forma en que Virtual Box comparte la carpeta de un host es convirtiéndola en un recurso compartido de red. Puedes ir a la inversa con eso. Comparta la carpeta de la máquina virtual invitada y conéctese a ella como un recurso compartido de red. Sin embargo, tenga cuidado, si configura el adaptador de red del invitado como solo interno, o NAT, entonces esto es más complicado. Es mejor que establezca el adaptador de red como "puenteado", de esa manera están en la misma subred.
surfasb
1
puedes configurar múltiples interfaces, tener una como NAT y la otra como HOST-ONLY. Incluso puede arreglar la dirección en el lado del host para que siempre tenga la misma dirección para compartir archivos
nhed
2

Hay una solución difícil:

  1. En Windows, instale cygwin
  2. Use los mismos nombres de usuario en Windows y Linux
  3. En Windows, cree el directorio $ HOME / shared y conviértalo en una carpeta compartida en VBox
  4. En su Linux, cree directorios ~ / shared y ~ / shared_local y ejecute:sudo /sbin/mount.vboxsf -o gid=1000,uid=1000 shared ~/shared
  5. Use rsyncpara sincronizar sus datos en ~ / shared con ~ / shared_local .

Puede usar los mismos scripts de bash en Linux y Windows. Puede acceder a cualquier información en su ~ / compartido desde Windows y desde Linux utilizando la misma ruta.

psihodelia
fuente
0

Esto puede hacerse. Lo que debe hacer es agregar una tarjeta de red adicional como red de solo host y reiniciar la máquina invitada. Durante el reinicio, se le solicitará que instale una nueva interfaz de red, responda sí a eso. Una vez arrancado, se puede acceder a la máquina invitada desde el host utilizando la IP del invitado. Sugiero configurar una IP estática, 192.168.50.10, por ejemplo para el invitado. Comparte la samba y deberías poder hablar desde la máquina host. Lo hice y es increíble.

Chung Tran
fuente