Q. What happens during a Windows 10 upgrade?
A. There are four key stages related to the Windows 10 upgrade process and a key point is that while an in-place upgrade has been available for a long time it has been avoided in enterprises as very mixed results were found. Huge amounts of work has been done around the in-place upgrade to Windows 10 making it now the preferred option. This FAQ will walk through the four phases that are not always obvious, but happen none the less during the Windows 10 upgrade. I've tried to name the phases what you see on the screen during the upgrade about the actions that are currently being performed.
A great analogy is to think of an egg. The egg yolk is the OS and this is the part being replaced. Everything else is the egg white (data, settings, applications and drivers) which needs to be moved to the new OS.
This runs in the existing operating system and performs the following:
- Check the system for new OS compatibility. Are necessary resources available to upgrade (storage based on advanced heuristics/compression etc, available RAM 1Gb for 32-bit, 2Gb for 64-bit, are primary storage class and network class drivers available)
- Inventory applications and drivers(including drivers for hardware not currently connected). This is "scanning the egg white"
- Performs a dynamic update from Windows Update to get latest updates if not already in the install.wim
- Inventory found compared against compatibility database (continually updated by Microsoft, pulled from Windows Update and replaces the on-media version and also includes mitigations to enable actions where possible)
- Prepare the WinRE which includes injecting boot critical drivers into the WinRE.wim
Setting up phases (boot to WinRE)
- Backup of the down-level OS to windows.old (enables go back to old OS if needed). Actually not a rename or copy but rather hardlinks to content.
- Lay down the new OS on disk (folder hierarchy)
- Inject some drivers into the new OS driver store and offline migration tasks
Applying PC Settings phases (1st boot to New OS)
- Specialize the OS to make it an instance and bind to the machine
- Install drivers
- Migrate applications
- Other migration tasks
Setting up a few more things phases (2nd boot to New OS)
- Clean boot to final OS
- Finalize upgrade
- Welcome user
- Out-of-box-experience (OOBE)