Virtualization XP Mode Lead image: Iakov Kalinin, 123RF.com
Iakov Kalinin, 123RF.com
 

Configuring XP Mode in Windows 7

Legacy Support

Most Windows releases were criticized for sacrificing innovations for the sake of downward compatibility, but Windows 7 offers an XP mode that lets users continue to deploy XP applications. By Thomas Drilling

Breaking old traditions takes courage, but companies like Apple have proven that it's the only way to integrate new technologies with a product that has developed over the years. Consider Apple's departure from Motorola and PowerPC processors, the introduction of a BSD system to replace the legacy kernel, or the departure from the BIOS in favor of an Extensible Firmware Interface (EFI). Although this course of action may leave users of legacy systems out in the cold, the manufacturer typically wins over customers with these new technologies.

Reason Enough

In its first year of existence, Windows 7 has proved its value and dispelled the unhappy memories of its predecessor, Vista, from most people's minds. Windows 7 has convinced skeptics with its stability and performance, and even proponents of open source and avid Linux users can't deny the maturity of the latest desktop offering from Redmond. The main reason for this is that Microsoft has not just freed itself from technological ballast but also redefined its development structures and project management.

The reward for all that effort is a state-of-the-art, fast, and secure desktop operating system, but it's also one on which legacy XP or 9x developments might not work because software developers now need to custom-build their code for Windows 7. Reasons can always be found for running old software, and many people have programs that don't run on Windows 7. The same thing applies to legacy hardware that uses a parallel or serial port, for which Windows 7 no longer has drivers. All of these examples legitimize the use of XP software.

Virtual XP

The Microsoft developers rely on virtualization to be able to run XP code on Windows 7 without implementing legacy libraries and interfaces, which comes as no surprise. Windows 7 offers an optional XP mode that is based on Microsoft's latest version of Virtual PC. XP Mode gives users a complete virtual computer with Windows XP, on which they can run XP applications.

This free XP Mode ensures seamless integration of XP applications in the host environment. Users can run XP applications on a virtual desktop or launch a single application via a program link in the Windows 7 start menu.

XP applications will also run in an isolated window on the Windows 7 desktop, so users won't notice the difference between virtual and native applications.

Users also can see and store data from XP applications in and on the native filesystem and back up this data in the normal way. Additionally, a USB menu supports USB passthrough, thereby making USB disks, sticks, or other external devices on the host system available to the virtual system. Users can work either with a standalone XP application or with the complete XP desktop, but not both at the same time.

XP programs are installed by using the program's own setup routine on the virtual XP desktop. The Integration features make sure that XP applications are visible in the Windows 7 start menu, where they can optionally be executed in Window mode.

Incidentally, the XP version in XP Mode is the XP Professional SP release; however, this doesn't allow users to join an existing domain with the virtual XP machine.

Installing XP Mode

Although the website might claim otherwise, XP Mode is designed for the Windows 7 Professional, Enterprise, and Ultimate 32- and 64-bit editions only. It relies on the latest version of Microsoft Virtual PC. Although the website shows all Windows editions on the market, you can only choose the installation language for the versions mentioned.

To install Virtual PC, the host system needs at least 2GB (32-bit system) or 4GB of RAM (64-bit system) and at least 20GB of free disk space. The upper limit depends on the XP applications you want to install. The resulting virtual Windows XP PC will always be a 32-bit machine, of course. Microsoft Virtual PC is not included by default with the Windows editions I just mentioned, so you need to download it from the Virtual PC website [1] before you can install.

Additionally, the host system must support Intel or AMD hardware virtualization, which you might need to enable in the BIOS before you start. To discover whether your CPU has VT support, you can run the Microsoft HAV Detection Tool [2]. If your hardware fulfills all the requirements, you can download and install Virtual PC in the form of an MSU file with the Windows Windows6.1-KB958559-x64.msu update [1]. Do this before you install XP Mode proper, which is a normal executable with a name like WindowsXPMode_en-us.exe.

The executable file weighs in at around 470MB, which is understandable because it contains a complete XP image: Expect some installation mileage. You also might need to install WindowsActivation.exe, if you haven't done so already, to allow Windows to check the validity of your version. The fact that XP Mode only runs on Windows 7 Professional edition or better is a hard and fast rule. Although you can install Virtual PC on Windows 7 Home Edition, you won't be able to activate it. XP Mode just isn't available to Windows 7 Home users.

On the other hand, if your CPU doesn't have the required VT support, you can optionally download and install the Windows6.1-KB977206_x64.msu Window update [1], which removes the requirement from a version of Windows Virtual PC that you installed previously. This step only works after you have installed Virtual PC and XP Mode. Of course, using the standard emulation will affect XP Mode's performance.

Configuring and Using XP Mode

After installing Microsoft Virtual PC, the Windows 7 start menu will have a Windows Virtual PC section with two entries: Windows Virtual PC and Windows XP Mode.

The first takes you to a tool for setting up arbitrary virtual Windows PCs, whereas the second takes you to the setup wizard for configuring XP Mode. After installing the XP Mode image, the XP Mode installation wizard launches and, after prompting you to accept the license, asks you for a username and password for your virtual XP PC (Figure 1).

Wizard-based virtual XP machine setup.
Figure 1: Wizard-based virtual XP machine setup.

