Computer >> 컴퓨터 >  >> 문제 해결 >> 컴퓨터 유지 보수

Windows 업데이트 오류 0x80070057 완벽 해결 가이드

Windows 오류 코드 0x80070057은 Windows XP 시절부터 지금까지 수많은 사용자와 시스템 관리자를 괴롭혀 온 대표적인 오류 중 하나입니다. 다양한 시스템 문제와 함께 나타나지만, 다행히 해결 자체는 어렵지 않은 편입니다. 이 글에서는 오류의 원인부터 단계별 해결 방법까지 자세히 안내해 드립니다.

0x80070057 오류 코드란 무엇인가?

오류 코드 0x80070057은 Windows가 저장 공간 관련 문제에 직면했다는 의미입니다. 하드 드라이브나 SSD의 여유 공간이 부족하여 파일을 다운로드하거나 복사하지 못했을 가능성이 높습니다. 하지만 이 외에도 파일 시스템 비호환성, 손상된 하드 드라이브 등 다른 저장 장치 문제를 나타낼 수도 있습니다.

'알 수 없는 오류', '매개 변수가 잘못되었습니다', '서비스가 실행 중이 아닙니다'

이 오류와 함께 표시되는 메시지는 업데이트 서비스의 어느 부분에서 문제가 발생했는지에 따라 달라집니다. 일반적으로 '알 수 없는 오류(Unknown error)', '지정되지 않은 매개 변수(Unspecified parameters)', 또는 '필요한 서비스가 실행되고 있지 않습니다(Required services are not running)' 같은 형태로 나타납니다.

특히 2016년 Windows 10 Anniversary Update(Build 1607)에서 이 오류에 대한 신고가 집중적으로 접수되었습니다. 업데이트 프로세스가 완료되지 않은 채 시스템이 일시적으로 불안정해지거나, 이전 버전인 Build 1507(Threshold 1)로 강제 롤백되는 사례가 많았습니다.

일반적으로 오류 0x80070057은 다음과 같은 상황에서 발생합니다:

  • 파일을 백업하려는데 백업 데이터에 손상이 있는 경우
  • Windows 운영체제를 설치하려는데 시스템 예약 파티션(System Reserved Partition)이 손상된 경우
  • 손상된 레지스트리 항목이나 정책 설정이 Windows Update 프로세스를 방해하는 경우
  • 업데이트 설치에 문제가 발생하여 나중에 다시 시도한다는 메시지가 반복되는 경우

짜증나는 오류이지만, 모두 해결 가능합니다.

0x80070057 오류를 해결하는 11가지 방법

이 오류 코드의 가장 답답한 점은 정확한 원인을 알기 어렵다는 것입니다. Windows Update 도중 발생했다면 저장 공간 부족일 가능성이 높지만, 어디까지나 추측일 뿐입니다. 아래에서 가장 쉬운 방법부터 차례대로 시도해 보세요.

1. 드라이브 공간 확보하기

오류 0x80070057은 Windows Update와 함께 자주 나타납니다. 업데이트 파일 용량이 매우 크기 때문입니다. 게다가 Windows가 전체 시스템 업데이트를 진행할 때 기존 버전을 Windows.old 폴더에 보관하는데, 이 폴더만으로도 수십 GB의 공간을 차지할 수 있습니다.

Win + E를 눌러 파일 탐색기를 실행하고 내 PC(This PC)로 이동해 시스템 드라이브의 남은 공간을 확인하세요. 공간이 부족해 보인다면 드라이브를 마우스 오른쪽 버튼으로 클릭하고 속성 > 디스크 정리 > 시스템 파일 정리를 선택합니다.

휴지통Windows 업데이트 정리 항목을 포함해 삭제 가능한 항목을 모두 체크한 후 확인을 클릭하고 파일 삭제를 누르면 됩니다. 복구용으로 Windows 업데이트 파일을 유지하고 싶다면 '시스템 파일' 단계는 건너뛰고 디스크 정리만 진행해도 됩니다.

