I recently encountered some issues when trying to upgrade to Windows 8.1 in my virtual environments (using VirtualBox). I was running Windows 8 and decided to use the Windows Store to upgrade to Windows 8.1. I had done this on my physical tablet/ computers so it should have also worked on the virtual environments. Not so fast says Windows Store. You don’t have sufficient hardware to run Windows 8.1. This was true on both my Mac and on my Dell XSP-17. I thought others might be interested in how I resolved this.After a little digging, I discovered that you need to upgrade to the latest version of VirtualBox. That was 4.3. I was running 4.2. I also upgraded the Guest additions. Unfortunately, this did not solve my problem. Further digging revealed that you need to include special information (extra data).
First, on your host system (open a command shell in Windows or terminal on your Mac). In the Windows environment, I recommend navigating to the location where you installed the application. In my case, it was C:\Program Files\Oracle\VirtualBox\ (your mileage may vary). Of course, if you have this defined in your environment variables, you don’t need to do this. Once you are in the proper spot, run the following command: VBoxManage.exe list vms
This will list all the virtual machines you presently have defined. See the screen capture below. You may have to click on the image to enlarge it.
Note that I named my Windows 8 environment Windows 8. Clever, huh? Since I have a space in the name, I will need to use quotes when referencing this environment.
I next needed to issue the following command (and it works in both Windows and Mac).
VBoxManage.exe” setextradata “Windows 8” VBoxInternal/CPUM/CMPXCHG16B 1
This activates a switch so that Windows 8.1 understands you have the appropriate hardware. For those who are really curious, in the current version of VirtualBox, CMPXCHG16B is set to false (0) by default. This switch needs to be set to true (1) in order to install the upgrade to Windows 8. Once you have run the command, you should be able to install the upgrade to Windows 8.1. I would expect some future version of VirtualBox will have this automatically included.
Now for those who really want to know what is going on, I refer you to this Wikipedia article on processor info and feature bits. [Do a find in page for cx16]. I suspect most will just want to execute the above command and confirm they are able to upgrade to Windows 8.1. I suspect that one will also need to set this flag for working with Windows Server 2012 upgrades. I am curious if you find this information useful. I look forward to your comments (I must approve them first due to the high level of spam comments).