by Ellen
24. September 2009 03:02
Part 2 – Conversion
In part one of this post, I discussed preparing your Virtual PC 2007 VHD files for transfer to a Windows 7 box, and setting up the Windows 7 machine to use Windows Virtual PC, Microsoft’s Windows 7 virtualization engine. In this post, I’ll step through the process I went through to convert a legacy VHD file.
This post refers to a Virtual PC 2007 VHD with Windows XP SP3 as its guest OS.
- Launch Virtual PC. This new version presents as a Windows Explorer window rather than the VPC console as in VPC 2004 and 2007. You'll see an option to Create Virtual Machine:
- Choose the Create virtual machine option. The steps are very similar to the old VPC wizard - first you'll create the configuration file (which now has a .vmcx extension rather than .vmc), specify memory and networking options, then identify the VHD.
Since you're converting an existing VHD, choose the Use an existing virtual hard disk option and navigate to its location.
- Once you've completed this step, the .vmcx file will appear in the Virtual PC explorer window:
- To open the VPC, double-click on the .vmcx file. The first time you open the VPC, it will appear to be detecting new hardware. It may or may not require your interaction to complete the hardware detection, but if it does, it probably will not be able to find the driver (since it can't identify the hardware device in the first place). This does not appear to adversely affect anything.
- When you're opening the VPC, it will tell you that it's restricting the cursor to the inside of the VPC window and give you the key sequence to release it to the host machine (<Ctrl><Alt><Left Arrow>). Unfortunately, this combination of keys may not work for your hardware. On my laptop, for instance, this key combination rotates the host screen. So for the moment at least, you're stuck with the restricted cursor.
- After the VPC has done its hardware detection dance, you'll want to restart it. If your VHD login was not previously password protected, you'll want to create a password for the login account now. After doing so, restart the VPC.
- While the VPC is booting up (i.e., before the cursor restriction kicks in), from the Tools menu, select Install Integration Components. This is the Windows 7 version of Virtual Machine Additions.
You'll get the following message:
Click Continue.
- Once the VPC is open, it will present the Integration Components setup.exe in the CD drive:
Run setup.exe. It will appear to detect more new hardware, but this time you shouldn't be required to intervene.
- Once the Integration Components have installed, the last screen will prompt you to download the updates required for running XP in this new mode. I usually let it navigate to the download URL as it wants to do, and run the hotfix update at this point. After the hotfix is installed, let the VPC restart. This is the update URL, in case you miss this step:
http://www.microsoft.com/downloads/details.aspx?FamilyID=e5433d88-685f-4036-b435-570ff53598cd&displaylang=en
- Even though you've installed the Integration Components, you still have to enable them. This appears to be user specific, although I haven't run enough tests to be absolutely sure of it. Unless you enable the features, you won't be able to copy and paste between the VPC and the host machine, nor share drives.
- You may be prompted for a login when you choose to Enable Integration Features. I haven't been able to determine consistently when this shows up - definitely when the machine is attached to a domain, possibly when there's more than one non-system user account.
- I’ve run into some oddities with the way a couple of VPN client tools interact with the Integration Features auto-enable (specifically the Cisco VPN client and the Cisco Any Connect web client). When Integration Features are set to auto-enable at startup, the VPN client chokes with a user authentication failure before the user login screen is even presented. To work around this issue, I set the Integration Features to enable manually, by clearing the Enable at startup check box as shown below. When I do this, both of the Cisco VPN clients can connect successfully. For the Windows client, I was able to enable the Integration Features after startup and still connect successfully. For the Any Connect web client, enabling the Integration Features blocked the connection (the application delivered a “not supported” error message.) I mention this as a heads-up: you may need to play with this particular setting a bit if you experience odd connectivity behavior from within your VPC.
