Windows 7's XP Virtualization: I TOLD YOU SO!

Windows 7's XP Virtualization: I TOLD YOU SO!

Summary: I seem to remember a year ago, I said that if I were to design Windows 7 it would have built-in virtualization to provide perfect Windows XP compatibility. Guess what?


I seem to remember a year ago, I said that if I were to design Windows 7 it would have built-in virtualization to provide perfect Windows XP compatibility. Guess what? It will.

It's not often that my predictions come true almost exactly the way I envision them.

Just a little over a year ago, I wrote an article entitled "If I were to design Windows 7". In it, I describe a feature that would ease migration pains for home and enterprise users of the new operating system:

"I would make XP applications run out-of-the box without any additional software instead of putting the onus on the end-user to install a licensed copy of XP on the system, a la VMWare Workstation or Microsoft Virtual Server. All Microsoft needs to do is include a stripped-down XP virtualized subsystem that contains all the core Windows XP SP3 libraries and a fully Para-virtualized XP kernel, so that it will run on 32-bit systems as well as 64-bit Intel VT-accelerated and AMD-V enabled systems, with a “Seamless” way to present XP applications, perhaps via a internal RDP interface or a DirectX accelerated virtual video driver, without having to run a complete XP desktop."

Well well. It seems that a major new feature that is to appear in the soon to be released Windows 7 Release Candidate, Build 7100, will be perfect Windows XP compatability, using virtualization technology.

Click on the "Read the rest of this entry" link below for more.

Now, to be fair, Microsoft didn't implement the feature exactly as I described. I thought they would use the Hyper-V hardware assisted Type 1 hypervisor technology introduced with Windows Server 2008. But instead, they went with hardware-assisted host-based virtualization, using an embedded/runtime and updated version of Virtual PC, presumably limited to running just the XP compatability VM, a Type 2 hypervisor.

Okay, not exactly the same, as Type 1 and Type 2 hypervisors have different performance and stability implications, but if you look at how they actually implemented it, it's fairly close to what I predicted -- it's an optimized XP SP3 desktop that can either run on the Windows 7 desktop in a windowed mode, or have Windows XP applications run "seamless" with Windows 7/Vista applications in the Windows 7 GUI.

Also Read: Microsoft to provide 'XP Mode' with Windows 7

Why is Microsoft doing this? Because they don't want to repeat the unmitigated disaster of Windows Vista, and to assure its Enterprise customers that their legacy Windows XP and earlier applications will continue to work perfectly in the new OS -- they know that with the lousy economy, not everyone is going to be upgrading all their applications to Windows 7 and Windows Vista native versions.

Windows XP Mode, or XPM for short, will be available to customers running the Professional, Enterprise, and Ultimate editions of Windows 7. Users of "Home Premium", the version which will be on the majority of mass OEM preloads for the consumer market, will not have access to this feature. While I applaud Microsoft for thinking of its Enterprise customers, I think it is a mistake to exclude their consumer and SOHO customers from this great new feature. I really hope they change their mind.

I would have also liked to have seen a way for users with existing PCs with already installed apps to be able to migrate their software to the XPM environment, in a scripted, painless way, without having to completely re-install everything. XPM requires that you have all of your original installation media or have download access to the programs you need to run on your virtual XP environment.

That's fine for an ideal world, but we all know that install media and entitlements get lost, so a P2V tool for XP to Windows 7 XPM would have been nice. I described a rather labor intensive procedure on how to manually do this on Vista using the free VMWare Player which I did for a friend back in September of last year. Microsoft could easily provide a virtual "lifeboat" to their XP install base with a program similar to VMware vCenter Converter which dumps the entire environment -- apps, data files and all -- to a .VHD file on a portable hard disk or over the network to the new machine.

I'm really looking forward to XP Mode in Windows 7. Are you also feeling better about the new OS knowing that all your old apps will run perfectly? Talk Back and Let Me Know.

Reblog this post [with Zemanta]

Topics: Software, Microsoft, Operating Systems, Virtualization, Windows


