One of my frustrations since moving from using VMWare Workstation on a Linux desktop to using VMWare Fusion on a Mac, is the inability of the latter to select a physical device as a hard drive. For example, in VMWare Worsktation I could select, say, /dev/sdc as a disc device, which would allow me to boot off an external disc, or run a bootable diagnostic CD on the OS drive for another computer, for example a laptop that doesn’t have a optical drive.

But fear not: VMWare Fusion can deal with raw discs. It just doesn’t have the option in the graphical user interface. Here’s what to do:

1. Plug in the external disc and open Disc Utility.

2. In the left hand pane, click on the external disc entry, then click on info

3. Look for the “Disk Identifier” field and note the value. In my case, it is “disk4”

4. The next step requires that you know where your VMWare Library is stored. In my case, I have two drives in my Mac, and the second is where my VMWare resides, so /Volumes/DATA/VMWare. I created a subfolder for external discs, /Volumes/DATA/VMWare/External.

5. Armed with the information discovered in steps 3 and 4, open the terminal and run the following (all in one line):

/Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/disk4 fullDevice /Volumes/DATA/VMware/External/external_drive ide

6. Make sure VMWare is closed. In Finder, open your VMWare library, right click on your virtual machine file (in my case WindowsXP), and choose “Show Package Contents”

7. Open the .vmx file (in my case, WindowsXP.vmx) in your favourite text editor, and add the following at the bottom:

ide1:1.present = "TRUE"
ide1:1.fileName = "/Volumes/DATA/VMware/External/external_drive.vmdk"
ide1:1.redo = ""

8. Save and close the file, and start VMWare. Your external drive should now show up in the virtual machine.

Be aware that the .vmdk file is specific to the drive it was built against. If you have several external drives, you’ll have to create a .vmdk file for each. Also be aware that the .vmdk file contains the /dev/disk4 (or similar) device name. If you have two or three external discs plugged in at random, the device names might changed, so you may have to edit the .vmdk file too.