Windows 10 Upgrade: Stops at 23% without error, Dism not mounting boot.wim WIM Image

3

I am attempting an OS Upgrade Windows 8.1 Pro -> Windows 10 Pro.

The Problem

The installer does not give a message apart from saying that it failed at roughly 23%, opening the setuperr.log, I get this at the end, the first 2 lines seem to point to the problem:

2016-07-22 13:23:14, Error                 SP     SPMountWIMCallback: Error mounting/unmouting C:\$WINDOWS.~BT\Sources\SafeOS\SafeOS.Mount\Windows\WinSxS\Temp\PendingDeletes\7a3a0cd544a0d101300100002017d421.CbsMsg.dll. GLE [87][gle=0x00000057]
2016-07-22 13:23:24, Error                 SP     CMountWIM::DoExecute: Failed to mount WIM file C:\$WINDOWS.~BT\Sources\SafeOS\winre.wim. Error 0x80070057[gle=0x00000057]
2016-07-22 13:23:24, Error                 SP     Operation failed: Mount WIM file C:\$WINDOWS.~BT\Sources\SafeOS\winre.wim, index 1 to C:\$WINDOWS.~BT\Sources\SafeOS\SafeOS.Mount. Error: 0x80070057[gle=0x000000b7]
2016-07-22 13:23:24, Error                 MOUPG  MoSetupPlatform: ExecuteCurrentOperations reported failure!
2016-07-22 13:23:24, Error                 MOUPG  MoSetupPlatform: Using action error code: [0x80070057]
2016-07-22 13:23:24, Error                 MOUPG  CDlpActionImageDeploy::ExecuteRoutine(329): Result = 0x80070057
2016-07-22 13:23:25, Error                 MOUPG  CDlpActionImpl<class CDlpErrorImpl<class CDlpObjectInternalImpl<class CUnknownImpl<class IMoSetupDlpAction> > > >::Execute(441): Result = 0x80070057
2016-07-22 13:23:25, Error                 MOUPG  CDlpTask::ExecuteAction(3243): Result = 0x80070057
2016-07-22 13:23:25, Error                 MOUPG  CDlpTask::ExecuteActions(3397): Result = 0x80070057
2016-07-22 13:23:25, Error                 MOUPG  CDlpTask::Execute(1631): Result = 0x80070057
2016-07-22 13:23:25, Error                 MOUPG  CSetupManager::ExecuteTask(2024): Result = 0x80070057
2016-07-22 13:23:25, Error                 MOUPG  CSetupManager::ExecuteTask(1987): Result = 0x80070057
2016-07-22 13:23:25, Error                 MOUPG  CSetupManager::ExecuteInstallMode(804): Result = 0x80070057
2016-07-22 13:23:25, Error                 MOUPG  CSetupManager::ExecuteDownlevelMode(389): Result = 0x80070057
2016-07-22 13:23:31, Error                 MOUPG  CSetupManager::Execute(232): Result = 0x80070057
2016-07-22 13:23:31, Error                 MOUPG  CSetupHost::Execute(371): Result = 0x80070057

Especially, it seems like the winre.wim image could not be mounted. I don't know what the matching file name in the souce folder is, so I am trying with the 273MB boot.wim.

Mounting this image on the machine I want to upgrade fails. DISM.exe /Mount-Image /ImageFile:c:\temp\boot.wim /Index:1 /MountDir:C:\Temp\offline /ReadOnly

Error is reported to be with SetFileSize. There is plenty of free space, also, I checked that the path in total is only 128 chars for that file.

2016-07-22 19:52:19, Info                  DISM   DISM Provider Store: PID=9648 TID=3564 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
[9648] Caller did not request sparse mount
[9648] Mounting new image.
Wim:         [c:\temp\boot.wim]
Image Index: [1]
Mount Path:  [C:\Temp\o]
[9648] [0xc144012e] 
2016-07-22 19:52:21, Error                 DISM   DISM WIM Provider: PID=9648 [CreateDestinationFileEx:(5082) -> SetFileSize failed] C:\Temp\o\Windows\WinSxS\x86_microsoft-windows-b..d-bootfix.resources_31bf3856ad364e35_10.0.10586.0_de-de_7d99a6b16a9ee7bb\bootfix.bin (HRESULT=0x80070057) - CWimManager::WimProviderMsgLogCallback
[9648] [0x80070057] RestoreFileNodeList:(3490): Falscher Parameter.
[9648] [0xc144012e] 
2016-07-22 19:52:21, Error                 DISM   DISM WIM Provider: PID=9648 C:\Temp\o\Windows\WinSxS\x86_microsoft-windows-b..d-bootfix.resources_31bf3856ad364e35_10.0.10586.0_de-de_7d99a6b16a9ee7bb\bootfix.bin (HRESULT=0x80070057) - CWimManager::WimProviderMsgLogCallback
[9648] [0x80070057] RestoreFilesCallback:(5201): Falscher Parameter.
[9648] [0x80070057] EnumImageDataEntries:(1591): Falscher Parameter.
[9648] [0x80070057] RestoreAllData:(2551): Falscher Parameter.
[9648] [0x80070057] WIMApplyImageInternal:(1189): Falscher Parameter.
[9648] [0x80070057] ImageStubMountDirectory:(296): Falscher Parameter.
[9648] [0x80070057] WIMMountImageHandle:(1061): Falscher Parameter.
2016-07-22 19:52:23, Error                 DISM   DISM WIM Provider: PID=9648 TID=3564 Failed to mount the image. - CWimImageInfo::Mount(hr:0x80070057)

