Butuh beberapa jam untuk memperbaiki masalah ini karena toko komponen lokal rusak dan komputer mengakses server WSUS lokal alih-alih server pembaruan publik oleh Microsoft (dan karena saya jarang menggunakan Dism). Untuk referensi dan membantu orang lain dengan masalah yang sama, saya akan menuliskan deskripsi masalah dan memberikan solusi.
Sejak memutakhirkan ke Windows 10 Pro Versi 1511 (Build 10586) saya punya masalah dengan opencl.dll diajukan rusak di beberapa lokasi.
Saya mencoba sfc.exe /scannow
, tetapi gagal untuk memperbaiki masalah. Pesan-pesan kesalahan tersebut antara lain:
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
Oke, jadi masalahnya sudah jelas sekarang. Sayangnya, SFC tidak dapat menyelesaikan korupsi karena toko komponen lokal juga rusak. Sayangnya, saya kehilangan pesan kesalahan yang menunjukkan kerusakan penyimpanan komponen.
Jadi saya mencoba tetapi Dism /Online /Cleanup-Image /RestoreHealth
tidak berhasil. Gagal dengan kesalahan 0x800f081f , menunjukkan masalah lain dengan file sumber.
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]
Melihat pesan kesalahan, menjadi jelas bahwa Windows diatur untuk menggunakan server WSUS lokal kami dan karena itu Dism tidak dapat mengambil file yang valid dari repositori. Meskipun saya yakin bahwa saya entah bagaimana dapat mengkonfigurasi WSUS untuk menyediakan file yang diperlukan, saya tidak tahu caranya dan saya perlu perbaikan cepat. (Jika seseorang tahu cara mengkonfigurasi WSUS yang sesuai, berikan informasi).
Membatasi akses ke penyimpanan lokal dengan menambahkan paramter /LimitAccess
akan sia-sia karena toko komponen lokal juga rusak, seperti yang disebutkan sebelumnya.
Saya mengalami masalah ini pada dua mesin. Sebuah penyegaran Windows 10 tidak memperbaiki masalah.
sumber
Jawaban:
Untuk memperbaiki masalah ini, Anda harus memiliki ISO dari bangunan yang telah Anda pasang.
mkdir C:\WIM
Dism /Mount-Wim /WimFile:D:\sources\install.wim /index:1 /MountDir:C:\WIM /ReadOnly
Dism /Online /Cleanup-Image /RestoreHealth /Source:C:\WIM\Windows /LimitAccess
Dism /Unmount-Wim /MountDir:C:\WIM /Discard rmdir C:\WIM
Itu harus memperbaiki masalah.
Sunting
Seperti yang ditunjukkan dalam komentar, mungkin ada pendekatan yang lebih langsung. TL; DR adalah, bahwa itu tidak berhasil untuk saya, maka pendekatan saya lebih rinci. Tetapi saya tertarik jika Anda memiliki masalah dengan pendekatan langsung. Tolong beri saran.
sumber
/source:wim
parameter dalam dokumentasi resmi untuk Opsi Baris Perintah Dism .Dari berbagai forum di Internet, saya telah menyusun prosedur perbaikan berikut:
MediaCreationTool.exe
toc:\temp\windows.iso
c:\temp\windows.iso
ke folderc:\temp\windows
Konversikan
install.esd
keinstall.wim
Periksa indeks dan versi windows dalam indeks
.wim
file-
digunakan untuk perintah Dism berikutnya dalam parameter/Source:wim:path_to_wim:[index]
Kembalikan komponen windows kesehatan dari windows image yang diunduh dan dikonversi (wim):
Perbaiki file yang rusak:
Ini akan memperbaiki file yang rusak - pesan sukses:
Windows Resource Protection found corrupt files and successfully repaired them.
Periksa file Sistem lagi untuk memastikan perbaikan berhasil:
Pesan sukses setelah pemindaian:
Windows Resource Protection did not find any integrity violations.
sumber
ESD bukan WIM "terenkripsi", itu adalah WIM yang telah sangat dikemas / reencoded sangat berbeda (dengan struktur yang lebih kompleks).
WIM hanya "cepat" dikompresi oleh unit 4KB atau 16KB yang tidak bisa dipecahkan, menggunakan kompresi Huffmann cepat. ESD menggunakan kompresi berbasis LZ yang lebih maju tanpa batasan ukuran blok. Kompresi ini tidak memungkinkan gambar terbuka dalam mode baca-tulis karena kompresi bersifat global (setiap file dalam arsip tidak lagi dikompresi secara terpisah, beberapa file logis dapat berbagi penyimpanan segmen yang sebenarnya, untuk mencapai kompresi yang lebih tinggi lagi. tingkat, terutama ketika ada banyak file kecil dengan bagian header umum, seperti koleksi ikon, atau bagian dari data tanda tangan digital mereka, pemberitahuan hak cipta, header HTML, skrip tertanam dan sebagainya).
SWM adalah WIM multi-bagian yang telah dipecah menjadi beberapa file dengan ukuran lebih kecil dengan ukuran maksimum (kasar), tetapi masih dapat ditulisi, dan dapat disimpan pada banyak DVD.
Penyedia CBS memungkinkan beberapa format pengarsipan yang dapat didukung oleh DISM, termasuk WIM, CAB, ZIP, VHD, VHDX, ISO multi-sesi ... Tetapi Windows dilengkapi dengan dua penyedia bawaan untuk format WIM dan ESD (ESD baru untuk Windows 10, dengan Windows 8, hanya format WIM yang didukung, tetapi gambarnya lebih besar)
Format ESD telah disetel untuk memungkinkan distribusi multibahasa penuh Windows 10 sesuai pada satu DVD dengan kurang dari 3GB ...
Anda dapat mengubah ESD menjadi WIM, tetapi hasilnya akan menjadi file yang jauh lebih besar. Konversi terbalik juga dimungkinkan (sehingga Anda dapat membaca-menulis dalam WIM yang diperluas) untuk mengemasnya lagi ke dalam ESD baru. Mengompres ESD ke WIM relatif cepat, tetapi mengompresi WIM ke ESD membutuhkan banyak sumber daya CPU dan jauh lebih lama (itu sebabnya Anda tidak dapat membaca-menulis langsung ke ESD tetapi Anda dapat melakukannya dengan mudah di WIM dengan sederhana) Penggunaan CPU).
Saat Anda "memasang" ESD dengan DISM, hal pertama yang harus dilakukan adalah memperluas ESD menjadi penyimpanan sementara dan bertindak seolah-olah itu adalah WIM, sehingga Anda dapat memperbarui file di penyimpanan lokal ini. Melepasnya akan membutuhkan dua langkah: membuat ulang WIM (cukup cepat), lalu kemas lagi ke dalam ESD (sangat lambat).
sumber
Saya memecahkan masalah dengan opengl.dll sebagai berikut:
Pasang gambar Windows 10.
Dism / Online / Cleanup-Image / RestoreHealth / Sumber: esd: F: \ sources \ install.esd \ 1 \ Windows \ WinSxS \ wow64_microsoft-windows-r..xwddmdriver-wow64-c_31bf3856ad364e35_10.0.10.108686_none_3dae054
sfc / scannow
Semoga berhasil!
sumber
Saya menghabiskan beberapa hari menyusuri jalan setapak ini dan akhirnya menemukan solusi untuk situasi saya. Saya menjalankan Windows 10 versi 1511 Build 10586.545. Ini perkembangan saya:
Dari sini, Pembaruan Windows mulai bekerja lagi.
Jadi secara ringkas, jika Anda kesulitan dengan kesalahan ini dan sepertinya tidak ada yang berhasil, coba nonaktifkan driver NVIDIA GeForce dan kemudian coba beberapa langkah ini (atau menyalin secara manual dalam versi bersih dari DLL).
sumber
Karena tidak memiliki salinan lokal dan karena alasan terpisah tidak dapat mengunduh file ISO (ISO bukan tipe Windows 10 yang saya instal) Ada solusi perbaikan terbaru di sini yang saya gunakan yang melibatkan pengunduhan file khusus yang disebut "SFCFix ":
Harap dicatat bahwa menjalankan file SFCFix.exe tanpa perbaikan terbaru ZIP akan menjadi proses yang panjang dan lambat yang mencapai sangat sedikit, Anda perlu menjalankannya dengan metode seret / jatuhkan file ZIP, dan hasilnya hampir instan.
sumber
Anda harus dapat menggunakan gambar esd, sesuai artikel teknik DISM. Gambar ESD (Pengiriman Perangkat Lunak Elektronik) hanyalah versi terenkripsi dari WIM, dan juga menggunakan algoritma kompresi yang jauh lebih baik daripada format WIM (umumnya sekitar 1,5x lebih baik kompresi).
Jika semua yang dimiliki adalah ESD, tetapi lebih suka menggunakan WIM, Anda dapat mengonversi ESD ke WIM dengan perintah ekspor DISM. Anda juga dapat mengonversi WIM ke ESD dengan menetapkan / kompres: pemulihan dalam perintah ekspor atau ambil. Konversi satu ke yang lain adalah sumber daya intensif, dan karena ini, disarankan untuk menggunakan skrip ESD ke WIM yang ditulis tahun lalu dan tersedia di forum MSFN. Memanfaatkan skrip, hanya ~ 50% dari sumber daya sistem didedikasikan untuk ekspor versus + 90% yang umumnya digunakan untuk ekspor.
sumber
Saya baru saja pergi ke mesin Windows 10 Pro x64 lain dan menyalin file opencl.dll (dari direktori yang sama). Kemudian saya mengambil kepemilikan opencl.dll yang buruk, menamainya menjadi opencl.old, dan menyalin yang baru. Reboot kembali ke safe mode dan jalankan sfc / scannow dan itu kembali bagus. Dalam kasus saya, ini adalah satu-satunya file buruk yang terdaftar di cbs.log ... Saya dapat melihat di mana mungkin lebih baik untuk memiliki pekerjaan sfc jika Anda memiliki banyak file yang rusak dan tidak ingin menambal masing-masing secara individual. Tetapi jika masalah Anda hanya satu dll, maka salinan sederhana tampaknya berhasil.
sumber
Tampaknya gambar instal (
install.esd
) dari media instalasi Pembaruan Creator tidak kompatibel dengan metode DISM yang dijelaskan di sini. Anda akan mendapatkan kesalahan0x800f081f
apa pun jenis perintah yang Anda ketikkan. Itu juga tidak membantu untuk mengekstrak yang benarinstall.wim
dari file ESD. Akhirnya, saya bahkan mencoba memasang file WIM tetapi tidak berhasil.Lihat juga diskusi di https://www.sysnative.com/forums/windows-10-a/22564-dism-error-0x800f081f.html#post179723
Pembaruan: Kesalahan yang terjadi tidak ada hubungannya dengan perintah dism atau file wim. Itu karena paket bernama Microsoft-Windows-TestRoot-dan-FlightSigning-Package yang tidak tersedia sumber kerjanya. File-file di C: \ Windows \ Servicing \ Packages dan harus dipindahkan dari sana. Juga, ada dua referensi dalam registri yang harus dihapus. Lihat utas sysnative tertaut untuk detailnya.
sumber