Tuesday, November 24, 2009

Windows 7 – Windows XP Mode: Part II

In the first part of my post on Windows XP Mode I noted that whilst my laptop’s processor supports hardware assisted virtualisation, the BIOS on my Acer laptop offers no option to enable this. This is a problem because Microsoft Virtual PC only runs on hardware that supports hardware assisted virtualisation.

I was hopeful that I would be able to set up a virtual XP machine using the Windows XP Mode download from Microsoft and VirtualBox.

Indeed I was. It worked well. Until I tried to activate the virtual copy of Windows XP. XP Mode includes a license key as part of the installation, however, this key cannot be used to activate Windows XP using the conventional activation mechanism. Attempting online activation using the supplied key fails.

When activation fails, there is an option to activate by telephone using an auto-generated 60-digit installation identifier. Unfortunately, the telephone option declares that there is an error in this identifier and declines to supply a key to activate Windows XP. Worse still, at least in the UK, the telephone option is fully automated with no option to speak to a person to find a resolution.

Thinking about this, I’m not surprised by the problems in activating the XP image included in Windows XP Mode. I’m quite sure Microsoft have checks in place to ensure that XP Mode hasn’t provided a source of freely downloadable, licensed XP images.

I assume there is some interaction between Windows Virtual PC and XP Mode which handles the activation process and ensures that the copy of XP supplied as part of XP Mode is correctly activated and licensed.

At the very least, I assume Virtual PC ensures it is running on an appropriate edition of Windows 7 and uses this information to assist in the activation of XP Mode’s XP image.

I’ve read the EULA for XP Mode and as far as I can see it is perfectly legal and valid to use XP Mode with alternative virtualisation solutions. Sadly this seems not to be supported in practice.

In summary, it seems from my experiments that the only way to use XP Mode on Windows 7 is to use the officially supported combination of XP Mode & Virtual PC on a machine that supports hardware assisted virtualisation. If anyone knows differently, I would like to hear from you.

Next steps…

Time to take a break from getting XP Mode to run on my Acer laptop and reflect on just over a month of life with Windows 7…

Thursday, November 19, 2009

Windows 7 – Windows XP Mode: Part I

One reason I was looking forward to upgrading from Windows Vista to Windows 7 was the prospect of Windows XP mode. I hadn’t actually tested this while running the Windows 7 release candidate so I didn’t know what to expect.

Pointing my browser at www.windows.com/business/downloads told me that I needed to download Windows Virtual PC and Windows XP Mode separately. Downloading and installing these two packages would allow me to use Windows XP as a virtual machine on my Windows 7 computer. I’ve used the open source virtualisation solution VirtualBox for a few years to enable me to run Ubuntu as a guest OS on my Windows XP & Vista environments. So the idea of using a virtual machine to provide an XP environment on my Windows 7 machine made sense to me.

Unfortunately, my attempts at installing XP mode came to an abrupt halt at the hands of a little tool called the Microsoft Hardware-Assisted Virtualization Detection Tool. It turns out that “Windows Virtual PC requires processors capable of hardware-assisted virtualization with AMD-V, Intel VT or VIA VT turned on in the BIOS”. In my case, the tool says my processor is not capable.

Want to run XP Mode? Be wary of Acer* laptops!


This can’t be right! My processor supports virtualisation. I’ve checked. Twice. I might have paid for a machine with a processor that supports virtualisation, but Acer have decreed thou shalt not use the virtualisation support provided by the processor you paid for. Sure enough, there is no setting in the BIOS to enable virtualisation. In fact, there’s very little you can do with a typical Acer BIOS. You can change the boot device order, and the clock. That’s about it.

Acer have been playing cat and mouse with their customers on this one for a while. There are a number of discussions, rants, “support” articles and so on online which show that Acer are unlikely to release a BIOS version that allows their customers to enable virtualisation.

Some clever people managed to hack the BIOS and provided a mechanism to modify hidden settings to enable virtualisation… only for Acer to release a new BIOS version that plugged the holes that were exploited by these clever people and the workarounds no longer work.

Unfortunately, my first move was to go to the Acer website and upgrade my BIOS, expecting to see a setting to enable virtualisation. Only after being disappointed by that approach did I find the articles on the web about hacking the BIOS… only to be further disappointed to find they only worked on the version of the BIOS I’d just replaced.

My own attempts at requesting support from Acer on this have failed to produce a satisfactory response. Acer referred me to their premium support line, I’m guessing because I was (a) out of warranty and (b) had installed an operating system different to the one the machine was shipped with. Though I admit I’m reading a lot into a single line response that wasn’t even proper English.

The “Acer” premium support line in the UK is just a third party helpdesk that services the needs of various PC manufacturers customers. They were no help to me though, saying I would need to speak directly to Acer about my issue. I’m still waiting for Acer to respond to my second query, though I’m not expecting a helpful response.

Next time you buy a PC, don’t just look at the technical specs, get the people in the store to let you poke around in the BIOS and make sure you’re getting access to everything you’re paying for.

While it’s possibly unfair to blame Microsoft for my problem, I would like to know why Microsoft have designed Windows Virtual PC to only work with processors that support virtualisation, when solutions such as VirtualBox manage with or without such support.

If Windows 7 is so great, why bother with XP Mode?


