Two methods: Before doing either of these you should backup your entire system drive to another drive, in case the process fails. Macrium reflect is good for this, and the free version will work so long as you're able to put your system drive in another computer. Alternatively you can use Partedmagic. (note: older versions of partedmagic may not backup/restore properly on some GPT partitions) 1. Clean install. Install from flash drive on boot (you can create a Win10 flash drive with Microsoft's Windows installer Tool). Use your Windows 7 key, and it will register on the Win10 servers as upgraded. Done. This method does not work in all scenarios ie. some vendor-specific Win7 licenses like HP occasionally fail this way. Obviously back up all your data before doing this method, as it will wipe your current installation. 2. Upgrade install. Use the older version of the Win10 upgrade assistant (a copy is here) from within windows. Later versions of the upgrade assistant will not upgrade from Win7 unless you've previously upgraded or have bought a Windows 10 license. This installer will download and upgrade to Win10 1709. You will then need to upgrade to the most recent version afterwards, using Microsoft's Windows installer Tool. This method has the advantage of working on all Win7 licenses, however I have seen at least one upgrade fail this way. You can speed up the process for multiple machines (if you already happen to have the 1709 .esd file already), by starting the upgrade, cancelling it, then replacing the .esd file in the upgrade folder (under C:\Windows10Upgrade) with your pre-downloaded platform-appropriate Win10 1709 .esd file (renamed to the same name as the one currently in the windows10upgrade folder). Then start the process again (the .esd will be verified). Note that it does not work to put in a non-1709 .esd file. In both cases I recommend using Snappy Driver Installer post-installation to install any device drivers which Win10 doesn't initially find. Do not use it to update drivers to the most recent versions, as I have seen this cause issues sometimes. Hopefully this helps.