Tips for accessing files on an external drive in Virtual PC if you're not running Windows 7...
To access a drive from a Microsoft OS that supports Virtual Machine Additions, it's as simple as setting up a shared folder in Virtual PC. First, install Virtual Machine Additions on the hosted OS by clicking 'Action' on the File Menu, and selecting 'Install or Update Virtual Machine Additions'; a wizard will walk you through the rest of the process. Once installed, a number of new features will be available, the one we're looking for is folder sharing. To set up a shared folder, give the Virtual PC Console focus and click 'settings' from the File Menu. From settings click 'Shared Folders', and in the right-hand pane, click 'Share Folder...'. Find the folder on your external drive that you want to access, and hit 'Okay'. The folder will now show up as a network drive in Windows Explorer on the hosted OS.
Accessing the drive from Linux (or any OS that doesn't support Virtual Machine Additions), isn't as easy, but is still fairly painless if you have file sharing enabled on the host machine. All you need is a directory junction to a directory on your external drive located in a shared folder. Creating a directory junction in Vista requires a command prompt with administrator privileges, so you'll need to open a terminal by right-clicking the Command Prompt icon in your Start Menu, and selecting 'Run as administrator' from the context sensitive menu. Once in the shell, use mklink to create your link:
mklink /J C:\Users\daniel\Desktop\mylink D:\external_folder
Or, a more useful example:
mklink /J C:\Users\Public\mylink D:\external_folder
The /J switch tells mklink to create a directory junction, the first parameter is the location and name of the junction, and the second parameter is the folder on the USB drive you wish to access. In the first example, the junction (which looks like a Windows shortcut) named 'mylink' will appear on the desktop, and when clicked will open D:\external_folder in a new window. In the second example you end up with a directory junction in your shared folder, which is exactly what you need to make it available to Virtual PC. Now, if file sharing is enabled in Vista, the share is accessible to your hosted Linux distro, and if smbclient is installed, you should have access to your files.