When performing a Windows Server 2012 in-place upgrade to Windows Server 2016, and you get an error pops up saying just that the upgrade has failed, the first thing to do is look at the logs.
Location of the Windows Server 2016 in-place upgrade: C:\$Windows.~BT\Sources\panther\setupact.log
More info regarding log files that are created when you upgrade to a new version of Windows: https://support.microsoft.com/en-us/help/928901/log-files-that-are-created-when-you-upgrade-to-a-new-version-of-window
If you got these two errors below, we have the solution for you.
Error MOUPG CDlpActionProductKeyValidate::ReportDownlevelInstallChannel(2896): Result = 0x80070490[gle=0x00000002]
Error MOUPG ProductKey: Failed to report Host OS channel to telemetry.[gle=0x00000002]
The system was not able to mount the WIM file, so what can be preventing this to happen?
A filter driver could be causing this error. To find the filter driver, run this:
CBFLTFS4 is a CallBackFilter develped by Eldos.
According to Eldos:
Callback File System (CBFS) lets you create virtual file systems and disks that expose and manage remote data as if these data were files on the local disk.
Callback File System is an SDK (software development kit, a component for use in software development) for Windows® platform.
We have it in our remote application host server because we have installed Liquidware Labs’ ProfileUnity.
We need to temporarily disable this filter driver.
In order to do that we need to change the registry key:
Restart the machine
You can also run this command line:
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cbfltfs4 /v Start /t REG_DWORD /d 4 /f
Enable Startup automatically (To run after the machine is upgraded)
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cbfltfs4 /v Start /t REG_DWORD /d 0 /f
Reference: Charlie Chang Blog