SFCとDISMが失敗した場合、Windows 10で破損したopencl.dllを修正するにはどうすればよいですか?



How Fix Corrupted Opencl



解決:

解決策1:解決策1:

この問題を修正するには、インストールした正確なビルドのISOが必要です。

  1. ISOイメージをマウントします。
  2. Windowsイメージファイル(WIM)をマウントするための一時ディレクトリを作成します。
    mkdir C: WIM
  3. WIMファイルをマウントします。
    Dism / Mount-Wim /WimFile:D:sourcesinstall.wim / index:1 / MountDir:C: WIM / ReadOnly
  4. 次のパラメータを使用してDismを実行します。
    Dism / Online / Cleanup-Image / RestoreHealth / Source:C: WIM Windows / LimitAccess
  5. 完了したら、イメージをアンマウントし、フォルダーを削除します
    Dism / Unmount-Wim / MountDir:C: WIM / Discard rmdir C: WIM
  6. コンピュータを再起動する必要があります。そうしないと、SFCとDISMでエラーが表示されます。

これで問題は解決するはずです。



編集
コメントで指摘されているように、より直接的なアプローチがあるかもしれません。 TL; DRは、それが私にとってはうまくいかなかったということです。したがって、私のより詳細なアプローチです。ただし、直接的なアプローチで問題が発生した場合は、興味があります。コメントしてください。

解決策2:解決策2:

インターネット上のさまざまなフォーラムから、次の修復手順を集めました。



  1. MediaCreationToolをhttp://go.microsoft.com/fwlink/?LinkId=691209からダウンロードします
  2. Windows 10 ProISOをダウンロードするMediaCreationTool.exeからc: temp windows.iso
  3. 抽出ファイルには7-zipを使用しますc: temp windows.isoをフォルダにc: temp windows
  4. 変換install.esd toinstall.wim

    Dism / Export-Image /SourceImageFile:c: empwindowssourcesinstall.esd / SourceIndex:1 /DestinationImageFile:c: empwindowssourcesinstall.wim / compress:max

  5. インデックスとWindowsのバージョンを確認してください.wimファイル
    -インデックスは、パラメータの次のDismコマンドに使用されます/ Source:wim:path_to_wim:[インデックス]



    Dism / Get-WimInfo /wimFile:c: empwindowssourcesinstall.wim

  6. ダウンロードおよび変換されたWindowsイメージ(wim)からヘルスウィンドウコンポーネントを復元します。

    Dism / Online / Cleanup-Image / RestoreHealth / Source:wim:c: temp windows sources install.wim:1 / LimitAccess

  7. 破損したファイルを修復します。

    sfc / scannow

    破損したファイルを修復します-成功メッセージ:Windows Resource Protectionは破損したファイルを検出し、正常に修復しました。

  8. Windowsを再起動します
  9. システムファイルを再度チェックして、修復が成功したことを確認します。

    sfc / scannow

    スキャン後の成功メッセージ:Windows Resource Protectionは、整合性違反を検出しませんでした。


解決策3:解決策3:

ESDは「暗号化された」WIMではなく、非常に異なる方法で(より複雑な構造で)高度にパック/再エンコードされたWIMです。

WIMは、高速のHuffmann圧縮を使用して、4KBまたは16KBの壊れない単位で「高速」に圧縮されます。 ESDは、ブロックサイズの制限なしに、より高度なLZベースの圧縮を使用します。この圧縮では、圧縮がグローバルであるため、イメージを読み取り/書き込みモードで開くことはできません(アーカイブ内の各ファイルは個別に圧縮されなくなり、複数の論理ファイルがセグメントの実際のストレージを共有して、より高い圧縮に達することができます)レベル、特にアイコンのコレクションやデジタル署名データの一部、著作権表示、HTMLヘッダー、埋め込みスクリプトなど、共通のヘッダー部分を持つ小さなファイルが多数ある場合)。

SWMはマルチパートWIMであり、(大まかな)最大サイズの小さいサイズの複数のファイルに分割されていますが、それでも書き込み可能であり、複数のDVDに保存できます。

CBSプロバイダーでは、WIM、CAB、ZIP、VHD、VHDX、マルチセッションISOなど、DISMでサポートできるいくつかのアーカイブ形式を使用できます。ただし、Windowsには、WIM形式とESD形式の2つの組み込みプロバイダーが付属しています(ESDはWindows 10の新機能です)。 Windows 8では、WIM形式のみがサポートされていましたが、画像は大きかったです)

ESD形式は、Windows10の完全な多言語配布が3GB未満の単一のDVDに収まるように調整されています...

ESDをWIMに変換できますが、結果としてファイルがはるかに大きくなります。逆変換も可能であり(拡張されたWIMで読み取り/書き込みができるように)、新しいESDに再度パックすることができます。 ESDをWIMに解凍するのは比較的高速ですが、WIMをESDに圧縮するには、多くのCPUリソースが必要であり、はるかに長くなります(そのため、ESDに直接読み取り/書き込みすることはできませんが、適度なWIMで簡単に行うことができます。 CPU使用率)。

DISMを使用してESDを「マウント」する場合、最初に行うことは、ESDを一時ストレージに拡張し、WIMであるかのように操作して、このローカルストレージ内のファイルを更新できるようにすることです。マウントを解除するには、2つの手順が必要です。WIMを再作成する(非常に高速)ことと、ESDに再度パックする(非常に遅い)ことです。


解決策4:解決策4:

私は次のようにopengl.dllの問題を解決しました:

  1. Windows10イメージをマウントします。

  2. Dism / Online / Cleanup-Image / RestoreHealth / Source:esd:F: sources install.esd 1 Windows WinSxS wow64_microsoft-windows-r..xwddmdriver-wow64-c_31bf3856ad364e35_10.0.10586.0_none_3dae054b56911c22

  3. sfc / scannow

幸運を!


解決策5:解決策5:

私はこれらの道を数日かけて行き、ついに私の状況の解決策を見つけました。 Windows10バージョン1511ビルド10586.545を実行しています。これが私の進歩です:

  1. これは、Windows Updateの失敗(エラー0x800705b4)で始まりました。
  2. 次に、Windows Updateのトラブルシューティング、WUResets、ウイルス対策の無効化などを行って、このエラーを追跡しました。このリンクは、その問題のオプションを提供する優れた記事です(ただし、役に立ちませんでした)。
  3. 次に、DISMとSFCのパスをたどりました。このServerFaultの投稿は、その試みに非常に役立ちました。残念ながら、これらのオプションはどれも役に立ちませんでした。 opencl.dllファイルが破損していると言われ続け、DISM / RestoreHealthのあらゆる種類のバリエーションを実行しても機能しませんでした。 0x800f081fを取得し続けました(ソースファイルが見つかりませんでした)
  4. 次に、opencl.dllをクリーンなISOからC: Windows SysWOW64に手動でコピーしようとしました。所有権の取得などをいじった後でも、これは機能しませんでした。最終的に、デバイスマネージャーでNVIDIA GeForce GPUドライバーを無効にし(Intelドライバーは引き続き表示を有効にします)、クリーンなopencl.dllをC: Windows にコピーできました。 SysWOW64。

ここから、WindowsUpdateが再び機能し始めました。

したがって、要約すると、これらのエラーに苦しんでいて何も機能しないように思われる場合は、NVIDIA GeForceドライバーを無効にしてから、これらの手順のいくつかを試してください(またはDLLのクリーンバージョンを手動でコピーしてください)。