2

Я пытаюсь обновить ОС до Windows 8.1 Pro -> Windows 10 Pro.

Эта проблема

Установщик не выдает сообщения, кроме сообщения о том, что он потерпел неудачу примерно на 23%, открывая setuperr.log, я получаю это в конце, первые две строки, кажется, указывают на проблему:

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

Особенно похоже, что образ winre.wim не может быть смонтирован. Я не знаю, какое совпадает имя файла в папке souce, поэтому я пытаюсь использовать 273 МБ boot.wim.

Смонтировать этот образ на машину, которую я хочу обновить, не удалось. DISM.exe /Mount-Image /ImageFile:c:\temp\boot.wim /Index:1 /MountDir:C:\Temp\offline /ReadOnly

Сообщается, что ошибка произошла с SetFileSize. Там также много свободного места, я проверил, что путь к этому файлу всего 128 символов.

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)

Я предполагаю, что это та же самая ошибка, с которой я столкнулся при обновлении ОС.

Параметр Фальшера означает неверный параметр.

Что я уже пытался исправить

  1. Восстановить системные файлы

    sfc /scannow
    DISM.exe /Online /Cleanup-image /Scanhealth && DISM.exe /Online /Cleanup-image /Restorehealth
    
  2. Установите WADK (комплект для оценки и развертывания), оттуда запустите dism

  3. Сделано много свободного места на диске C:\ (200 ГБ)

  4. Монтирование с одинаковым синтаксисом и файлами в одной позиции на 2 других системах Win 8.1 Pro работает (немецкая и английская версии).

  5. Проверил настройки даты / времени, в настоящее время настроен на немецкий язык, я также пробовал английский (. И, поменян)

Ошибка остается прежней.

Как я могу исправить dism/wim, чтобы снова разрешить монтирование образов?

2 ответа2

3

Если вам удастся полностью установить Windows 10, программа установки рассчитывает в процентах 2 раза.

При первом подсчете, перед перезагрузкой, он копирует необходимые установочные файлы и примерно на 23% монтирует изображение с помощью dism/wim.

Глядя на файл журнала установки, я увидел проблемы с монтированием образа.

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]

В моем случае механизм монтирования образа был сломан, что я проверил, скопировав Windows_10_pro_de_Upgrade.exctracted.iso\sources\boot.wim из папки с исходным кодом установки в C:\temp, а затем выполнив

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

попытаться смонтировать образ, который не удался с кодом ошибки 87. (Папка C:\Temp\offline должна быть создана вручную. Обратите внимание, что после того, как вы успешно смонтировали образ, вы должны снова размонтировать его вручную через

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

)

Затем я мог сравнить поведение на неисправной машине с виртуальной машиной Win 8.1 Pro, где у меня был монтаж. Глядя на файл журнала, я заметил, что у меня проблема с файлом

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

С помощью Process Monitor Sysinternal я мог записывать действия dism.exe и сравнивать их с желаемыми. Я заметил, что неудачное действие (SetFileSize) происходило один раз в рабочем случае монтирования и два раза в случае сбоя. Я посмотрел на трассировку стека сбойного действия и увидел, что в драйвере фильтра cbftlsfs4.sys был один дополнительный вызов.

Сбой работы Stacktrace в Process Monitor

Некоторые поиски в Google показали, что этот файл принадлежит Cloudfogger. Удаление Cloudfogger (я перешел в viivo некоторое время назад после различных проблем с Cloudfogger, поэтому удаление не было проблемой) удалило как драйвер фильтра, так и проблему монтирования.

Обновление Windows 10 сработало впоследствии.

Вероятно, мало кто имеет такую же проблему. На другой машине с более старой версией Cloudfogger у меня не было этой проблемы. Для меня это были 2 дня работы и расследования, и, возможно, это будет полезно для кого-то другого, поэтому я так подробно записал свои шаги.

1

Команда dism.exe может решить проблему. Посмотрите на эту тему:

DISM Restore

В рамках обсуждения размещены 2 файла .bat - посмотрите, что внутри, и запустите себя или используйте их напрямую.

Однако другие пользователи сообщают, что это не удалось исправить, и что им пришлось перезагрузить Win 8.1 - смотрите здесь

Они обвиняют Microsoft (не уверен в этом), но для резервного копирования данных может потребоваться меньше времени и установить Windows 10 в качестве свежей копии и использовать лицензионный ключ 8.1 для активации

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .