Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

[해결법] Windows 10에서 손상된 opencl.dll 파일 복구하는 방법

작년 말 배포된 Windows 10 November Update(일명 Threshold 2, 버전 1511)로 업데이트한 이후, 많은 사용자들이 opencl.dll 파일이 손상되었다는 불만을 제기하기 시작했습니다. Windows 10 포럼에서의 활발한 논의와 조사 끝에 이것이 꽤 널리 퍼진 문제라는 사실이 밝혀졌습니다. 다만 다행히도 손상된 opencl.dll 파일은 컴퓨터나 그래픽 기능에 부정적인 영향을 미치지는 않기 때문에 심각한 문제라고 보기는 어렵습니다.

추가 조사 결과, 이 문제는 NVIDIA 그래픽카드(GPU)를 사용하는 Windows 10 사용자에게만 발생하는 것으로 확인되었습니다. NVIDIA GPU 사용자가 NVIDIA GeForce Experience든 Windows Update든 어떤 방식으로든 그래픽 드라이버를 설치하거나 업데이트할 때마다, NVIDIA 드라이버 설치 프로그램이 Windows에 기존에 있던 opencl.dll 파일을 자체 파일로 덮어쓰면서 파일이 손상됩니다. NVIDIA가 이 문제를 해결하는 패치를 배포하기 전까지는 드라이버를 설치하거나 업데이트할 때마다 동일한 현상이 반복될 수밖에 없습니다.

다행히도, 내 컴퓨터의 opencl.dll 파일이 손상되었는지 확인한 뒤 해당 파일을 복구하거나 교체하여 문제를 해결할 수 있습니다. 손상된 opencl.dll 파일이 일상적인 컴퓨터 사용에는 지장을 주지 않지만, 미리 점검하고 예방하는 것이 훨씬 안전합니다.

opencl.dll 파일이 손상되었는지 확인하는 방법

컴퓨터의 opencl.dll 파일 손상 여부를 확인하는 방법은 크게 두 가지입니다. 하나는 시스템 파일 검사기(SFC) 유틸리티를 사용하는 것이고, 다른 하나는 배포 이미지 서비스 및 관리(DISM) 유틸리티를 사용하는 것입니다. 두 유틸리티 모두 Windows에 기본 내장되어 있으며, opencl.dll과 같은 시스템 파일 손상을 비롯한 무결성 위반을 검사·탐지하고 가능하면 자동으로 복구하도록 설계되어 있습니다.

방법 1: SFC 검사 실행 후 로그 파일 확인하기

SFC 검사를 실행하고 그 결과를 통해 opencl.dll 파일 손상 여부를 확인하려면 아래 단계를 따르세요.

  1. Windows 로고 키를 누른 상태에서 명령 프롬프트(Command Prompt)를 입력해 검색합니다. 검색 결과에서 명령 프롬프트를 마우스 오른쪽 버튼으로 클릭한 뒤 관리자 권한으로 실행(Run as Administrator)을 선택합니다.
  2. 관리자 권한 명령 프롬프트 창에 아래 명령어를 입력하고 Enter 키를 누릅니다.
    sfc /scannow
  3. 검사가 완료될 때까지 기다립니다. 최대 20분 정도 걸릴 수 있습니다.
  4. 검사가 끝나면 바로 명령 프롬프트에 아래 명령어를 입력하고 Enter 키를 누릅니다.
    copy %windir%\logs\cbs\cbs.log "%userprofile%\Desktop\cbs.txt"
  5. 이 명령을 실행하면 바탕화면(Desktop)cbs.txt라는 이름의 파일이 생성됩니다. 이 파일이 바로 방금 실행한 SFC 검사의 로그 파일입니다.
  6. 마지막 명령을 실행한 직후 명령 프롬프트를 종료하고, 바탕화면에서 cbs.txt 파일을 열어 내용을 확인합니다.
  7. 로그 파일을 읽어보고, 손상된 opencl.dll 파일을 가리키는 항목이 발견되면 해당 파일이 손상된 것이므로 복구가 필요합니다. 아래는 실제로 opencl.dll이 손상된 컴퓨터의 로그 샘플입니다.