After you complete this step, XP Mode launches a couple of minutes later in full-screen mode with an automatic login; you can change this later in your XP Mode settings. If you want to create your own hard disk image instead of using the virtual hard disk image file for XP mode, you need a valid XP license. This completes the installation. (See the "Troubleshooting" box.)

Structure

As I mentioned previously, you can use your virtual Windows XP in two different modes: as a complete virtual Windows XP PC that runs in a Windows 7 window or as a virtual Windows XP application, wherein the XP underpinnings stay in the background and you only see the application window on the Windows 7 desktop. You can't use both modes at the same time.

Controls are easy and intuitive. Click on the virtual XP window to use the keyboard in the normal way; in Windows 7 style, this doesn't capture the mouse focus. If you prefer, you can run the virtual XP machine in Windows XP in full-screen mode. In this case, you will not see anything of Windows 7. Of course, you can install other operating systems in Virtual PC, such as Vista or Windows 7: The container files are located in the host context below Applications | Computer | $drive | $user | $username | Virtual Computers and accessible via the Explorer or by clicking the Virtual PC link in the start menu.

Browsing with the Explorer reveals how Microsoft Virtual PC integrates with the Windows 7 desktop, that is, by adding a couple of entries for creating and managing virtual machines, which are actually virtual hard disk (VHD) containers, to Explorer. Create virtual machine lets users create virtual PCs with any Windows operating system; you need the operating system license and the installation medium to do so. The path to the VHD container files is also available in the guest context if you configure file and folder sharing when you set up XP Mode (Figure 3). The C: drive in the host context is shown in Explorer in the guest context as C on $Hostname.

The integration features make drives and folders on the host system available in the guest context.
Figure 3: The integration features make drives and folders on the host system available in the guest context.

Using the Integration Features

Virtual XP applications can be installed only on the virtual computer, not from within the Windows 7 context. For this reason, it makes sense to download the XP applications directly from within the context of the virtual computer. If the host system has Internet access, the connection will be available in the virtual context, too. For trouble-free integration of the XP tools you install with the Windows 7 start menu, you need to install the program for all users – assuming the installer gives you this option.

XP programs run in window mode as if they were normal Windows 7 applications. XP programs in Windows 7 windows can thus store data on the host system's drives. USB drives and other external USB devices are passed through by the host system; the virtual computer has a USB menu for this (Figure 4).

Thanks to USB passthrough, the USB drives attached to the host system at run time are available in the XP context.
Figure 4: Thanks to USB passthrough, the USB drives attached to the host system at run time are available in the XP context.

Advanced Configuration

Depending on how powerful the host system is, you might need to restrict the virtual XP computer's use of resources; the easiest approach is to remove all the superfluous effects in the XP desktop. To avoid losing your way in these details, you can simply click on System | Advanced | System Performance | Settings in the XP PC's control panel and then select Adjust for best performance; this step gets rid of most desktop effects at one fell swoop.

Additionally, you can and should configure your virtual XP computer to suit your own needs. A number of settings that affect XP Mode cannot be changed on the fly, not even if you "shut down" the virtual PC by closing the XP window. Doing so only sends the virtual machine to sleep and writes the RAM content to disk, so the virtual PC continues where it left off when you start it the next time.

The quickest way to shut down the virtual machine is to enter

shutdown -s

at the command line, or you can press Alt+F4. Logging off via the Windows XP start menu will just take you to the XP login screen, where you can click on Options to display the Shutdown button.

After shutting down, you can click Settings in the Explorer menu of the VHD Applications | Computer | $drive | $user | $username | Virtual Computers folder to access the Windows XP Mode | Windows Virtual PC Settings, which finally lets you change the settings (Figure 5).

The integration Features and other settings for XP Mode can only be changed after shutting down XP Mode, as indicated by "Powered down" under Machine status.
Figure 5: The integration Features and other settings for XP Mode can only be changed after shutting down XP Mode, as indicated by "Powered down" under Machine status.

Among other things, you can enable the Integration features here, if you haven't done so already. Additionally, you can modify the default setting, which automatically puts XP Mode to sleep when closed.

Conclusions

XP Mode on Windows 7 is quite useful at times, but it does take some preparation, and you need the right edition of Windows 7. Also, XP Mode is not instantly identifiable to normal users (i.e., to XP Mode's primary target group) as just the latest version of Microsoft Virtual PC 7 combined with a free image of Windows XP Pro SP3.

The really new, and quite clever, additions are the integration features, which automatically make the applications installed on the virtual machine available on the host system (Windows 7) start menu, where they can easily be launched via the Windows 7 desktop. Additionally, these features give drives, files, and folders on the host system access to the virtual machine. In this case, users will hardly notice the virtual machine running in the background.

Integration mode is comparable to "seamless mode" in VirtualBox or "Coherence Mode" in Parallels. The performance is excellent, assuming the host CPU supports the VT extended instruction set. XP Mode will work without VT support if you install the update, but this will impact the performance.

Microsoft's decision to liberate Windows 7 from compatibility restraints has paid dividends. Compared with its predecessors, Windows 7 has gained an excellent reputation, and compatibility restraints can be handled satisfactorily by state-of-the-art virtualization technologies like Virtual PC (see the "Compatibility Mode" box). XP Mode, including downloading Virtual PC updates, should be made more transparent to users.