Updating to Windows 10 — 1

I have Windows 7 installed on a separate machine. The machine is isolated from my LAN using a VLAN port on my router. I run Ubuntu MATE 16.04 as a prophylactic to Windows 7. I prefer to run Windows 7 in a virtual machine (VM) using raw disk access rather than run directly

I have been running Windows 7 free of all Windows 10 patches.

While I use the Windows machine only for curiosity and nominal testing, I figured the proverbial handwriting was on the wall. I decided to accept an entitlement license to Windows 10.

Yes, an operating system that by most definitions acts exactly like malware.

My decision developed into a Keystone Kops adventure.

Two summers ago I purchased the machine as a refurbished OEM box. The system came with a System Reserved partition, a Windows 7 C: partition, and a Recovery partition. As the partition scheme uses MBR rather than GPT, I shrunk the Windows C: partition, moved the Recovery partition, created an extended partition to install a Linux system. No sense in wasting drive space.

I have been using the system in that manner for quite a while.

Linux and GRUB don’t care where they are installed.

Windows does.

All journeys start with a single step. First things first. Backup everything by cloning the drive.

My first update effort was to perform a clean install of Windows 10 in a separate VM. No problems. Smooth as silk. I would use the Windows 7 product key to activate. Version 1511 of Windows 10 is supposed to accept Windows 7 keys. My thinking was to at least get an activation and then convert the VM to a physical partition.

The activation failed as the mechanism repeatedly reported the key is being used on another PC. Yes, I have a genuine Windows 7 license. Windows 7 says so.

Despite the activation failure I proceeded with my plan. I repeated the exercise except this time within the VM I used a raw disk partition. While Windows can be installed this way, there is no way to boot from that location. I worked around that by creating a GRUB boot ISO. As the system was in a VM, an ISO boot image did not affect convenience. I also wanted the ISO image because I did not want to boot either Windows 7 or 10 and manually respond to a Windows dual boot menu.

I attempted to create a standard user account. Something went awry and the computer halted. I waited a long time, possibly a half-hour and nothing. As there is no way to intercede, monitor, or perform a safe shutdown, I powered down. Never a good idea but what else to do?

I tried again creating the non standard account. The process completed in seconds. I logged in. Unknown to me, this event created a second ProfileImagePath directory of the same root name. Because I had used the same account name in both attempts, the registry was pointing to the first user directory that was created of which the new instance of the account did not have permissions. Digging around the web revealed hacking the registry and deleting the corrupted profile directory.

I still had no activation. These side journeys were mildly educational but fruitless. All because the Windows 7 product key does not work as advertised. Otherwise I would have finished this project.

This should have been easy. Thus begins a journey into the abyss.

On to Plan B, which was to install Windows 10 directly onto the Windows 7 system. That way whatever product key the Windows 7 system thought was active would get passed to Windows 10.

Updating from within the virtual machine environment proved challenging.

First, the Windows 10 installer complained about not finding support for CompareExchange128.

A quick visit to the web found the solution.

vboxmanage setextradata "{VM Name}" VBoxInternal/CPUM/CMPXCHG16B 1

Next Windows 10 complained about not finding 2 GB of RAM. I allocated 1.5 GB to the Windows 7 VM. As I have 4 GB of RAM in the system, changing the VM to use 2 GB resulted in VirtualBox complaining because the assigned amount is 50% or more of the actual RAM. The VirtualBox complaint is not critical. I proceeded.

The update failed. If I remember correctly the problem was alleged insufficient disk space. I knew the error was caused by something unrelated to the content of the message because the C: partition had 90 GB of free space, but I did not know the root cause.

On to Plan C, which was to bypass the VM and boot directly into Windows 7 to perform the update.

Not what I wanted but doable as a temporary work-around. I would restore the VM after updating.

That too failed. Eventually I learned I had to blow away GRUB from the MBR and restore the Windows MBR. Upon reflection I suspect this is why the update failed in the VM too. For whatever reason, the installer is not designed to determine the amount of free space unless Windows controls the MBR.

Remembering that this system was running in a VM, I removed the VirtualBox Guest Additions to avoid problems with the video and display detection.

Then I found more pebbles in my shoes. I had been meticulously avoiding Windows 10 and all non security patches, some of which include sneaking the Windows 10 nag notices onto a system. I removed the GWX Control Panel to allow the nag notice to install.

The update process downloaded about 3 GB of files. On my single digit Mbps connection that means finding other things to do for a while.

The update failed. The process reset itself back to Windows 7.

And unbelievably deleted all of the downloaded Windows 10 files. Bandwidth must be horribly inexpensive and fast in Redmond.

I suspected the failure was I had not allowed many patches. I unhid all patches and forced them all to install. Then waited through the silly Windows rebooting and “Don’t shut off the computer” game.

Finally I decided the Windows 7 system was fully updated, which included all of the backported Windows 10 telemetry nonsense.

The update process again downloaded those gigabytes of files. On my single digit Mbps connection that meant again finding other things to do for a while.

Did I mention I face severe usage caps? Two download sessions of 3 GB each do not help.

From that point forward the update moved along without event. I performed a custom install to disable some of the data mining and privacy intrusive features.

Posted: Category: Usability Tagged: General, Windows

Next: Updating to Windows 10 — 2

Previous: Free Is Seldom Free