그래도 오류가 계속된다면 추가 저장 공간을 확보하거나 다음 해결 방법으로 넘어가세요.

2. Windows 날짜 및 시간 동기화

Windows 시계가 실제 시간과 맞지 않으면 각종 오류가 발생할 수 있으며, 그중 하나가 바로 0x80070057입니다. 흔한 원인은 아니지만 해결하기는 매우 간단합니다.

먼저 작업 표시줄 오른쪽 끝의 시간을 클릭해 날짜와 시간이 정확한지 확인합니다. 만약 맞지 않는다면 작업 표시줄을 마우스 오른쪽 버튼으로 클릭하고 날짜/시간 조정을 선택한 뒤, 다음 옵션들을 활성화하는 것이 좋습니다:

  • 자동으로 시간 설정
  • 자동으로 표준 시간대 설정
  • 일광 절약 시간 자동 조정

설정 후 지금 동기화 버튼을 클릭하세요. 시간이 계속 어긋난다면 더 근본적인 문제가 있을 수 있습니다.

3. Windows Update 확인하기

오류가 Windows Update와 무관하게 발생했다면, 누락된 업데이트가 원인일 수 있습니다. Win + I를 눌러 설정을 열고 업데이트 및 보안 > 업데이트 확인을 클릭하세요. 보류 중인 업데이트를 모두 설치한 후 다시 시도해 보세요.

4. Chkdsk 실행하기

Chkdsk는 손상된 파일을 빠르게 찾아 수정할 수 있는 가장 간편한 도구입니다. 전체 하드 드라이브를 검사하며, 결함이 있는 하드웨어까지 식별할 수 있습니다.

Win + E를 눌러 파일 탐색기를 열고 내 PC로 이동한 뒤, 시스템 드라이브를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.

도구 탭으로 이동해 검사를 클릭한 후 드라이브 검사를 누르면 백그라운드에서 검사가 진행됩니다. 문제가 발견되면 수정을 선택하고 시스템을 재부팅하는 것을 권장합니다.

5. 시스템 파일 검사기(SFC) 사용하기

Windows에는 잠재적으로 손상된 시스템 파일을 검사하고 복구하는 내장 도구인 시스템 파일 검사기(System File Checker)가 있습니다.

시작 메뉴를 마우스 오른쪽 버튼으로 클릭하고 명령 프롬프트(관리자) 또는 Windows PowerShell(관리자)을 선택한 후, 다음 명령어를 입력합니다:

sfc /scannow

명령 실행에는 시간이 다소 걸릴 수 있으며, 검증이 100% 완료될 때까지 명령 프롬프트 창을 닫지 마세요. 완료되면 다음 네 가지 메시지 중 하나가 표시됩니다:

  • Windows 리소스 보호에서 무결성 위반을 찾지 못했습니다. — 손상된 파일이 없다는 뜻이므로 다른 해결 방법을 시도해야 합니다.
  • Windows 리소스 보호에서 요청한 작업을 수행할 수 없습니다. — 안전 모드로 재부팅한 후 명령을 다시 실행하세요.
  • 손상된 파일을 찾아 성공적으로 복구했습니다. — 문제가 해결되었을 가능성이 높습니다.
  • 손상된 파일을 찾았지만 일부를 복구하지 못했습니다. — 손상된 파일을 수동으로 교체해야 합니다.

마지막 두 메시지가 표시되면 SFC 로그를 확인해야 합니다. 먼저 관리자 권한 명령 프롬프트에서 다음 명령어를 실행해 로그 내용을 데스크톱의 텍스트 파일로 추출합니다:

findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log > "%userprofile%\Desktop\sfcdetails.txt"

로그 파일에서 SFC가 자동으로 교체하지 못한 손상 파일 항목('Cannot repair member file...' 형식)을 찾았다면, 해당 파일을 수동으로 교체해야 합니다. 관리자 권한 명령 프롬프트에서 다음 순서로 진행하세요. pathandfilename은 sfcdetails.txt에 기록된 경로와 파일 이름으로 대체합니다.

