Note that what follows is not a how-to guide. Rather, a recollection of an experience. I am not an expert in this area. And what worked for me may not necessarily work for you, even if you replicate each step to the very best. Worse, there is a very realistic probability of bricking your computer for good and the possibility of voiding your warranty. The purpose of writing about this experience is to contribute to the existing body of knowledge on this subject. I am not in a position to provide any kind of support whatsoever. Please also read the disclaimer.
What is Hardware Virtualization?
Hardware Virtualization is the capability of a computer’s processor and/or motherboard to allow the operating system to to run another operating system. Usually, the host operating system pretends to emulate the hardware requirements of the other operating system. Hardware Virtualization further supplements this by allowing the secondary operating system to access the capabilities of the processor and/or motherboard in a more direct manner, resulting in more performance. For more information, check Wikipedia.
Why enable Hardware Virtualization?
When Windows 7 was rolled out, they offered a nifty feature called Windows Virtual PC as an optional download. The Windows Virtual PC allows running Windows XP inside a window within Windows 7. There are some very specific reasons why you would want to do this.
- You may want to run programs that can only be run in Windows XP, thanks to lazy developers who are not patching/updating their software. Normally, most programs that can be run in Windows XP can be run in Windows 7, because Windows 7 comes equipped with a compatibility mode to address this problem. But there are some programs that just don’t want to leave their home environment. Windows 7 initially made the capability of hardware virtualization mandatory to run Windows Virtual PC. But since then, they have released another patch which allows Windows Virtual PC to run on a computer without hardware virtualization or without having hardware virtualization enabled. If you intend to enable hardware virtualization just for running Windows Virtual PC, you may gain slightly better performance.
- You are a computer programmer, and you require hardware virtualization in order to run not just Windows Virtual PC but other emulated environments as well.
Other than the above two reasons, enabling hardware virtualization has no other tangible benefits. Enabling hardware virtualization to overcome a feeling of deprivation is not a worthy pursuit.
Why did SONY disable hardware virtualization on some laptops?
SONY disabled hardware virtualization on some laptops by providing these laptops with rudimentary BIOS (that screen that comes up when you boot). Unlike typical BIOS, the BIOS simply did not have the feature for users to enable or disable hardware virtualization. When an advanced user buys a high end laptop, he or she expects to “play” with the BIOS. And being provided with a “limited feature” BIOS is not what he or she would expect.
SONY has been evasive in providing an answer. Clearly, this was not done to cut costs. There have been all sorts of speculation about this, and following the uproar, SONY did release new BIOS updates for select laptops. To check if your SONY laptop has a new BIOS update that enables hardware virtualization, go to Sony eSupport. This issue started gaining momentum around August 2009, coinciding with beta releases of Windows 7. Users who wanted to upgrade to Windows 7 and who also wanted to take full advantage of Windows Virtual PC. Assuming that SONY has learnt its lesson, we can assume that new laptops are not having hardware virtualization disabled. It wouldn’t hurt to check the BIOS in the showroom before purchasing a SONY computer.
Note: As of this date, SONY has released no patches for VGN-CR320 that enable hardware virtualization. A SONY customer support rep declined to comment on the possible future release of an updated BIOS.
Enabling Hardware Virtualization
The first thing to do is to check if your computer has hardware virtualization, and whether or not it is turned on. The easiest way to accomplish this is to get into the BIOS during boot. But the VGN-CR320 comes with a rudimentary Phoenix BIOS that does not give any such information.
Therefore, the next step is downloading a Windows utility that checks whether or not hardware virtualization is supported on the computer. This utility gives some useful feedback, such as whether or not the BIOS has enabled or disabled the feature. In this case, the utility reported that even though the computer had hardware virtualization enabled, the BIOS had disabled it.
As a double-check, also download and run the Intel Processor Identification utility. The VAIO VGN-CR320 comes equipped with an Intel Centrino Santa Rosa Platform (2007). According to the Intel Processor Identification utility, it has hardware virtualization capability.
The VAIO VGN-CR320 I was provided with has the latest updated BIOS (Phoenix Technologies LTD R2101Q0, 02/06/2008). You can check which BIOS version you have by going to Programs>Accessories>System>System Information. If you don’t have this BIOS, you can get it from the Sony eSupport website.
Based on two lists compiled by nerds hardware enthusiasts (1,2), you can determine that for this particular BIOS, the registry number 05BB corresponds to enabling or disabling the hardware virtualization. Note that this number may will not be the same if you have a different BIOS version. And remember, these lists appear to have been compiled on a trial and error basis. Therefore use at your own risk.
Now comes the tricky part; modifying your BIOS such that hardware virtualization is turned on. Right now, the value associated with registry number 05BB is 0000 (off). Changing that value to 0001 would thus turn on hardware virtualization.
For doing this, we need to download a utility called SYMCMOS, that allows us to modify the BIOS settings.
Next, find an empty USB stick to create a bootable drive. Booting to USB must be enabled in your BIOS. Then download and install the HP USB Disk Format Tool. Also download Windows 98 system files. We are using them only because they help in booting to DOS (which we need to run SYMCMOS). Now run the HP USB Disk Format Tool and point it to the location where you downloaded and unzipped the Windows 98 system files to create a bootable USB drive. Once this is done, copy SYMCMOS.exe to the USB drive as well. Shut down the computer.
Turn on your computer with the USB stick plugged in. The computer should boot to DOS. Type:
Turn your computer off, boot to Windows and access the USB stick. There should be a new text file called BIOS. Open it in notepad and search for REG 05BB. Corresponding to it, you should see a value 0000. Change it to 0001 and save the file.
Boot to DOS again and type:
Turn off your computer and boot to Windows. The Windows utility should report that hardware virtualization is enabled and that you are clear to install Windows XP mode.
Thanks to these two posts for making it possible.