To share files between a host computer and a virtual machine or between two virtual machines, you use the networking features of VMware Workstation. If you know how to share files between two physical computers on a network, you already know how to share files with a virtual machine.
This section describes four scenarios for sharing files between two systems, either a host computer and a virtual machine or two virtual machines, where
You can apply the same principles to share files between virtual machines. Configuration for FreeBSD guests is similar to that for Linux guests.
The following scenarios assume you have set up your virtual machine using NAT networking. Besides giving the virtual machine a direct connection to the host computer's network, NAT networking sets up a virtual network adapter on the host computer. You can use this adapter, which connects to a virtual switch identified as vmnet8, to communicate between host and virtual machine. You can also connect two or more virtual machines using vmnet8. For details on NAT networking, see Network Address Translation (NAT).
In all cases, the user name you used to log in to the system from which you are connecting must be a user on the system to which you want to connect.
Sharing Files Between Two Windows SystemsTo share files between two Windows systems (where one machine is a host and the other is a virtual machine, or both are virtual machines), be sure the file and printer sharing service is installed for both operating systems and the folders you want to share are marked as shared. Then you can browse from one system to the shared folder or folders on the other system.
Sharing Files by Connecting to a Windows System from a Linux SystemTo share files on a Windows system with a Linux system (by connecting to a Windows host from a Linux guest or connecting to a Windows guest from a Linux host), you can mark a folder as shared on the Windows system, then use the smbmount utility in the Linux system to mount the shared folder. For example, if you want to share the folder C:\docs on a Windows 2000 system called win2k with a Linux system at /mnt/docs, follow the steps below. You may want to set up a shell script to run these commands.
Otherwise, if you know the user name and password for a user account that can access the Windows system, you can specify that account on the command line.
su -
mount -t smbfs -o username=<Windows system user account>,password=<password> //win2k/docs /mnt/docs
(Substitute the appropriate host name, share and mount point for your systems.)
Note: If you do not want to expose this password on the command line or in a script, leave out that option and provide the password when prompted after you run the command.
Now you are connected to the shared folder on the Windows system from your Linux system and can begin to share files between the two.
Sharing Files by Connecting to a Linux System from a Windows SystemTo share files on a Linux system with a Windows system (by connecting to a Linux host from a Windows guest or connecting to a Linux guest from a Windows host), you can run Samba on the Linux system and browse shared directories in the Linux file system from Network Neighborhood in the Windows system.
You need to modify Samba on the Linux host operating system so it recognizes the vmnet8 switch, otherwise you cannot access the Linux file system. You need to do this even if you installed host-only networking (as Samba is installed when you install host-only networking with VMware Workstation).
Connecting to a Linux Host from a Windows GuestIf you want to share the directory /home/user/shared, for example, on a Linux host operating system with a Windows guest operating system, follow these steps:
Note: This setting must be entered on one line.
If VMware Workstation is running on the Linux host system, suspend or shut down all running virtual machines and close all VMware Workstation windows.
On the Linux host operating system, at a command prompt, type
/etc/init.d/vmware restart
On some Linux distributions, the command is
/etc/rc.d/init.d/vmware restart
Start VMware Workstation and run the Windows guest operating system from which you want to connect to the Linux host. The user ID you use to log in to the Windows guest must be in the Linux host's smbpasswd file. If you use the same user name and password to log in to the guest as you do on the Linux host, then you are not prompted to log in when you browse the Linux host.
If you are connecting to the Linux system from a Windows Me, Windows 98 or Windows 95 guest operating system, NetBEUI must be installed in the guest operating system before you can browse the file system. If you need to install NetBEUI, you may need your Windows installation CD-ROM.
When the system restarts, the Samba service does not appear in the list of services starting up, but it does start, unless an error appears.
To share the directory /home/user/shared, for example, on a Linux guest operating system with a Windows host operating system, follow these steps:
[SHARE_NAME]
path = /home/user/shared
public = no
writable = yes
printable = no (since you want to share files, not a printer)
/etc/init.d/smb restart
On some Linux distributions, the command is
/etc/rc.d/init.d/smb restart
When the system restarts, the Samba service appears in the list of services starting up.
To share files between two Linux systems (where one machine is a host and the other is a virtual machine, or both are virtual machines), you can use NFS on the system to connect to and the nfsmount utility in the system from which you are making the connection.
As with any Linux network, you can use NFS, FTP or Telnet to connect from one Linux system (either virtual or physical) to another Linux system (either virtual or physical).