Moving Windows from Dual Boot to Virtualization (Help!)

When I initially set up my new laptop, I opted for dual boot, assuming that from time to time in client work I’d need to be able to get to windows applications. Now that I’m moving to virtualization, I’ve run into an issue with my shared partition.

Hoping to avoid significant “I can’t get to that file now” problems, and not wanting to try out read/write mount of NTFS+ in Linux, I took a multi-partition approach, breaking up the hard drive thusly:

  1. ext3 format, onto which Ubuntu is installed
  2. ntfs format, onto which Windows XP is installed
  3. vfat (aka Fat32) format, as a shared partition accessible from Windows or Linux
  4. small linux swap partition, ignored by windows

This was great, as it enabled me to put things like firefox profiles on the shared drive, and then whether I booted Windows or Kubuntu I ended up with the same set of bookmarks, cookies, and the like.

It also meant all my “documents” (client folders, project folders, and so on) went to the shared partition. (In windows I mapped “My Documents” to point to what it sees as the E: drive, and in Linux mapped the mounted drive to /media/shared/).

Since then, however, I’ve decided that rather than dual booting I should move windows into a virtualization container, and run Windows XP inside VMWare Player without having to reboot.

(Experienced virtualization users at this point have likely already anticipated the problem).

Using a number of online guides (see here and here – the latter was more useful for my case), I was able to get WindowsXP booting inside VMWare using the existing WindowsXP installation on the NTFS partition. Very nice. That triggers, unfortunately, a bunch of windows activation hooey, but you can eliminate that as well.

Now, to the problem. When Windows boots inside VMWare, it mounts the E: drive. Problem is that partition is also already mounted in Linux. Now we have two different operating systems, both of which are potentially reading and writing to a single VFAT / FAT32 partition, and neither of which “knows” about the other’s access. Surely a recipe for trouble.

So what are my options?

Here are some I’ve considered – let me know if there are others:

  1. Make windows forget that the VFAT partition exists. Not sure how to effectively do this – won’t windows keep trying to “discover” the drive and assign it a drive letter when it boots up?
  2. Trigger (via script) unmounting of the VFAT partition in Linux whenever the Windows VMWare player is booted. That way Linux would let go of the partition while I’m using windows, and I could then remount it when I close the VM.
  3. Backup the partition and reformat it as ext3. Windows will now ignore it, and I can enable a samba share on the linux side which the Windows OS inside the VM will see as a network share and access appropriately.

4 Comments

  1. I am also having the same problem as you do. Previously I was mounting my windows ntfs drive in ubuntu. Now, after configuring vmware to boot my existing windows inside ubuntu, I am confused on how I can make ntfs drive contents accessible from ubuntu. My case is that I ll not be running windows all the time.

  2. As for my own issue, all I did was tell windows not to assign that volume a drive/letter – so now windows doesn’t mount or edit the Fat partition, and I access it only through samba.

  3. Currently I am mounting my ntfs drive (C:, where windows is installed and all my docs reside) read/write using ntfs-config.
    My problem is that I have to unmount the volume everytime I start windows in VM under ubuntu (otherwise it will get corrupted). So I have to use windows share at that time. But I cannot use the share when VM is not started, in that case I have to mount the drive.
    This is my problem, have to use two different methods depending on whether VM is started or not. Do you have any suggestion on avoiding this?

Comments are closed.