I have previously covered Installing Windows to a Qubes VM (Xen + QEMU HVM) due to the numerous caveats and considerations necessary to produce a comfortable and functional environment. I also have a very particular build order for installing Windows 10 on bare metal which I will outline here in case anyone finds it interesting but mostly to create a space where I can quickly fetch my tools.
In the early days of Windows 10 we were granted a free upgrade from Windows 7 and 8 under the assumption that it was a limited time offer. As many expected this turned out to be mere encouragement for quick adoption; to this day - even after the release of Windows 11 - it is possible to install a fully and legitimately licensed copy of Windows 10 using Windows 7 and 8 keys.
This build order begins with a Windows 7 installation for those cases where the product key sticker has been lost or damaged as it may be possible to recover keys stored in hardware or online or an alternative method of licensing and activation can be used which will still result in a fully and legitimately licensed, unmodified Windows 10 installation. If your product key is still intact/visible/recoverable via the presently installed operating system (if functional and accessible) feel free to skip straight ahead to preparing Windows 10 media.
NOTE: I recently wrote an article that covers how to include virtually every USB 3 and Mass Storage Controller driver missing from the official Windows 7 installation media, among other things if you so desire (applicable to all versions of Windows; XP and later). If you are putting together your Windows installation "forever build" I encourage you to check out Add Missing Hardware Support (Drivers) to Windows Install Media (DVDs, USB Sticks).
NOTE: If you perform a lot of Windows 10/11 installations you may want to check out my unattended Windows 10 and 11 installation answer file (AutoUnattend.xml) template. It can cut your install time down by over one half. And it can cut your frustration with answering the same questions about whether or not to enable Microsoft's spyware over and over by... well... all of it!
If you don't have Windows 10 installation media or images handy now or any time later, "in the field" don't sweat it! I've put together a list of sources at this easy-to-remember address:
- If your machine lacks a product key sticker or the sticker is damaged try booting into the current installation of Windows, if possible. You can recover the product key by opening the Run prompt. Either press Meta (Windows Key) + R or click on Start Menu > Run then enter regedit and hit enter. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft then press Control + F to open the Search Dialogue. Enter DefaultProductKey in the Find what: field and check the Keys checkbox. In the right window pane you will see a ProductId entry. Record your product key; it is shown under the Data column.
- Obtain a clean, unmodified, Microsoft-distributed installation image for Windows 7 and either burn it to CD or write it to a USB stick (download the latest version of Rufus here, unless creating your media from Windows XP which will only work with versions 2.18 and lower)
- At this time you may wish to include an uncompressed copy of the contents of my bootdist.zip archive on your Windows 7 installation media.
- Install the edition of Windows 7 appropriate to your license; you will only be able to install the corresponding edition of Windows 10 later (a Windows 10 Home license is only valid for Windows 10 Home; a Windows 7 Professional, Enterprise and Ultimate license is only valid for Windows 10 Profesional or Enterprise)
- When asked for the product key enter the key shown on your license sticker; if your sticker is missing or damaged simply click Skip
- Generally speaking you will want to delete every existing partition on the primary detected drive and perform a complete, fresh installation (Advanced) to the Unallocated Space (a new partition of appropriate proportions will be automatically created).
- Do not enable automatic updates. The other configuration options, including username and password, are inconsequential at this point as long as you will remember how to log in once after installation is complete.
- Log in to the newly installed Windows 7 instance. You may need to locate network device drivers on a separate machine and copy them by USB or optical media. Connect to your local network and test the Internet connection by opening Internet Explorer or a command prompt and pinging a known working address, i.e. google.ca.
- Check your activation status:
Click on Start, then Control Panel, then click on System and Security, and finally click on System. Then scroll all the way down to the bottom and you should see a section called Windows activation, which says "Windows is activated" and gives you the Product ID. It also includes the genuine Microsoft software logo.
If you are instead presented with an option to Activate Windows Now you can either:
- Enter the product key from your sticker, the previous installation or other records
- Use an alternative method to license and activate Windows. It is important that you first:
- Disable Microsoft Security Essentials/Windows Defender through the System and Security Control Panel if it is available and enabled on your system
- Disable User Account Control (UAC):
- Enter uac into the Start Menu > Run prompt
- Click Change User Account Control settings
- Move the slider down to Never Notify and click OK
- Reboot the system
- Note that my bootdist.zip archive has 32 and 64 bit portable versions of and conventional MSI-style installers for 7zip that allow one to extract files that (without the proper precautions) tend to be automatically erased when they show up on newly inserted USB sticks from most popular (optionally password-protected) compression formats.
- Once your System Control Panel shows that your system has been activated you must install a new browser; the version of Internet Explorer that ships with Windows 7 is too old to display Microsoft's own website for the Windows 10 Download Assistant. A Firefox installer is provided for convenience in my bootdist.zip archive but it will likely cease functioning with age; you are better off downloading a new installer directly from https://www.mozilla.org.
- After installing Firefox (or Chrome, Opera, whatever makes you happy) search for Windows 10 Update Assistant if the direct link https://www.microsoft.com/en-ca/software-download/windows10 no longer works. The Windows 10 Update Assistant is an executable that:
- Will download the installation ISO and automatically burn it to a disc or write it to a USB stick which can either be used for a cold-boot fresh installation or a live upgrade
- Optionally allow you to select software and settings that will be carried over if you choose to use the tool itself to do a live upgrade
- Perform a live upgrade without creating any installation media
We want to take advantage of functions 3 and 1; first we will live-update the system to ensure that your license carries over if you used an alternative method to license and activate your Windows 7 installation, then we will cold-boot off the installation media so we can completely delete both the new Windows 10 installation and the Windows 7 remnants to ensure the maximum amount of space is reclaimed and you are left with a pristine, from-scratch, unmodified Windows 10 environment with a completely legitimate license.
If for whatever reason the Microsoft website detects you are not running a version of Windows that can be upgraded with the Assistant (perhaps you could not find compatible network device drivers and are completing this step on a Linux machine) you will be directed instead to a plain ISO image file download page: https://www.microsoft.com/en-ca/software-download/windows10ISO. This is workable; after burning the ISO with your choice of DVD burning software either insert it into a running Windows installation to launch the upgrade assistant and live-migrate or cold-boot off the media to perform a from-scratch installation.
- It is important that when you open the Windows 10 Update Assistant application that you right-click and select Run as Administrator or the procedure will typically fail. First, use the tool to create installation media (USB stick preferred). The application will exit after it has finished burning your installation DVD or writing your USB stick. Re-open the application by right-clicking and selecting Run as Administrator again. This time live-update the running system to Windows 10, choosing to retain nothing, simply because it will make this process go faster.
- It is important that you unplug your ethernet connection if you have one; if you previously configured a wireless network in Windows 7 the installer will retain its settings after the first reboot - when the menu of available wireless networks is displayed be sure to disconnect from any currently connected network and when prompted click on "I don't have an Internet connection" or you will be sucked into creating or providing Microsoft Account credentials and additional configuration for an installation we are just going to overwrite shortly anyway.
- After the installation of Windows 10 has completed boot into your new Windows 10 environment and check your Internet connection status. At this time you may need to locate network device drivers, if you still have drivers you obtained for Windows 7 it is very likely that the same files will work under Windows 10. Generally it is most important to locate the network drivers where none are automatically found as Windows 10 does a terrific job of automatically downloading other system drivers via Windows Update once it has established an Internet connection.
- After confirming your Internet connection is working verify that your Windows 10 installation is fully licensed and activated: click the Start button then select Settings > Update & Security then select Activation.
- At this time you may wish to include an uncompressed copy of the contents of my bootdist.zip archive on your Windows 10 installation media.
- Reboot your system from the newly created Windows 10 installation media. Make sure your ethernet connection is unplugged!
- Go through the motions of installing Windows 10 again, deleting every partition and performing a full installation on the Unallocated Space; Performing a live-upgrade to Windows 10 from Windows 7 or 8 will guarantee your license carries over but it will also retain several gigabytes of old system files whether you want them or not and will make modifications to your system by "migrating" what is an otherwise barren Windows 7 installation. This final installation procedure will free up valuable hard drive space and ensure you are starting with an environment straight off the assembly line.
- Unless you want the "features" that come with Microsoft Account integration (increased privacy invasion, more convoluted authentication, etc) if you are prompted to join a wireless network or otherwise connect to the Internet at any time during the installation Skip or click on I don't have an Internet Connection - this will allow you to configure a local user account without having to sign up for or provide a Microsoft Account, configure an access PIN and other bothersome strings. If you're not sure, take my advice - you can always change your mind later.
- Once more, boot into your completed Windows 10 installation, check your Internet connection, install network drivers if necessary, verify that you are still fully licensed and activated. If not go back and repeat the relevant steps.
- Open Settings > Updates and configure your system updates to fit better with your usage pattern. The nice thing about using the Windows 10 Update Assistant is it rolls Windows Updates up to roughly the last month into its image so you should not have to wait long for things like graphics drivers to install (at which point you may right-click on the desktop and select Display Settings to adjust your resolution) and should only have to suffer one or two lengthly update-oriented power cycles; pay careful attention to your Power menu while running through the updates if you need to shut down or restart the machine without applying updates for whatever reason (i.e. being kicked out of the coffee shop, etc) since powering off during a pre-startup/post-shutdown update session can, at worst, render your machine unbootable.
- Right click on the Taskbar and open its Settings panel, enable the toggle for Small Icons which will save a lot of space (yet the icons are not much smaller and the margins are needlessly generous...) and most importantly: hide the enormous and wasteful searchbar. To use that functionality simply open the Start Menu and just start typing.
- My bootdist.zip archive contains an installer for W10Privacy which contains hundreds of privacy and optimization focused tweaks and automated tasks; I would encourage you to download the latest version directly from their website when putting together your own installation media supplement and take the time to go through each option. You only need to do this on one system then you are able to save the configuration profile and deploy it on every new installation. Please feel free to review the settings I have chosen in my included W10Privacy.ini file. The installer will give you the option of a typical system installation so you can easily go back and tinker with the settings but this is generally a run-once type of utility so you may prefer to take advantage of the portable binary option, at least once you've settled on a configuration profile. In any case remember to launch the application after it has been installed by right-clicking and selecting Run as Administrator; with so many options to load this can be a time consuming oversight on older systems.
I have taken to compiling lists of software I like to install as soon as a fresh installation of whatever OS is complete. The links go directly to the download pages of various essential software projects so I can rapidly download them all in one shot and the installers I download will always be the latest version, direct from their vendor. I end up with a system that is truly complete and doesn't require my running off at some later stage when I'm busy doing real work to obtain what I consider to be basic functionality.
To ensure that my installations are not bloated I organize the software into cascading profiles that layer functionality on top of eachother depending on what role a system is eventually expected to fulfill, starting with a Base profile that covers all the utilities I expect to be on every (in this case, Windows) installation and increasing in specialization from there. While these profiles obviously conform very tightly to what I personally do, like to use and what my expectations and definition of what any given "role" is hopefully others will get some use out of the time I have put into what is otherwise simply a time-saving measure for myself.
Please check out Windows Software @ foxpa.ws/windows-software if this concept appeals to you.