Windows 10 Upgrade Experience for VirtualBox

Upgrading my Windows 7 image running in VirtualBox proved to be one of the more frustrating upgrades, but ultimately quite easy–once I figured out the secret. The article that follows dicusses what I recommend as an approach to the upgrade, though this is not the way I got to the end.

VirtualBox Snapshot

Upgrading to Windows 10 in a virtual machine is relatively easy and risk free if you take a snapshot before you upgrade; you can always restore to the snapshot if there are problems with the upgrade.

Download the Compatibility Testing Tools

When I used the little Windows 10 upgrade icon in the lower right corner to attempt to upgrade, it universally told me that my graphics drivers were not supported. I went through many gyrations and settings changes to no avail. I finally downloaded the windows10upgrade9252.exe upgrade tool from the Microsoft website; you must access it from within the Windows VM, as Microsoft will not show you all of the options if you are surfing from a Linux or Mac. I ran the downloaded tool and it’s compatibility test indicated that my hardware would run Windows 10 and proceeded with the upgrade. The upgrade ran without problems.

Figure 1. Download the Windows 10 Upgrade tool from the Microsoft Website
Download the Windows 10 Upgrade tool directly from the Microsoft web site

Compatibility for Windows 10 Upgrade

The Windows 10 compatibility tester that installed via Windows Update indicated that my graphics adapter was not supported as shown in Figure 1. In attempts to fix the problem, I ended up making several changes that were recommended by various web threads. These may have contributed to getting the windows10upgrade9252.exe installer to work.

Figure 1. Error message for display adapter problem in when running Windows under VirtualBox.
Windows 10 upgrade error message when upgrading a VirtualBox machine

Attempt #1–Enable PAE/NX

The first recommendation that I found was to enable PAE/NX; it was already enabled as shown in Figure 2.

Figure 2. My VitualBox configuration didn't have the PAE/NX instruction enabled on the processor tab.

Adding the PAE/NX instruction didn’t fix the processor compatibility problem listed by the Windows virtual machine.

Attempt #2–Remove VirtualBox 4.1.12 Guest Additions

This machine showed high CPU use for “hardware interrupts and DPC”. One of the problem determination commentaries on this problem suggested removing the VirtualBox Guest Additions. This did not fix anything.

Since I lost my dual-screen setup when I removed the extensions, I reinstalled the extension and tried to enable accellerated 3D--but got a message that I had to boot in safe mode to install the extensions with the accellerations enabled.

Attempt #3–Upgrading VirtualBox from 4.1.12

The version of VirtualBox that is part of my base Ubuntu distribution was 4.1.12–quite old, as the current release of Virtualbox is 5.0.2 as of September 5, 2015. The VirtualBox web site at Download VirtualBox for Linux Hosts has instructions for adding apt-get repositories to allow installation of the newer versions of VirtualBox.

This step involves a lot of backups prior to attempting it so that there is an easy way to roll back.

VirtualBox 4.3

sudo apt-get update sudo apt-get install virtualbox-4.3

VirtualBox 5.0

sudo apt-get update sudo apt-get install virtualbox-5.0

This had a number of improvements, but did not fix the Windows 10 upgrade problem.

Attempt #4–Change Paravirtualization Settings

Set paravirtualization to default from legacy. This did not fix the problem.

Attempt #5–Disable 3D Acceleration in VirtualBox Settings

One web post suggested disabling 3D video acceleration. This did not fix the problem.

Attempt #6–Install from ISO Disks

The final web post suggested forcing the installation using ISO images. In this process, I found the upgrade tool windows10upgrade9252.exe which did not find the incompatibility that the Windows Update installer found. Although I did not have to download an ISO image, I was able to use this tool to upgrade the machine.