I assume this is the very same error I have with the OS upgrade.

Falscher Parameter means Invalid Parameter.

What I have already attempted to fix

  1. Repair System Files

    sfc /scannow
    DISM.exe /Online /Cleanup-image /Scanhealth && DISM.exe /Online /Cleanup-image /Restorehealth
    
  2. Install the WADK (Assessment and Deployment Kit), launch dism from there

  3. Made lots of free space on C:\ drive (200GB)

  4. Mount with same syntax and files at same position on 2 other Win 8.1 Pro systems works (German and English versions).

  5. Checked date/time settings, currently set to German, I also tried English (. and , swapped)

Error stays the same.

How can I fix the dism/wim in order to allow mounting images again?

windows-10
windows-8.1
windows-10-upgrade
dism
asked on Super User Jul 22, 2016 by Andreas Reiff

2 Answers

3

If you manage to completely install Windows 10, there are 2 times where Setup counts up in percent.

The first time it counts up, before the reboot, it copies the necessary setup files, and round about 23%, it mounts an image using dism/wim.

Looking at the setup logfile, I saw problems with image mounting.

2016-07-22 13:23:24, Error                 SP     CMountWIM::DoExecute: Failed to mount WIM file C:\$WINDOWS.~BT\Sources\SafeOS\winre.wim. Error 0x80070057[gle=0x00000057]

In my case, the image mounting mechanism was broken, which I verified by copying Windows_10_pro_de_Upgrade.exctracted.iso\sources\boot.wim from the install source folder to C:\temp and then executing

DISM.exe /Mount-Image /ImageFile:c:\temp\boot.wim /Index:1 /MountDir:C:\Temp\offline /ReadOnly

to attempt to mount the image, which failed with error code 87. (Folder C:\Temp\offline has to be manually created. Please note that once you successfully mounted the image, you should unmount it again manually via

dism /unmount-Wim /MountDir:c:\temp\offline /discard

)

I could then compare the behavior on the faulty machine to a Win 8.1 Pro VM I had, where the mounting worked. Looking at the Logfile, I noticed that I got a problem with file

Windows\WinSxS\x86_microsoft-windows-b..d-bootfix.resources_31bf3856ad364e35_10.0.10586.0_de-de_7d99a6b16a9ee7bb\bootfix.bin

Using Sysinternal's Process Monitor I could record dism.exe's actions and compare them to the desired ones. I noticed that the failed action (SetFileSize) occured once in the working mounting case, and twice in the failing one. I looked at the stacktrace of the failing action and saw that there was one additional call, in filter driver cbftlsfs4.sys.

Stacktrace failing operation in Process Monitor

Some googling revealed that this file belongs to Cloudfogger. Uninstalling Cloudfogger (I moved to viivo some time ago after having different issues with Cloudfogger, so uninstalling was no issue) removed both the filter driver as well as the mounting problem.

The Windows 10 upgrade worked afterwards.

Probably, few people have this exact same issue. On a different machine, with an older version of Cloudfogger, I did not have this issue. For me, it was 2 days of work and investigation, and perhaps this is helpful to someone else, so I wrote down my steps in so much detail.

answered on Super User Jul 25, 2016 by Andreas Reiff
1

The dism.exe command has a potential to fix the issue. Look at this thread:

DISM Restore

As part of the disucssion there are 2 .bat files posted - look at what is inside them and run yourself or use them directly.

However other users report it was not fixable and that they had to reload Win 8.1 - look here

They blame Microsoft (not sure about that) but it might be less time consuming to backup data and install Windows 10 as a fresh copy and use your 8.1 license key to activate

answered on Super User Jul 22, 2016 by TomEus

User contributions licensed under CC BY-SA 3.0