먼저 손상된 파일의 소유권을 가져옵니다:

takeown /f pathandfilename

다음으로 관리자에게 파일에 대한 모든 권한을 부여합니다:

icacls pathandfilename /grant administrators:F

마지막으로 정상 파일로 교체합니다:

copy 원본파일 대상파일

예를 들어, 동일한 운영체제·버전·빌드를 사용하는 다른 PC에서 정상적인 jscript.dll 파일을 USB로 복사해 왔다면 다음과 같이 입력할 수 있습니다:

copy f:\usbstick\jscript.dll c:\windows\system32\jscript.dll

6. DISM 명령 실행하기

위의 수동 교체가 너무 어렵거나 교체할 파일이 너무 많다면 DISM(Deployment Image & Servicing Management) 명령을 사용하세요. 이 명령은 시스템 이미지의 손상을 자동으로 진단하고 복구합니다.

관리자 권한 명령 프롬프트 또는 PowerShell에서 다음 명령어를 입력합니다:

DISM /Online /Cleanup-Image /RestoreHealth

시스템 상태와 손상 정도에 따라 완료까지 시간이 걸릴 수 있으며, 진행률이 20%에서 멈춘 것처럼 보이는 경우가 있습니다. 이럴 때는 그대로 기다리면 자연스럽게 진행됩니다. 완료 후 파일이 교체되었다면 컴퓨터를 재시작하고 sfc /scannow 명령을 다시 실행하세요. 이번에는 손상된 파일이 정상적으로 복구될 것입니다.

7. 그룹 정책 간섭 수정하기

Windows 10 출시 당시 많은 Pro 사용자들이 그룹 정책 편집기를 통해 Windows Update 시스템을 비활성화하곤 했습니다. 그런데 바로 이 정책 변경이 업데이트 프로세스 오류의 원인이 되는 경우가 있습니다.

Win + R을 눌러 실행 창을 열고 gpedit.msc를 입력한 후 Enter 키를 누릅니다. 그다음 다음 경로로 이동하세요:

컴퓨터 구성 > 관리 템플릿 > Windows 구성 요소 > Windows 업데이트 > 자동 업데이트 구성 > 구성되지 않음

설정을 변경한 후 시스템을 재시작하면 업데이트가 정상적으로 완료될 수 있습니다.

8. Windows Update 저장소 초기화하기

경우에 따라 Windows Update 저장소를 초기화하면 문제가 해결될 수 있습니다. 다소 복잡한 과정이 필요하므로, Microsoft 공식 지원 문서의 단계별 안내를 참고해 진행하는 것을 권장합니다.

9. Windows Update 문제 해결사 사용하기

Windows Update 문제 해결사는 그룹 정책이나 시스템 설정의 영향을 받을 수 있어 효과가 제한적일 수 있지만, 업데이트가 계속 실패한다면 시도해 볼 가치가 충분합니다.

Microsoft 공식 페이지에서 Windows Update 문제 해결사를 다운로드해 실행한 후, Windows Update를 선택하고 고급 > 관리자 권한으로 실행을 클릭하세요. 이렇게 하면 더 폭넓은 범위의 문제를 탐지하고 해결할 수 있습니다. 다음을 누르면 문제 해결사가 자동으로 시스템을 검사하고 발견된 문제를 수정합니다.

10. 시스템 복원, 초기화 또는 드라이브 포맷

이것은 최후의 수단입니다. 시스템 복원 시에는 마지막 복원 지점 이후의 변경 사항이 사라지고, 초기화나 포맷 시에는 처음부터 시스템을 다시 설정해야 합니다. 하지만 Windows나 소프트웨어 기반의 문제는 확실하게 해결됩니다. 진행하기 전에 반드시 중요한 데이터를 백업하세요.

11. 새 드라이브로 교체하기

