VMware Fusion on Mac OSX currently provides no mechanism to associate a physical volume on the host with a virtual machine. This is a shortcoming for a variety of reasons:
- the VM has share a huge number of files, and the file-based VM disk image is just too inefficient, or
- if the VM is an OSX Server / file server and needs to maintain permissions on shares (can used VM Shared Folder)
However there is a way to give control of a physical disc belonging to the host to a VM.
1. Shutdown the VM that you want to mount the physical drive
2. Launch terminal and use the diskutil command to find the IDENTIFIER of the device you want to migrate (should be something like 'disk1' or 'disk2s3'):
3. Unmount the volume from the host filesystem:
diskutil unmount <IDENTIFIER>
3. Create a link file to this physical volume to be used by VMware. I like to put this in the VM package.
/Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/<IDENTIFIER> fullDevice <full-path-to-.vmwarevm-file>/<IDENTIFIER>-link ide
4. In Finder, find and select the .vmwarevm file for the VM, and choose “Show Package Contents”. Open the enclosed .vmx file a text editor, and append to the bottom of the file and save:
ide0:0.present = "TRUE" ide0:0.fileName = "<IDENTIFIER>-link.vdmk" ide0:0.redo = ""
Note: if there are other IDE drives associated with the VM, you might need to increment the 0 in 'ide0:0' to 'ide1:0' so that the volume does not conflict.
Note: Since the association is made by the host system disk IDENTIFIER, be very very careful about attaching or removing drives to the host OS, as it could cause some other physical drive to be substituted, and much havoc could ensue. The link may be broken should the host's drive mounting order change or if partitions on the drive change order, so be mindful of this if moving the VM to another host or should the drive not otherwise be found.