You are hereGetting Windows 10 to Install Using qemu and kvm

Getting Windows 10 to Install Using qemu and kvm

By steve - Posted on 10 September 2015

I use a lot of different VMs for testing software and running one-off programs. My setup is a 16GB Dell Precision Laptop with an i7 quad core running Ubuntu (really "Elementary OS" which is based on Ubuntu, but eOS has a super-slick desktop that I really like) and a 1TB SSD. I use kvm to host my various VMs which include versions of Ubuntu, Windows 7, etc. When I get around to it, I'll switch to Docker or Rocket and use the container model, but for now it was just easier to build (or clone) a tiny VM when I need it.

I've been using this VM setup for a while and it worked fine with WinXP, Win7, Ubuntu, etc, but when I wanted to copy my Win7 image and upgrade to Win10, I faced a LOT of frustration. All the combinations of configuration on the KVM panel failed to get past the 0xc1900101-0x30018 error and the "The installation failed in the SAFE_OS phase with an error during BOOT operation. 0xC1900101 – 0x20017" error I would get. The Win10 upgrade would fail and I'd be back to starting over.

I tried a bunch of suggestions (mostly change my video card, change my disk interface from IDE to SATA or SATA to SCSI or... etc.), but none of those things helped.

I finally figured it out after reading about similar problems with KVM and Windows 8.1 upgrades to Win 10...

The simplest explanation is to say that you need to ratchet back your settings on the VM (or maybe just set them to something other than default) and go back to a simpler processor.

I opened the VM manager and changed these:

  • cpu model: core2duo
  • cpu features: nx=require
  • I also adjusted the sockets/cores/threads settings, but I don't think that mattered.

I started up the installation process again and boom!, it worked!!! I think the setup BOOT process just didn't pull a good or usable CPU ID when I didn't predefine it. I may or may not have needed to use core2duo, but I did and that worked, so I'm suggesting that.

After installation succeeded, I switched these things back to my preferred settings, rebooted, and everything kept working!

A couple of other things of note, when upgrading to Win10 in KVM:

  • I switched my NIC from the rtl8139 to the e1000. It didn't help with the error, but I liked it that way so I left it.
  • I switched from the generic VGA driver to the Cirrus one, but that didn't look like it helped.
  • You need about a 30GB disk, assuming you are JUST running Win7 and no other software of any size (ie you don't have Office 20xx installed). I tried upgrading a 20GB disk and it told me I was short by about 5GB for the 9GB of workspace needed. You can add a temporary virtual disk and add it to the VM or just expand the space allocated to the VM (that's what I did, since I wasn't sure how much I would need AFTER the upgrade). The space doesn't need to be in your system (usually C:) drive, according to the installer, so adding an empty vdisk and formatting it and making it available inside the guest vm should do the trick, if I have to do this again.
  • Make sure you have already activated your Win7 license before you try to upgrade to Win10 since it asks you for a Win10 license key, if you don't.

Hi tanks for sharing this information.

I tried your recommendation and started by selecting processor and network card as recommended. Installation went ahead but stalled at 100% CPU after first reboot.

After also selecting videocard the install completed succesfully.


Did this help you? You can help me!

Did you find this information helpful? You can help me back by linking to this page, purchasing from my sponsors, or posting a comment!

+One me on Google:

Follow me on twitter:


Affiliation Badges