I'm familiar with the process of installing Guest Additions and sharing host folders with the guest, but is there a way to do the reverse?

I have an XP host and Ubuntu 10.10 guest, with VBox 4.0.2.

In other words, I'd like for the host to have direct access to (at least some of the) files inside the .vdi file.

  • 2
    It is possible to mount a vdi as a hard disk. Is this interesting for you ? (not possible while the guest is running) – harrymc Feb 12 '11 at 20:37

There is no way to do this with the Guest extensions, however, setup normal Ubuntu file sharing on your guest and you can access the files using the virtual network between the host and the guest. The OSE version of VirtualBox doesn't have shared folders, and this is the recommended sharing method for VirtualBox as described here. How-To Geek has a tutorial here on how to do it with Ubuntu specifically, and it applies to everything outside of home folders as well.

The network driver is smart enough not to send the traffic over the wire, but will still be used to communicate with the guest. I have a few virtual machines I run and use like this, both on Mac and Windows.

| improve this answer | |
  • The same method, just using another protocol could be to use something like Dokan SSHFS. Depending on the use case and the configuration it may be more secure and better performing while allowing exploration (with proper rights) of the whole filesystem. – Lloeki Jun 17 '11 at 7:17
  • Here is a great tutorial on how to make this work with a Linux Guest and Windows Host using samba: superuser.com/questions/258026/… – bjtilley Mar 14 '14 at 21:05
  • in this case, since a Windows box is involved, samba might be a good choice - but if you're connecting mac and linux or linux and linux, use nfs - steps at serverfault.com/questions/716350/… – Ben Creasy Aug 14 '17 at 5:37

By default, the virtual machine has a NAT connection to the local network, meaning it doesn't have a "real" IP address of its own. If you instead set up a bridged connection, you can use regular file sharing methods from the virtual PC, e.g. Windows file sharing (including SAMBA under Linux/Unix/etc.) or NFS. Of course the VM would have to be running.

It's also possible to mount a VDI as a drive under the host OS, I don't know the details of how to do that on an XP host, and I believe you would have to shut down (rather than suspend) the guest OS to avoid hard drive corruption.

| improve this answer | |
  • Depending on how you configured the Guest VM's network adapter, this is the best solution. The way Virtual Box shares a host's folder is by turning it into a network share. You can go the other way with it. Share the guest VM's folder and connect to it as a network share. Beware though, if you setup the Guest's Network adapter as internal only, or NAT, then this is trickier. Best that you set the Network adapter as "bridged," that way they are in the same subnet. – surfasb Feb 13 '11 at 2:20
  • 1
    you can setup multiple interfaces, Have one as NAT and the other as HOST-ONLY. You can even fix the address on the host-only side to always have the same address for file sharing – nhed Mar 21 '13 at 12:50

There is a tricky solution:

  1. In Windows, install cygwin
  2. Use the same user names in both Windows and Linux
  3. In Windows, create directory $HOME/shared and make it a shared folder in VBox
  4. On your Linux create directories ~/shared and ~/shared_local and run: sudo /sbin/mount.vboxsf -o gid=1000,uid=1000 shared ~/shared
  5. Use rsync to synchronize your data in ~/shared with ~/shared_local.

You can use the same bash scripts in both Linux and Windows. You can access any data in your ~/shared from Windows and from Linux using the same path.

| improve this answer | |

If you mean while the guest is running, then you could use:

  • Samba (as already mentioned)
  • an SFTP share such as SFTP Drive
    • Remember SFTP is a subset of SSH, whereas FTPS is a subset of FTP. This means as long as you can connect using SSH then you can connect using SFTP and get the same file/folder permissions on the guest as the user you used to log on.
| improve this answer | |

This can be done. What you need to do is add an extra network card as host-only network and restart guest machine. During restart it'll prompt to install new network interface, answer yes to that. Once booted the guest machine can be accessed from the host using the IP of the guest. I suggest setting a static IP,, for example for the guest. Share out samba and you should be able to talk to it from the host machine. I did it and it's awesome.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.