If you go to download XP Mode from the website mentioned earlier, you will find yourself asked a couple of questions – the first of which is:
DoINeedXPMode
Windows XP Mode runs some older productivity applications that may not run otherwise on Windows 7 (or Vista). Well I want to be able to run Nokia S60 SDKs and associated Symbian OS toolchains. Unfortunately, the S60 SDKs and Symbian toolchain don't get on too well with either Vista or Windows 7.

It is possible to persuade the S60 SDKs and associated tools to work on Windows 7, but for me there are just too many workarounds and hacks required in order to do so, particularly when I develop for a number of platforms but only have issues using the S60 SDKs on post-XP Windows releases. For example, Nokia's Qt SDK & Google's Android environment run on Vista and Windows 7 without complaint.

An XP virtual machine running on Windows 7 sounds like a good solution to allow me to develop for S60, without needing to maintain a dedicated physical XP machine.

Unfortunately, Acer disagree.

Next steps…


I’m not beaten yet. I know VirtualBox can read Microsoft Virtual PC virtual hard disks...

(*Acer are certainly not alone in their approach on this issue. Ask your favourite search engine…)

Tuesday, November 10, 2009

Windows 7 – The installation

When Microsoft announced cut price copies of Windows 7 for those prepared to pre-order back in the summer, I jumped at the chance. It wasn’t a gamble for me as I’d been testing Windows 7 for some time and at the time I placed my order, was using the Windows 7 Release Candidate on a regular basis, so I knew what I was going to get.

Yet when the courier arrived on 22nd October with my new retail copy of Windows 7 I must admit to suddenly feeling a bit apprehensive about installing it for real.

My apprehension wasn’t caused by the idea of running Windows 7 “full time”, it was the task of upgrading my Vista machine that was fuelling the need for something stronger than coffee.

I’d already backed up all my data, downloaded installation files for numerous applications from the internet and had a bunch of CDs and DVDs to hand for the boxed software I use. What could possibly go wrong?

Well, thankfully, not very much as it turns out. But it wasn’t perfect.

To Upgrade, or Cleanly Install?

I popped the DVD in my drive and let setup go about its job. It asked for the usual information – which country was I in, what language did I want to use, keyboard layout, that sort of thing. Then it asked if I wanted to perform an upgrade or a clean installation. Excellent – I’ve got everything backed up, I’ll have a clean installation please!

What I didn’t notice (I’m sure it wasn’t there… it is, I just must have missed it!) was the option to do a spot of disk administration before performing the installation. Having selected a clean installation without doing any disk administration, setup detected my existing Vista installation and proudly informed me that it would copy my Vista installation to a directory called “Windows.old” and that I would be able to access my files, but wouldn’t be able to boot into Vista.

Hmm… what definition of “clean” is being used here?

Simple Installation

The installation itself was surprisingly simple. Gone are the days of specifying endless options and waiting while individual cabinets are copied and uncompressed… and then configured… With Windows 7 what gets installed is a standard disk image – much like the IT department at your local large company might do. It still took 50 minutes though!

If I recall correctly, two restarts were needed during the installation process. However, setup neglects to tell you that it’s finished with the DVD and that you can remove it from your drive, so if you’re not paying attention and your computer is set to boot from DVD, it’s quite possible to go round an endless loop re-doing the same part of the installation process!

Eventually my PC re-booted and started Windows 7 for real. It looked good, everything was where I expected it to be, it found my network and I could get online and reach the internet and other computers on my home network without any fuss. All seemed well, so I started installing my applications in priority order.

Hang on… something’s not right here

About half way through loading my computer with software I suddenly realised that the visual niceties of Windows 7 were missing. I’d selected the Aero interface, but I wasn’t getting it. A quick poke around in device manager revealed that Windows 7 had failed to detect my video card properly (even though the release candidate managed) and had installed some vanilla drivers.

My card reader didn’t work.

My webcam didn’t work.

What I’d not done, lulled into a false sense of security by the success of the release candidate, was examine Vista’s Device Manager and make a note of all the devices on my system and their respective vendors & driver information before installing Windows 7. D’oh!

nVidia 1 – Windows Update 0

Luckily nVidia provide a nice tool that can be run on your computer and quickly identifies what graphics hardware you have – and then goes and fetches the appropriate driver for your combination of hardware and OS. Full marks to nVidia for that. No further graphics problems – Aero interface fully operational. Nice!

Not so many marks for Windows Update which subsequently & repeatedly tried to get me to install an older version of the nVidia drivers.

I patched up the other non-functional devices using Vista drivers (the driver model – except the video driver model – is the same between Vista and Windows 7) from my computer manufacturer’s website and had a fully functional computer once more.

I completed the installation of my application software and so far I can report that all applications are running correctly on Windows 7.

Remembering the bronze age

I’ve noticed that Microsoft seem to be a bit mean with the supplied mouse pointers and sample images / videos in Windows 7. The sample images and videos aren’t an issue for me – but I’ve used the 3D bronze mouse pointer for many years, so I was a bit disappointed to see that it wasn’t included in Windows 7.

Maybe this is one trivial reason the Windows 7 setup retains your Vista files in a Windows.old directory? A quick dive into the Windows.old\Cursors directory and I copied the 3D bronze mouse pointers over to my Windows 7 installation. It’s not a perfect solution, but it does mean I’ve got my 3D bronze mouse pointer back in most cases!

Next steps…

I think I’ll try Windows XP Mode next. I’ll report back shortly…