모든 방법이 실패했다면 문제의 원인이 하드웨어일 가능성이 있습니다. 마지막으로 시도해 볼 수 있는 방법은 시스템 드라이브를 새 SSD로 교체하는 것입니다.

특정 오류 메시지별 해결 방법

오류 코드 0x80070057과 함께 특정 메시지가 표시되었다면, 아래의 맞춤형 해결책이 도움이 될 수 있습니다.

1. "나중에 다시 시도하겠습니다" 메시지

Anniversary Update 이후 일부 Windows 10 사용자에게 다음과 같은 오류 메시지가 나타났습니다:

일부 업데이트를 설치하는 데 문제가 있지만 나중에 다시 시도하겠습니다. 이 메시지가 계속 표시되고 웹 검색이나 지원 문의를 통해 정보를 얻으려면 다음이 도움이 될 수 있습니다 – (0x80070057).

SoftwareDistribution 폴더 이름 변경

Win + R을 눌러 실행 창을 열고 %SystemRoot%를 입력한 후 Enter 키를 누릅니다. 목록에서 SoftwareDistribution 폴더를 찾아 SoftwareDistribution.old로 이름을 변경합니다. 이후 컴퓨터를 재시작하고 업데이트를 다시 시도하세요.

레지스트리 값 변경

위 방법으로 해결되지 않으면 레지스트리를 수정해야 합니다. Win + R을 눌러 regedit를 입력하고 Enter 키를 누른 뒤, 다음 레지스트리 항목이 일치하는지 확인하세요:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX]
"IsConvergedUpdateStackEnabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings]
"UxOption"=dword:00000000

필요한 경우 값을 수정한 후 시스템을 재부팅하고 업그레이드를 다시 시도합니다.

2. "매개 변수가 잘못되었습니다" 메시지

이 경우 Windows 내장 서비스로 백업을 시작했지만, 프로세스가 실패하며 다음 메시지가 나타납니다:

내부 오류가 발생했습니다. 매개 변수가 잘못되었습니다: (0x80070057)

레지스트리 값 추가

Win + R을 눌러 regedit를 입력하고 Enter 키를 누른 후, 다음 레지스트리 키로 이동합니다:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\SystemCertificates

SystemCertificates를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기 > DWORD(32비트) 값을 선택합니다. 이름을 CopyFileBufferedSynchronousIo로 입력하고 값을 1로 설정한 뒤 확인을 누르고 시스템을 재시작하세요. 이제 백업이 정상적으로 완료될 것입니다.

소수점 기호 변경

제어판 > 시계, 언어 및 국가별 옵션으로 이동합니다. 국가 또는 지역에서 날짜, 시간 또는 숫자 형식 변경을 선택하고, 새 패널에서 추가 설정을 클릭합니다. 소수점 기호 항목에 마침표(.)가 설정되어 있는지 확인한 후 적용확인을 누르면 됩니다.

그 외 다른 방법은 없을까?

Microsoft의 무료 도구인 SetupDiag를 활용하면 Windows 업데이트 오류를 분석하고 수정하는 데 도움을 받을 수 있습니다. 일부 사용자들은 Yamicsoft Windows 8 Manager로 업데이트 문제를 해결했다고 보고하기도 했습니다.

다만 이 방법은 직접 검증된 것이 아니므로, 예상치 못한 부작용이 있을 수 있다는 점을 감안해 신중하게 진행하시기 바랍니다.

이제 0x80070057 오류를 직접 해결할 수 있습니다

위의 방법들을 차례대로 적용했다면 시스템이 정상적으로 업데이트되었을 것입니다. 더불어 앞으로 유사한 Windows Update 문제가 발생하더라도 스스로 해결할 수 있는 노하우를 갖추게 된 셈입니다. Microsoft가 강제 업데이트 정책을 유지하는 한, 일반 사용자에게 피해가 가지 않도록 이러한 오류 해결 능력은 앞으로도 계속 유용할 것입니다.