1

I have 2 machines I use regularly for work. One is Windows 7 Pro 64-bit and the other is Windows 7 Pro 32-bit. One or two pieces of software I still need for work need to be run in Windows XP Mode (one refuses to install under Windows 7) so I created an instance of Windows XP Mode on the 64-bit machine and set it up how I needed. Then I moved that differencing VHD to the 32-bit machine and pointed it to the parent VHD and it wouldn't work.

Is it possible to use a differencing VHD one two separate machines?

Or do I instead need to merge my VHD with the parent VHD in order to run it on the two machines?

2
  • I believe the VHD's are different for 32 and 64bit.
    – Moab
    Commented May 7, 2011 at 22:10
  • @Moab: Do you mean the parent VHD? Commented May 7, 2011 at 22:41

2 Answers 2

2
+50

This article contains one solution of how to make the Windows XP Mode VHD more portable :
Transferring/Moving a VHD from Windows Virtual PC (Windows XP Mode) to another computer.

The solution is to :

  1. Totally shut-down the VM
  2. In VM Settings, click Hard Disk 1 and then Modify.
  3. In the dialog, click Merge. This will merge the two differencing hard disks into one, so we can move it to another machine. You can choose to do this in place, or make a new file, which is preferable.

I suggest to read carefully this article and the remarks.

1
  • Merging ended up being the basis of my approach. The merge has all the applications I need already installed. I'll probably handle transfer of changes with binary diffing or undo files. They should make for much smaller files. Commented Jul 3, 2011 at 3:31
1

I just did this recently, The parent VHD has a internal GUID that the child vhd checks, that is why it is failing. If you copy the parent VHD to your other computer and overwrite it (you will need to take ownership of the file as by default only the user SYSTEM has privileges to write to that VHD) it will work fine. 32 and 64 bit does not matter as that is what i did (started on 64 copied to 32, no problems)

One issue have I have encountered is the hibernation state does bomb when you switch computers, but the OS inside the vm just treats it like a power loss an as long as you had no programs running it will be fine.

UPDATE: bonus points if while you are installing you use the network share of your local computer instead of the C:\ version so you can access the VM over the network, here is a snippet of my VMC file

        <ide_adapter>
            <ide_controller id="0">
                <location id="0">
                    <drive_type type="integer">1</drive_type>
                    <pathname>
                        <absolute type="string">\\schamberlain\vm\Windows XP Mode 1.vhd</absolute>
                        <relative type="string">.\Windows XP Mode 1.vhd</relative>
                    </pathname>
                    <undo_pathname>
                        <absolute type="string">\\schamberlain\vm\VirtualPCUndo_Windows XP Mode 1_0_0_18514606212011.vud</absolute>
                        <relative type="string">.\VirtualPCUndo_Windows XP Mode 1_0_0_18514606212011.vud</relative>
                    </undo_pathname>
                </location>
            </ide_controller>
            <ide_controller id="1">
                <location id="0">
                    <drive_type type="integer">2</drive_type>
                    <pathname>
                        <absolute type="string">F</absolute>
                        <relative type="string" />
                    </pathname>
                </location>
            </ide_controller>
        </ide_adapter>

When I installed it I used \\schamberlain\vm as my VM directory.

1
  • I think taking ownership was enough to allow transport of a differencing vhd. Suddenly the vhd from the laptop could be used with the base vhd on my tower, but I hadn't actually replaced the base vhd. Due to other factors I won't be able to use the differencing with the original base anymore (the child vhd is 5 times bigger). Commented Jul 3, 2011 at 3:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .