我花了几个小时来解决这个问题,因为本地组件存储已损坏,并且计算机正在访问本地 WSUS 服务器而不是 Microsoft 的公共更新服务器(并且因为我很少使用 Dism)。为了参考和帮助其他有同样问题的人,我会写下问题描述并提供解决方案。
自从升级到 Windows 10 专业版 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
Run Code Online (Sandbox Code Playgroud)
好的,现在问题很清楚了。不幸的是,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]
Run Code Online (Sandbox Code Playgroud)
查看错误消息,很明显 Windows 设置为使用我们的本地 WSUS 服务器,因此 Dism 无法从存储库中检索有效文件。虽然我确信我可以以某种方式配置 WSUS 以提供必要的文件,但我不知道如何并且我需要快速修复。(如果有人知道如何相应地配置 WSUS,请提供信息)。
/LimitAccess如前所述,通过添加参数来限制对本地存储的访问将毫无用处,因为本地组件存储也已损坏。
我在两台机器上遇到过这个问题。一个更新的Windows 10的未解决的问题。
Dan*_*iel 43
要解决此问题,您需要拥有已安装的确切版本的 ISO。
mkdir C:\WIMDism /Mount-Wim /WimFile:D:\sources\install.wim /index:1 /MountDir:C:\WIM /ReadOnlyDism /Online /Cleanup-Image /RestoreHealth /Source:C:\WIM\Windows /LimitAccessDism /Unmount-Wim /MountDir:C:\WIM /Discard
rmdir C:\WIM
那应该可以解决问题。
编辑
正如评论中指出的那样,可能有更直接的方法。TL; DR 是,它对我不起作用,因此我的方法更详细。但是,如果您对直接方法有任何问题,我很感兴趣。请给出意见。
kap*_*rum 10
从互联网上的各种论坛,我组装了以下修复程序:
MediaCreationTool.exe到c:\temp\windows.isoc:\temp\windows.iso将文件解压到文件夹c:\temp\windows转换install.esd为install.wim
Dism /Export-Image /SourceImageFile:c:\temp\windows\sources\install.esd /SourceIndex:1 /DestinationImageFile:c:\temp\windows\sources\install.wim /compress:max
检查.wim文件
-索引中的索引和 Windows 版本用于参数中的下一个 Dism 命令/Source:wim:path_to_wim:[index]
Dism /Get-WimInfo /wimFile:c:\temp\windows\sources\install.wim
从下载和转换的 windows 映像 (wim) 中恢复健康 windows 组件:
Dism /Online /Cleanup-Image /RestoreHealth /Source:wim:c:\temp\windows\sources\install.wim:1 /LimitAccess
修复损坏的文件:
sfc /scannow
它将修复损坏的文件 - 成功消息: Windows Resource Protection found corrupt files and successfully repaired them.
再次检查系统文件以确保成功修复:
sfc /scannow
扫描成功后提示: Windows Resource Protection did not find any integrity violations.
| 归档时间: |
|
| 查看次数: |
86684 次 |
| 最近记录: |