Monte VirtualBox SharedFolder en Ubuntu VM en el arranque

15

Tengo una VM de Ubuntu ejecutándose en VirtualBox.
Tengo una carpeta compartida configurada ya myshare que tengo una carpeta creada en mi directorio de inicio (~/jamesw ) como host. usando la línea sudo mount -t vboxsf myshare hostde mi directorio de inicio en Terminal monta la unidad correctamente, pero si reinicio no se vuelve a montar.

Esta es una máquina virtual que uso para ejecutar un servidor web simple y me gustaría que este recurso compartido se monte cada vez que arranque. ¿Hay alguna forma de hacer esto? ¿Especialmente dado que requiere sudo?

James P. Wright
fuente

Respuestas:

22

Montaje automático de carpetas compartidas con Virtual Box Manager

Desde Virtual Box> 4.0 podemos montar automáticamente carpetas compartidas en una máquina virtual. Para hacerlo para Ubuntu nosotros

  • necesita instalar Guest Additions en el SO huésped
  • asegúrese de que los usuarios estén en grupo vboxsf
  • definir carpetas compartidas desde Virtual Box Manager

Haga clic derecho en su máquina virtual y elija Configuración-> Carpetas compartidas . Esto enumerará los recursos compartidos existentes o le permitirá definir una nueva carpeta compartida haciendo clic en el icono de la carpeta azul con el +signo verde en el lado superior derecho:

ingrese la descripción de la imagen aquí

Elija su carpeta en el menú desplegable Ruta de la carpeta o elija Definir otro para un selector de archivos que enumere el sistema de archivos del host. Elija un nombre para el recurso compartido (por ejemplo, myshares ). Al marcar Auto-mount, esta carpeta siempre se montará en el directorio de invitados de Ubuntu /media/sf_myshares(el prefijo se sf_agregará automáticamente).


Alternativamente, para definir carpetas compartidas en un SO huésped en ejecución, podemos seleccionar Dispositivos -> Carpetas compartidas en el menú de la ventana de Virtual Box Manager:

ingrese la descripción de la imagen aquí

Al marcar Hacer permanente, estas carpetas compartidas también estarán disponibles en el próximo arranque y se montarán cuando se active además el montaje automático .

Takkat
fuente
Eso hará que el SO invitado monte automáticamente un recurso compartido de host , y creo que el OP quiere lo contrario: montar un recurso compartido invitado en su SO host . Si me equivoco, entonces
entendí
1
@MestreLion: ¡Estás equivocado, lo siento! Creo que mi problema es que nunca pude encontrar la unidad compartida en la máquina virtual de Ubuntu porque no tenía idea de que se estaba montando en / media. Si me hubiera dado cuenta de que esta pregunta ni siquiera habría sido necesaria.
James P. Wright el
@ James: Oh, lo siento entonces. Montar un recurso compartido de host en un SO invitado es fácil, y tiene varias opciones. Además de la respuesta (excelente, por cierto) dada aquí, ¿sabe que un sistema operativo invitado se puede ver en la LAN como una máquina normal? Simplemente cambie la red de la predeterminada NATa Bridged. Ahora puede "intercambiar" acciones de invitado a anfitrión (y viceversa) usando Nautilus, Samba, etc ...
MestreLion
@MestreLion: para ser honesto: comparto principalmente mis archivos host (e invitados) usando Samba a través de la red;)
Takkat
@Takkat: ¡Yo también! (¡y eso hace que nuestras respuestas sean obsoletas!: P)
MestreLion
7

No creo que el uso de / etc / fstab funcione (no funcionó para mí) porque ese archivo se procesa antes de cargar el módulo SF y no podrá montar el recurso compartido, vea CÓMO: Usar carpetas compartidas 1 .

Kenneth Gulbrandsøy
fuente
1
Vea foros.virtualbox.org/viewtopic.php?f=3&t=15868 para saber cómo solucionarlo. Básicamente, agregue el comando de montaje en /etc/rc.local o equivalente.
Reinier Post
2

Esta no es una respuesta completa todavía, pero más bien como directrices sobre 2 enfoques que tiene:

1 - Puede editar /etc/fstaby agregar este soporte allí. Debería traducir su parámetro de montaje a la sintaxis fstab. Una conjetura salvaje sería algo así /home/jamesw/host vboxsf myshare,umask=002,uid=<youruser>,gid=plugdev 0 0. Lo que necesitas sudopara editar el fstab, pero, una vez hecho esto, se auto-montado en el arranque. Dado que esto se hace incluso antes de iniciar sesión, necesita una ruta absoluta al punto de montaje (por lo tanto, / home / jamesw / host), no puede usar $HOMEo ~. Sugerencia: la carpeta "host" no necesita existir. Si está en fstab, mount lo creará por ti.

2 - Puedes usar en fusermountlugar de montar. La sintaxis es similar (pero no idéntica, por lo que aún debe traducir los parámetros de montaje). Fusermount requiere que su punto de montaje esté en algún lugar dentro de su $ HOME, pero la mayor ventaja es que no lo necesitaría sudo. Y el soporte estará disponible en Nautilus (como si fuera un CD o una llave USB). Después de obtener los parámetros correctos y probarlo, puede agregarlo a su ~/.profile, que se ejecuta cada vez que inicia sesión.

EDITAR: Supongo que Virtualbox no necesita que la máquina se esté ejecutando realmente para compartir carpetas, O que esté funcionando antes de iniciar sesión

MestreLion
fuente
Usar / etc / fstab no funciona, ver la respuesta de Kenneth Gulbrandsøy.
Reinier Post
0

Ubuntu 16.04 invitado y carpetas compartidas automontaje accesibles por usuario normal

Para montar automáticamente y acceder a esas carpetas como usuario normal, se requieren pasos específicos.

  1. No use adiciones oficiales de invitados. En lugar de instalar virtualbox-guest-dkms.

    sudo apt-get install -y virtualbox-guest-dkms
    sudo usermod -aG vboxsf $(whoami)
    sudo VBoxControl guestproperty set /VirtualBox/GuestAdd/SharedFolders/MountDir ~/vbshare
  2. Agregue algunas carpetas compartidas con Auto-mounty Permanentmarcadas.

  3. Reiniciar vm.
  4. Compruebe si tiene alguna carpeta vb montada:

    mount | grep vboxsf

  5. Si es así, cambie la propiedad de ~/vbshareusted mismo.

    sudo chown $(whoami):$(whoami) ~/vbshare

Agregue nuevas carpetas compartidas sin reiniciar VM

  1. Agregar carpeta compartida.
  2. Compruebe si puede encontrarlo en la lista con este comando:

    sudo VBoxControl sharedfolder list

  3. Si es así, cree un directorio y monte

    mkdir ~/vbshare/newfolder
    sudo mount -t vboxsf newfolder ~/vbshare/newfolder
    
rofrol
fuente