2015-12-13 04:11:37, Info CSI 00004a0c 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 EbG6RAK4saLIYu69FF29XF3DXk+hFjNQz45caiKP3Ng=} Expected: {l:32 9rnAnuwzPjMQA7sW63oNAVhckspIngsqJXKYSUeQ5Do=}

2015-12-13 04:11:37, Info CSI 00004a0d [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-13 04:11:37, Info CSI 00004a14 [SR] Could not reproject corrupted file [l:23 ml:24]"\??\C:\WINDOWS\SysWOW64"\[l:10]"opencl.dll"; source file in store is also corrupted

방법 2: DISM 검사 실행 후 로그 파일 확인하기

SFC 대신 DISM 검사를 실행하여 문제 여부를 확인하고 싶다면 아래 단계를 따르세요.

  1. Windows 로고 키 + X 키를 동시에 눌러 WinX 메뉴를 엽니다.
  2. 명령 프롬프트(관리자)(Command Prompt (Admin))를 클릭합니다.
  3. 관리자 권한 명령 프롬프트에 아래 명령어를 입력하고 Enter 키를 누릅니다.
    DISM /Online /Cleanup-Image /RestoreHealth
  4. 검사가 완료될 때까지 기다립니다. 시간이 다소 걸릴 수 있으니 인내심을 갖고 기다려 주세요.
  5. 검사가 완료되면 명령 프롬프트를 종료하고, 아래 디렉터리로 이동한 뒤 그 안에 있는 DISM.log 파일을 엽니다.
    C:\Windows\Logs\DISM
  6. 참고: 해당 디렉터리가 존재하지 않거나 어떤 이유로 DISM.log 파일 접근이 거부되는 경우, 아래 디렉터리로 이동하여 CBS.log 파일을 대신 열어 확인하세요.
    C:\Windows\Logs\CBS
  7. 연 로그 파일을 읽어보고, 아래와 같은 내용이 발견되면 컴퓨터의 DLL 파일이 실제로 손상된 것입니다.

(p) CSI Payload Corrupt wow64_microsoft-windows-r..xwddmdriver-wow64-c_31bf3856ad364e35_10.0.10586.0_none_3dae054b56911c22\opencl.dll

Repair failed: Missing replacement payload.

손상된 opencl.dll 파일 복구하고 문제 해결하기

컴퓨터가 이 문제의 영향을 받고 있으며 opencl.dll 파일이 손상되었다는 것이 확실해지면, 이제 파일을 복구하거나 교체하여 문제를 해결할 차례입니다. 손상된 opencl.dll 파일을 복구/교체하고 문제를 해결하려면 아래 단계를 따르세요.

  1. 여기를 클릭하여 SFCFix라는 프로그램을 다운로드합니다. SFCFix는 손상된 DLL 파일을 복구하거나 교체함으로써 이 문제를 해결해 주는 훌륭한 소형 유틸리티입니다.
  2. SFCFix 실행 파일의 다운로드가 완료되면 해당 파일을 바탕화면으로 옮깁니다.
  3. 여기를 클릭하여 sfcfix.zip, 즉 SFCFix가 손상된 opencl.dll 파일을 복구/교체하는 데 필요한 모든 파일이 담긴 ZIP 압축 파일을 다운로드합니다. 웹사이트에서 ZIP 파일 접근을 위해 회원가입을 요구하는 경우, 안전한 사이트이므로 가입 후 진행해도 됩니다.
  4. sfcfix.zip 다운로드가 완료되면 이 역시 바탕화면으로 옮깁니다. 열려 있는 모든 프로그램을 종료한 뒤, sfcfix.zip 파일을 SFCFix 실행 파일 위로 끌어다 놓습니다.
  5. SFCFix가 자동으로 실행되며 손상된 DLL 파일에 대한 수정 작업을 시작합니다. 작업이 완료될 때까지 기다려 주세요.
  6. SFCFix가 작업을 마치면 바탕화면SFCFix.txt라는 파일이 생성됩니다. 이 파일을 열어보고, SFCFix가 손상된 opencl.dll 파일의 복구/교체에 성공했다면 성공 결과가 기록되어 있을 것입니다.

위의 모든 방법으로도 문제가 해결되지 않는다면, 시스템 복원(System Restore)을 수행하거나 Windows를 초기화(Reset)하는 방법을 고려해야 합니다.