Мне потребовалось несколько часов, чтобы решить эту проблему, потому что локальное хранилище компонентов было повреждено, и компьютеры обращаются к локальному серверу WSUS вместо общедоступного сервера обновлений Microsoft (и потому что я использую Dism очень редко). Для справки и для помощи другим людям с той же проблемой я напишу описание проблемы и предоставлю решение.
После обновления до Windows 10 Pro версии 1511 (сборка 10586) у меня возникла проблема с поврежденным файлом opencl.dll в нескольких местах.
Я пытался sfc.exe /scannow
, но это не помогло решить проблему. Сообщения об ошибках, среди прочего:
2015-12-08 08:50:43, Info CSI 00003c3a Hashes for file member \SystemRoot\WinSxS\wow64_microsoft-windows-r..xwddmdriver-wow64-c_31bf3856ad364e35_10.0.10586.0_none_3dae054b56911c22\opencl.dll do not match actual file [l:10]"opencl.dll" :
Found: {l:32 g2VAunZ6/2J1G3oL7kf9fjInPUA9VYeiJcl9VKgizaY=} Expected: {l:32 9rnAnuwzPjMQA7sW63oNAVhckspIngsqJXKYSUeQ5Do=}
2015-12-08 08:50:43, Info CSI 00003c3b [SR] Cannot repair member file [l:10]"opencl.dll" of microsoft-windows-RemoteFX-clientVM-RemoteFXWDDMDriver-WOW64-C, version 10.0.10586.0, arch Host= amd64 Guest= x86, nonSxS, pkt {l:8 b:31bf3856ad364e35} in the store, hash mismatch
2015-12-08 08:50:43, Info CSI 00003c3c [SR] This component was referenced by [l:125]"Microsoft-Windows-RemoteFX-VM-Setup-Package~31bf3856ad364e35~amd64~~10.0.10586.0.RemoteFX clientVM and UMTS files and regkeys"
2015-12-08 08:50:43, Info CSI 00003c3d Hashes for file member \??\C:\WINDOWS\SysWOW64\opencl.dll do not match actual file [l:10]"opencl.dll" :
Found: {l:32 g2VAunZ6/2J1G3oL7kf9fjInPUA9VYeiJcl9VKgizaY=} Expected: {l:32 9rnAnuwzPjMQA7sW63oNAVhckspIngsqJXKYSUeQ5Do=}
2015-12-08 08:50:43, Info CSI 00003c3e Hashes for file member \SystemRoot\WinSxS\wow64_microsoft-windows-r..xwddmdriver-wow64-c_31bf3856ad364e35_10.0.10586.0_none_3dae054b56911c22\opencl.dll do not match actual file [l:10]"opencl.dll" :
Found: {l:32 g2VAunZ6/2J1G3oL7kf9fjInPUA9VYeiJcl9VKgizaY=} Expected: {l:32 9rnAnuwzPjMQA7sW63oNAVhckspIngsqJXKYSUeQ5Do=}
2015-12-08 08:50:43, Info CSI 00003c3f [SR] Could not reproject corrupted file [l:23 ml:24]"\??\C:\WINDOWS\SysWOW64"\[l:10]"opencl.dll"; source file in store is also corrupted
Хорошо, теперь проблема ясна. К сожалению, SFC не может устранить повреждение, поскольку локальное хранилище компонентов также повреждено. К сожалению, я потерял сообщения об ошибках, указывающие на повреждения хранилища компонентов.
Поэтому я пытался Dism /Online /Cleanup-Image /RestoreHealth
безрезультатно. Сбой с ошибкой 0x800f081f , что указывает на другую проблему с исходными файлами.
2015-12-08 08:57:35, Info CBS Exec: Download qualification evaluation, business scenario: Manual Corruption Repair
2015-12-08 08:57:35, Info CBS Exec: Clients specified using Windows Update.
2015-12-08 08:57:35, Info CBS WU: Update service is not default AU service, skip. URL: https://fe2.update.microsoft.com/v6/, Name: Microsoft Update
2015-12-08 08:57:35, Info CBS WU: Update service is not default AU service, skip. URL: https://fe2.ws.microsoft.com/v6/, Name: Windows Store
2015-12-08 08:57:35, Info CBS WU: Update service is not default AU service, skip. URL: https://fe3.delivery.mp.microsoft.com/, Name: Windows Store (DCat Prod)
2015-12-08 08:57:35, Info CBS WU: WSUS service is the default, URL: (null), Name: Windows Server Update Service
2015-12-08 08:57:35, Info CBS DWLD:Search is done, set download progress to 20 percent.
2015-12-08 08:57:35, Info CBS Nothing to download, unexpected
2015-12-08 08:57:35, Info CBS Failed to collect payload and there is nothing to repair. [HRESULT = 0x800f081f - CBS_E_SOURCE_MISSING]
2015-12-08 08:57:35, Info CBS Failed to repair store. [HRESULT = 0x800f081f - CBS_E_SOURCE_MISSING]
Глядя на сообщения об ошибках, становится ясно, что Windows настроена на использование нашего локального сервера WSUS, и поэтому Dism не может получить действительный файл из репозиториев. Хотя я уверен, что мог бы как-то настроить WSUS для предоставления необходимых файлов, я не знаю, как, и мне нужно быстрое решение. (Если кто-то знает, как настроить WSUS соответственно, предоставьте информацию).
Ограничение доступа к локальному хранилищу путем добавления параметра /LimitAccess
было бы бесполезным, поскольку хранилище локальных компонентов также повреждено, как упоминалось ранее.
Я испытал эту проблему на двух машинах. Обновления в Windows 10 не решить проблему.