VMware Communities
Kevin_Quincey
Contributor
Contributor

Shared partition between Mac, Bootcamp, and VMWare-run Bootcamp image

Has anyone using a bootcamp partition in VMWare Fusion found a way to share a data partition on boot drive in the same way bootcamp does?

Here's some background info:

- when I boot from Mac OS X, I see 3 local drives (partitions created by iPartition): Macintosh HD (formatted hfsj), Windows HD (which is formatted NTFS and running Windows 7), and Data (formatted hfsj)

- when I boot from Windows (at boot time in boot camp), I see 3 local drives: Windows HD (drive C:, formatted NTFS), Data (drive D:, visible thanks to Mac Drive 8 beta 2) Macintosh HD (drive M:)

- when I run the bootcamp drive in VMWare Fusion, I see: 1 local drive: Windows HD (drive C:), and a network share (drive Z:, at
.host) which contains is directory named Data and all content

Here's the problem:

- notice that the DATA drive doesn't show up in the third scenario.

- I use a few applications that want the data to stay in the same place and be on a local drive (not a network share) and I would very much like to use a data partition that is shared between the 3 environments.

Background info:

- I've tried formatting the data partition as FAT32 (which works almost as well as HFSJ but can't deal with large files and wastes a lot of space in large blocks), NTFS (using NTFS for OS X control panel), and HFSJ (mac's native format with journalling, using Mac Drive 7 with Vista and earlier or Mac Drive 8 RC2 with Windows 7). HFS+J works best for my needs.

- VMWare Fusion can mount and share partitions that are not on the boot drive but won't mount partitions on the boot drive (M and D above) as local drives. Using shared folders, you can mount network shares (this is where Z above came from) but this doesn't quite work because the apps that want to write data to local disks break and if you try to map it to D, other apps break in a Windows bootcamp boot because windows gets confused on whether D is local or a network drive.

Possible workarounds I'm trying with no joy yet:

- Is there a setting for the data partition I could set in iPartition to allow VMWare Fusion to open it as a local drive?

- I tried dismounting the Data partition from Mac OS X to see if Windows was able to mount it locally in VMWare Fusion - but no luck.

- If there was a way to run a script or utility in VM Ware as it boots (but not in native bootcamp boots), I might be able to run the command "NET USE 😧
.HOSTS\Data". This wouldn't be ideal because the D (data) drive would not be local but it would get me closer as the map to it would not be persistent and would not interfere with running the Windows 7 environment natively via bootcamp.

Thanks! Any thoughts you have on this or links to other people's experience would be very much appreciated. I've been searching everywhere and so far can't find other people with this experience.

0 Kudos
4 Replies
admin
Immortal
Immortal

If I understand you correctly, you want Windows (when running in Fusion, at least) to create a local drive (either a Hard Disk Drive or Removable Storage Drive, as Explorer groups them) from a Mac partition? I don't think I can help you convert a network drive into a local drive (can you explain more why this is an issue -- every Windows app I've seen, even with the win95 file open dialog rather than the new style, lets you select network drive), but there is a way to script the mapping, as you request.

Go to C:\Program Files\VMware\VMware Tools, and create your own batch file with all of the events (drive mappings, etc.) you want to occur when starting up the virtual machine in Fusion . Then, go to VMWare Tools (from the icon in the system tray), click on the "Scripts" tab, and tell it to use your custom script on Power On.

Let us know if you need any help from there.

0 Kudos
admin
Immortal
Immortal

P.S. I'm suggesting thatyou create your own script rather than using one of the existing batch files because those will get overwritten every time VMware tools are installed. If you write your own script, you might need to repoint Tools to it each time you reinstall, but you shouldn't need to recreate it.

0 Kudos
Kevin_Quincey
Contributor
Contributor

Thank you Stephen!!

You understood the problem perfectly and your suggestion worked beautifully. Here's exactly what I needed to do to get it to work in case anyone else is running into this.... In the c:\Users\Kevin\Scripts\VMWareStartup.bat file I put:

net use d: "
.host\Shared Folders\Data" /persistent:Y

(the syntax is very sensitive here - the dot before host is needed, the quotes are needed because of the space in Shared Folders, and the /persistent:Y seems needed too otherwise the command's effect seemed to go away when the script closed). In the c:\Users\Kevin\Scripts\VMWareShutdown.bat file I put:

net use d: /delete

(if I didn't do this, a ghost of 😧 made it appear as a network drive when not booting into VMWare, ie when booting into bootcamp. This caused problems with mesh mentioned below and a couple system utilities)

Now the bad news.... Here are the apps I've found so far that won't work with a data drive that is not local:

- Mesh: That's a biggie since Mesh (www.mesh.com) is such a central example to Microsoft's software+services strategy, I need to have it running all the time and keeping my environment synced with all other collaborators. The good news on this one is that Microsoft also is working on a mesh client for the mac. The work around that may work here is to run mesh on the mac side (which can sync all the same folders to the Data drive (known as D on the windows side) instead of running it on the windows side when both environments are running. To make this as clean as possible, I'd like the Mesh application in Windows not to autostart when booting into VMWare but to autostart when booting into bootcamp. With the notes above you've given me a great way to run things when I'm in the VMWare environment. Is there a similar way to run things only when I'm in bootcamp? For example is there an if statement I can add to a startup script that checks if VMWare is running and only executes the command if it's not?

- Quicken 2007. Quicken 2007 will not open any data files that are not on a locel drive. For now, this means I cannot use Quicken when I use VMWare which is an inconvenience. But I'm checking to see if a newer version of quicken might solve the problem or if VMWare might give us local access to a data partition on the startup disk as parallels does someday. Either of those options would make my life easier but the later would solve all my remaining questions.

- I am working on testing a few other applications we use now but seem to recall a couple others that fail if they don't have their data on a local drive - or mind jet's MindManager come to mind as a couple that may have trouble.

0 Kudos
admin
Immortal
Immortal

Glad I could help, Kevin!

Thanks for the examples you provided:

I started working with Mesh, and I see exactly what you mean -- because it installs tools on the local machine, only local folders (not mirrored/shared) can be accessed. I think, as you say, you'll have to use the Mac tools as a workaround for now. (I did some quick testing, and this worked fine for me.)

My best suggestion, so far, for checking if Fusion is running (and not Boot Camp) is to see if the VM services (TPAutoConnSvc.exe, TPVCGateway.exe, VMwareService.exe, vmacthlp.exe) or VM proceses (the first three from before, plus VMwareTray.exe and VMwareUser.exe) are running in Windows. The only scriptable way to check this, I think, involves VB coding or possibly a utility from the Win2k3 Resource Kit (see this thread: http://forums.techguy.org/software-development/529061-ms-dos-batch-file-check.html).

0 Kudos