Windows 7 to Windows 10 in a KVM

The story of upgrading my Windows 7 KVM virtual machine to Windows 10.

I made a base Windows 7 qcow2 image file to be the backing file for the image I'm about to upgrade to Windows 10 (so I can revert to the base image and get back my undamaged Windows 7 if this all screws up).

The windows 10 update app in my Windows 7 KVM tells me I can't update because there isn't a new QXL driver.

Inside virtual machine, remove the QXL video device and driver, shutdown, tell the virt-manager machine definition to use VGA and reboot KVM.

Naturally, it still complains about QXL because it is using the old same compatibility update info from before.

Google how the heck to make it rerun the compatibility check. Go to the task scheduler app from the control panel. Dig down the tree for Microsoft/Windows/Application Experience Right click on Microsoft Compatibility Appraiser and say "Run", followed by waiting about 30 minutes to give it time to update.

Click on windows 10 upgrade app again, this time it let me schedule an upgrade, but doesn't download now.

Run regedit and locate the registry key: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade]
and set the value to 1.

Run Windows Update.

Now I am finally offered the Windows 10 upgrade, so tell it to download.

It downloaded and says preparing for installation, but now I see vast network downloading going on, so I guess it only downloaded the initial chunk and now it is downloading more stuff.

Took a while, I've now agreed to a bunch of license stuff I didn't read and I'm ready to restart to do the upgrade.

Made it through the Configuring Ugrade to Windows 10 spinning arrow, rebooted, and now is on the Upgrading Windows big circle with %done in the middle. This is not fast, so I'll probably leave it for a while and come back later to see what happened...

Went away for an hour or two and came back to it asking about what settings I wanted. Seems to have worked! (I found stories on the web about this always failing in KVM and needing the machine type changed, but it worked fine for me).

But wait! It is now telling me not to turn off my PC again, so I guess there is more rebooting before it is really done.

Next thing to do is check out all the drivers and see what I need. In particular I really need to get QXL back...

Hot dog! I got http://people.redhat.com/~vrozenfe/qxlwddm/qxlwddm-0.12.zip (after a web search) and installed it and it seems to work (using the win8 directory drivers since there is no win10 directory), so now I can get a bigger display.

I also found this for latest stable virtio drivers:

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

I got the storage and network drivers updated from them.

Seems to be functioning OK.

Since I have the old windows 7 base image, I don't need to keep the restore files around in the windows 10 image, so I ran disk cleanup, cleanup system files, and selected everything (especially the previous system image). You have to reboot for all this to happen completely, but that got the used space down to about 13GB (which is smaller that the 21GB windows 7 image I started with, so I'm not sure what has gone missing :-).

When through the add/remove programs list and removed all kinds of utter crap windows 10 apparently comes with (twitter apps, etc). There is some utter crap it won't let me remove though, so I'm just leaving it (though I could probably google for how to delete it as well).

I'm now doing a defrag of the cleaned up disk.

Now I can run sdelete -z to zero out all the un-used disk space then shutdown the KVM. (Sdelete is a little utility I found on the web a long time ago).

Outside the KVM back on the host run:

qemu-img convert -f qcow2 -O qcow2 windows7.img windows10-base.img

That will convert the image file from qcow2 to qcow2, but with the beneficial side effect of leaving out all the blocks of zero data to give me a much smaller file.

Now I can use the new base file as the backing store for the Windows 7 KVM I started with and I'll be running Windows 10.

Page last modified Mon Dec 28 13:21:23 2015