Jason Perlow, Sr. Technology Editor at ZDNet, is a technologist with over two decades of experience integrating large heterogeneous multi-vendor computing environments in Fortune 500 companies. Jason is currently a Partner Technology Strategist with Microsoft Corp. His expressed views do not necessarily represent those of his employer.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • Don't need XP mode

    I will be upgrading to Windows 7 Ultimate as soon as it's released. All the applications installed on my system like 3ds max, VS 2008 are compatible with Vista x64 so no worries though it's a nice feature.
    • MS "innovates" Wine.

      It's 2009, and Microsoft have "innovated" making it operate like their nearly 10 year old O/S.

      Way to go.
      • Wine leverages hardware 'emulation' ...

        ... while running under Linux, which is why Wine doesn't JUST WORK with all Windows applications. This is a lot different than a virtual machine which hosts operating systems side-by-side.
        M Wagner
        • Wine Is Not an Emulator - it's in the name...

          it provides the MS API to the linux kernal. So much so that you can use all of the WinXP DLLs in wine and have complete compatibility (with the exception of MS branded software made in the last couple of years as MS installers look for and break Wine). Back when WA first came out, Wine passed it. MS had to find a new way to figure out if it was actually Wine.

          I was hoping that MS had actually done something like Wine for Win7. But apparently they decided to go with a Virtual Machine instead. I'm not real excited about that idea. I tend to do some copy and paste from some Windows progs to my Linux progs. Can this be accomplished in a virtual environment?

          I don't think it would have been difficult for MS to port the actual Wineserver and use real WinXP DLLs. Don't they release Wine under the LGPL? Granted it would likely have been a massive project, but then so is Win7.

          The kewl thing about using a server client setup for compatibility is you can shut down the server if a prog starts to act up but your prog still looks to run native. There's no performance loss. Some Windows progs actually benchmark better on Wine than native WinXP. Not all, but some do. Most benchmark about the same as native.

          I have firefox for Windows and Linux running side by side and often times don't know which one I'm using until I try to change a setting and find 'Preferences' is in the wrong place. The Windows version of Firefox running on Wine is actually considerably faster the Linux Firefox running on most distros. The Windows Firefox code has better compile-time optimization than the Linux Firefox code.

          I haven't tried it but I simply can't believe I would get the same performance out of a virtual box as I do with an API server. I also get excellent integration. All of my Windows programs appear in my applications menu right along with their Linux counterparts. Some tweaking is required, but they are there.

          Under Win7's virtual XP mode, will all of my XP progs be stuck in the same 'window' or will they be independent like in Wine? Will I have copy and paste integration. Will the Win7 window manager have control of my XP progs? Will I be able to shut down a single out of control XP prog or will I have to kill the whole virtual box? I know that most of you probably don't care how Wine runs in Linux. I'm just using experience with similar technology to ask certain questions that seem important to me.

          Anyway, thats my two cents.
          • API implementation versus virtualization

            In theory API implementation thru mechanisms
            such as WINE to provide Win32 to legacy XP apps
            is a good idea -- Microsoft did this with Win16
            when they transitioned from Win 3.11 to 32bit
            OSes with NT and Windows 95 with WOW "Windows
            on Windows" by providing the APIs and DLLs for
            16-bit programs. That's more or less how WINE
            works, except that it's a 3rd party, reverse
            engineered and incomplete implementation of the
            32-bit Windows APIs.

            This is all well and good if you don't have,
            say, 20,000+ legacy API calls to deal with, and
            I'm pretty sure we're well above that number by
            now, particularly if you get into .NET
            versioning differences and such. So you would
            need to provide these legacy DLL versions and
            figure out how to sandbox them all. That's a
            ton of development effort. If you're gonna
            bother to do that, you might as well

            Something like WINE or WOW or providing legacy
            DLLs is okay if you are going to deal with a
            specific application or a small subset of apps,
            and if you have the source code to mess with,
            like Google does with Picasa. But for providing
            a broad range of compatability virtualization
            is the only solution that makes any sense.
          • I think it's a great idea !

            "I was hoping that MS had actually done something like Wine for Win7. But
            apparently they decided to go with a Virtual Machine instead. I'm not real
            excited about that idea. I tend to do some copy and paste from some
            Windows progs to my Linux progs. Can this be accomplished in a virtual

            It's a great idea, I tell you !

            First, because when the XP partition gets corrupted by viruses, PC users
            will be able to just roll back to the last Save point and go back to work.

            Second, because it's a Kludge. Integrating WINE properly would be a great
            accomplishment and I don't want M$ actually innovating.

            That's Apple's job. :)
      • Not like Wine, it's like Vmware and VirtualBox

        M$ is about to invent virtualization. Well, not exactly, but I'm sure they will market it that way.
        InAction Man
        • Not quite

          Um, no, IBM invented full virtualization as
          well as paravirtualization. Nearly 40 years


          I seriously doubt Microsoft would claim
          inventing it. They bought their host-based
          virtualization technology from Connectix and
          it's a very publically documented acquisition.
      • Big dif. WINE is crap

        it emulates Win 98 not contain a full featured OS inside.
        • Well no doh

          But that doesn't mean it's crap. It does what it's intended to do. With limitations, of course...
          hasta la Vista, bah-bie
    • Like Hell we don't need it!

      Look, lots of companies use and NEED 3rd party apps TO MAKE MONEY that just won't be upgraded in a timely manner. Publishers go under, companies are too cheap to upgrade, there's a gazilion reasons, it is what it is.

      Backward compatibility in the real world is a must. Problem is that's a double edged sword, doing so is also a security hole.
    • As soon as it's released.

      Having spent half my life working with computers, I always figure any one who is going to move to a new OS as soon as it's released doesn't have any thing critical depending on it. No mater how much I like an OS and I do run the Betas and RCs, I never put the early RTMs on something important. I figure a few months of listening to others complaints or blessings is well worth letting some one else risk their records, production, or what ever with untried operating systems.
      When I was working, we had a contract on our thousands of machines, but even then the new OS would be thoroughly tested before out IT department rolled out the new one.
    • Don't need XP mode - Pah!

      Well, the world is a better place - we are now all equipped with the knowledge that shellcodes_coder is personally sorted. Excellent. I am surprised he hasn't posted a twitter link as well. What is the word I am searching for: smug? arrogant? a****le?
      • It's a windbag

        That's what shellcodes is, it's a windbag!
        InAction Man
  • RE: Windows 7's XP Virtualization: I TOLD YOU SO!

    I am very happy to hear about XPM. This will make a very easy decision to go to Win7. As it is now on my home VISTA laptop I have to use Virtual PC with an extra XP license I had to purchase in order to use it for work. That works but it irked me to have to shell out the extra money.

    As for you suggestion to be able to do an in-place install of all your current XP apps that strikes me as pretty ugly. In practice you'll probably only need a couple of Apps to run in the XPM environment and the rest would then be installed as Win7 apps. It would be a much cleaner setup. Yeah maybe it requires a little more work to install the apps in XPM but in the long run you'll be much better off.
    • XP

      Did you try to run those old applications in Vista with administrator privilege (right click that application and select 'Run As Administrator'? If yes then it should have worked. I used to run many old games when Vista just went RTM with admin privilege and all of them worked but when run w/o admin privilege, they would simply crash.
      • RE: XP

        It's not a case of games not running but rather work software I need to use if I'm working from home. In one case it was software which just wasn't supported under VISTA and in another it wasn't really related to VISTA at all but it was a 32bit VPN application which didn't work on a 64bit OS. I had to run it on a 32bit version of XP (although I suppose a 32bit version of VISTA would have worked just as well).

        Hopefully the first issue will be resolved in a few months but I don't know when the second issue will be resolved so I may still need XPM for that. In any case it's good to know it'll be there in case I need it since I'll probably be building a new machine at the end of the year and I didn't want to have to go to Win7 and then spend additional money on another XP license.
        • The same goes for applications...

          I used to run old applications in Vista too via compatibility mode and used to run them with admin privilege (right click and select run as administrator) because many legacy applications write to programs files, windows folders, HKLM registry key etc and because of new security model in Vista, w/o admin privilege applications won't be able to do so. So most of them would simply crash or exit with a failure message. Anyways, the application you are using is def. different from the ones that I used to run.

          32bit VPN application which didn't work on a 64bit OS: seems like a driver problem to me

          • No...It's true.....

            At a firm I consulted at, they started ordering 64x Windows Vista and no VPN clients would run on the system. All of the 32x Windows Vista systems all ran the VPN clients properly.

            Not a driver issue.
            linux for me
  • Upgraded for Xp SP3 ; I don't use SP3 in my home pc What do I do with this

    Now it is another option for a problemed XP SP2 machine. More information please