VMware Workstation 3.2
Sharing Files Between Guest and Host Operating Systems
Sharing Files Between Guest and Host Operating Systems
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
- Both systems run Windows operating systems, using Windows file sharing
- You are connecting from a Linux system to a Windows system, using smbmount
- You are connecting from a Windows system to a Linux system, using Samba
- Both systems run Linux operating systems, using NFS, FTP and Telnet
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 Systems
Sharing Files Between Two Windows Systems
To 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 System
Sharing Files by Connecting to a Windows System from a Linux System
To 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.
- Set up the folder or folders to share on the Windows system.
Create a user account on the Windows system for the Linux system user name that you are using to connect to the Windows system.
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.
From your Linux system, log in as root.
Add the Windows system’s host name and IP address to the hosts file, if the system cannot be found by name.
Mount the Windows share on your Linux system. Enter the following command all on one line.
mount -t smbfs -o username= ,password=
(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 System
Sharing Files by Connecting to a Linux System from a Windows System
To 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 Guest
Connecting to a Linux Host from a Windows Guest
If 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:
- On the Linux host operating system, copy the smb.conf file to a file called something like smb.conf.orig.
cd /etc/vmware/vmnet1/smb
cp smb.conf smb.conf.orig
Modify Samba on the Linux host system. Edit the following lines in
/etc/vmware/vmnet1/smb/smb.conf.
- Comment out the line starting with interfaces= .
- Below this line, add interfaces=vmnet1 vmnet8.
- Provide a network workgroup name. Set workgroup= .
- If you do not want to use the standard DNS name for the Linux system, set netbiosname= .
- You can leave security=user, unless you cannot connect, in which case use security=share.
- Set encrypt passwords=yes.
- In the [global] section, define a different shared memory access key. Add this line:
sysv shm key=/dev/vmnet8 - For better performance, at this line:
socket options = TCP_NODELAY
edit the line to state:
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
Note: This setting must be entered on one line.
[SHARE_NAME]
path = /home/user/shared
public = no
writable = yes
printable = no (since you want to share files, not a printer)
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
On some Linux distributions, the command is
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.
Connecting to a Linux Guest from a Windows Host
Connecting to a Linux Guest from a Windows Host
To share the directory /home/user/shared, for example, on a Linux guest operating system with a Windows host operating system, follow these steps:
- On the Linux guest operating system, copy the smb.conf file to a file called something like smb.conf.orig.
cp /etc/smb.conf /etc/smb.conf.orig
Modify Samba on the Linux system to share the directory. To create the share, add the following to /etc/smb.conf.
[SHARE_NAME]
path = /home/user/shared
public = no
writable = yes
printable = no (since you want to share files, not a printer)
Restart the Samba services to load the new settings. On the Linux guest operating system, at a command prompt, type:
On some Linux distributions, the command is
When the system restarts, the Samba service appears in the list of services starting up.
Sharing Files Between Two Linux Systems
Sharing Files Between Two Linux Systems
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).
VMware Workstation 4
Using Shared Folders
Using Shared Folders
With shared folders, you can easily share files among virtual machines and the host computer. To use shared folders, you must have the current version of VMware Tools installed in the guest operating system and you must use the Virtual Machine Control Panel to specify which directories are to be shared.
You can use shared folders with virtual machines running the following guest operating systems:
- Windows Server 2003
- Windows XP
- Windows 2000
- Windows NT 4.0
- Linux with a kernel version of 2.4 or higher
To set up one or more shared folders for a virtual machine, be sure the virtual machine is open in Workstation and click its tab to make it the active virtual machine. Go to Edit > Virtual Machine Settings > Options and click Shared folders.
You can add one or more directories to the list. Those directories may be on the host computer or they may be network directories accessible from the host computer.
In a Windows virtual machine, shared folders appear in My Network Places (Network Neighborhood in a Windows NT virtual machine) under VMware Shared Folders. For example, if you specify the name Test files for one of your shared folders, you can navigate to it by opening My Network Places > VMware Shared Folders > .host > Shared Folders > Test files.
You can also go directly to the folder using the UNC path
\\.host\Shared Folders\Test files.
You can map a shared folder to a drive letter just as you would with a network share.
Note: To see shared folders displayed in this way, you must update VMware Tools in the virtual machine to the current version. If your guest operating system has the version of VMware Tools that shipped with VMware Workstation 4.0, shared folders appear as folders on a designated drive letter.
In a Linux virtual machine, shared folders appear under /mnt/hgfs. So the shared folder in this example would appear as /mnt/hgfs/Test files.
To add a new shared folder to the list, click Add. On a Windows host, a wizard guides you through the process. On a Linux host, a dialog box appears. Enter the required information, then click OK.
Provide the following information:
- The path on the host to the directory you want to share. Type in the full path or browse to the directory.
- The name for the directory. This is the name that appears inside the virtual machine.
- Whether the shared folder is enabled. You may want to add a folder to the list without enabling it immediately. You can then enable the folder at any time by clicking its name in this list, clicking Properties and enabling the folder in the Properties dialog box.
- Access options for the shared folder. You can give the current virtual machine read-only access, or read-write access. Access to files in the shared folder is also governed by permission settings on the host computer. For example, if you are running VMware Workstation as a user named User, the virtual machine can read and write files in the shared folder only if User has permission to read and write them.
- Expiration options for the shared folder. You can specify that the folder is always enabled or that it is enabled only during the current working session. If you select Disable after this session, the shared folder is disabled when you suspend or power off the virtual machine.
To change the settings for a shared folder on the list, click the folder's name to highlight it, then click Properties. The Properties dialog box appears.
Change any settings you wish, then click OK.
Note: You can use shared folders to share any type of file. However, Windows shortcuts and Linux symbolic links do not work correctly if you try to use them via shared folders.
Caution: Do not open a file in a shared folder from more than one application at a time. For example, you should not open the same file using an application on the host operating system and another application in the guest operating system. In some circumstances, doing so could cause data corruption in the file.
VMware Workstation 5.0
Viewing a Shared Folder
Shared folders appear differently, depending on the guest operating system. The following sections describe viewing shared folders in Windows and Linux guests.
Note: You can use shared folders to share any type of file. However, Windows shortcuts and Linux symbolic links do not work correctly if you try to use them via shared folders.
Caution: Do not open a file in a shared folder from more than one application at a time. For example, you should not open the same file using an application on the host operating system and another application in the guest operating system. In some circumstances, doing so could cause data corruption in the file.
Viewing Shared Folders in a Windows Guest
In a Windows guest operating system, you can view shared folders using Windows Explorer. Look in My Network Places (Network Neighborhood for a Windows NT guest) under VMware Shared Folders.
Note: If you have trouble finding a shared folder when using the desktop icon for My Network Places (or Network Neighborhood in Windows NT), instead open Windows Explorer and look in My Network Places (Network Neighborhood). The Windows desktop icon does not display an option for Entire Network.
For example, if you specify the name Test files for one of your shared folders, you can navigate to it by opening My Network Places > VMware Shared Folders > .host > Shared Folders > Test files.
You can also go directly to the folder using the UNC path
\\.host\Shared Folders\Test files.
You can map a shared folder to a drive letter just as you would with a network share.
Note: If your guest operating system has VMware Tools from Workstation 4.0, shared folders appear as folders on a designated drive letter.
Viewing Shared Folders in a Linux Guest
In a Linux virtual machine, shared folders appear under /mnt/hgfs.
To change the settings for a shared folder on the list, click the folder's name to highlight it, then click Properties. The Properties dialog box appears.
Change any settings you wish, then click OK.