While trying to install Windows 10 into a virtual machine so that I could upgrade that virtual machine to Windows 11, I was stopped by the useless error message “Windows cannot find the Microsoft Software License Terms. Make sure the installation sources are valid and restart the installation.” After fiddling around for a while, I was able to find a solution that worked.
It turns out that this error message actually means something completely different than what it says: there’s something wrong with this computer.
You’ll typically get this message when you’re installing into a virtual machine and you’ve got something configured in a weird way that isn’t normal for a Windows 10 or 11 computer. For example, here are some of the reasons you might have an issue:
- You have dynamic memory enabled in Hyper-V
This was the problem that I had, and turning off dynamic memory immediately solved the problem. See below for how to do that.
- Not enough memory is allocated to the virtual machine
If you’re trying to install into a virtual machine that doesn’t have much RAM assigned to it, Windows might just fail.
- Your VMware virtual machine has a floppy drive
Yeah, Windows 10 really doesn’t like floppy drives, and will possibly fail to install in a virtual machine if you have one.
- Secure Boot Isn’t Enabled
You’re going to want to have secure boot enabled. See below for the details.
- Create a Blank Virtual Machine and Try Again
Sometimes the virtual machine software you’re using has default settings that are incorrect, so you can create a virtual machine template manually with the right settings, and then mount the ISO and do the install.
- Something is wrong with your installation media
Try downloading the ISO image again or using another flash drive.
It’s entirely possible that something else causes this error, but these are the solutions that we came across while researching.
How to Disable Dynamic Memory in Hyper-V
Open up the Hyper-V Manager, find your virtual machine in the list, and open the settings by right-clicking or using the Actions pane on the right-hand side. Head down to Memory and then uncheck the option for “Enable Dynamic Memory.”
You’ll want to make sure that you’ve assigned enough RAM to the VM for Windows to actually function properly.
Close the dialog, restart your VM, and it should start working right away.
How to Enable Secure Boot in Hyper-V
Open up the Hyper-V Manager and open the settings for your virtual machine. In the left-hand pane find Security, and then check the option for “Enable Secure Boot”.
This option should really be checked by default, but sometimes creating a virtual machine template by hand might cause it to be unchecked.
You should be able to attach the ISO and finish the installation at this point.