The failure is occurring during the compatibility scan because Setup cannot retrieve the system partition NT path:
-
HostIsUEFIDiskLayout: Failed to retrieve system partition NT path -
GetSystemVolumeNtPath: Failed to retrieve system partition NT path -
CFreeSystemPartitionDiskSpaceChecker failed -
Compat scan ... failed. HRESULT = 0x80070003
For 0x80070003, the documented cause is missing or damaged servicing stack content under C:\Windows\WinSxS, which prevents DISM and the upgrade engine from completing upgrade operations.
Recommended path:
- Back up the server before making changes.
- Verify the servicing-stack-related failure indicators in these logs:
-
C:$WINDOWS.~BT\Sources\Panther\SetupAct.log -
C:$WINDOWS.~BT\Sources\Panther\setuperr.logand otherMOSetup/MOU.logs -
C:\Windows\Logs\DISM\DISM.log -
C:\Windows\Logs\CBS\CBS.log
-
0x80070003 -
Failed to open new session: (DISM_{GUID}) -
Operation failed: Process Drivers for Migration. Error: 0x80070003 -
MoSetupPlatform: Using action error code: [0x80070003] -
CDlpActionDriverMigrate::ExecuteRoutine: Result = 0x80070003 -
Failed to bind the online servicing stack - CDISMOSServiceManager::get_ServicingStackDirectory(hr:0x80070003) -
Failed to create worker session
-
- Check
C:\Windows\WinSxSfor servicing stack folders whose names includeservicingstack. Those folders should not be empty. - Confirm the current servicing stack version:
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Version" - Create a temporary folder such as
C:\TemporaryFolder. - Download the latest Servicing Stack Update for the installed Windows version, then extract the
.msupackage:expand -F:* C:\<Path>\update.msu C:\TemporaryFolder - Replace the corrupted servicing stack folders in
C:\Windows\WinSxSusingrobocopy /B. Caution:- Do not take ownership of
WinSxSor change its permissions. -
robocopy /Bis used specifically to preserve file and folder permissions.
Preview only:$src = "C:\TemporaryFolder" $dst = "C:\Windows\WinSxS" $log = "C:\Repair\WinSxS_Repair.log" New-Item -ItemType Directory -Force -Path (Split-Path $log) | Out-Null
Perform the copy:Get-ChildItem -Path $src -Directory -Force | ForEach-Object { & robocopy $_.FullName $dst /E /COPYALL /B /R:0 /W:0 /L /NFL /NDL /NP /NJH /NJS }
Alternative from an elevated Command Prompt:Get-ChildItem -Path $src -Directory -Force | ForEach-Object { & robocopy $_.FullName $dst /E /COPYALL /B /R:0 /W:0 /LOG+:$log }for /d %i in (C:\TemporaryFolder\*) do robocopy "%i" "C:\Windows\WinSxS" /E /COPYALL /B /R:0 /W:0 - Do not take ownership of
- Retry the in-place upgrade after the SSU files are restored.
Since DISM, SFC, and UEFI partition repair were already tried, the next supported remediation from the documentation is to validate and repair the servicing stack files in WinSxS. If the upgrade still fails afterward, the documented guidance is to contact Microsoft Support and provide the missing path or file identified in the logs.