Windows 업데이트는 대부분 별다른 문제 없이 자동으로 설치됩니다. 하지만 호환성 문제나 패치 적용 과정에서는 가끔 추가적인 작업이 필요한 경우가 생깁니다. 업데이트 실패 오류가 발생하면 보통 오류 코드를 직접 검색하고 해결 방법을 하나씩 찾아야 하는데, 이 과정은 생각보다 많은 시간을 소모합니다. 이런 불편을 덜어주기 위해 Microsoft가 내놓은 간편한 해결책이 바로 SetupDiag.exe입니다.
SetupDiag.exe는 Windows 10 업그레이드가 실패한 원인을 찾아내는 독립형 진단 도구입니다. Windows 10의 업데이트 프로세스는 상당히 개선되었지만, 그렇다고 항상 문제없이 진행되는 것은 아닙니다. 그래서 Microsoft는 이 도구를 제공하고 있습니다.

SetupDiag의 작동 방식
SetupDiag.exe를 실행하려면 PC에 Microsoft .NET Framework 4가 설치되어 있어야 합니다. 이 도구는 Windows 설치 로그 파일을 검사·분석하여 컴퓨터가 Windows 10으로 업데이트 또는 업그레이드하는 데 실패한 근본 원인을 찾아냅니다. 업데이트에 실패한 PC에서 직접 실행할 수도 있고, 해당 PC에서 로그를 다른 위치로 내보낸 뒤 오프라인 모드로 실행할 수도 있습니다.
도구가 정상적으로 실행되면 다양한 검사와 분석을 수행할 수 있습니다. Windows는 시스템의 안전한 운영을 저해할 가능성이 있는 상황을 감지하면 시스템 작동을 멈추는데, 이 상태를 버그 체크(bug check)라고 합니다. 흔히 다음과 같은 이름으로도 불립니다.
- 시스템 충돌(System crash)
- 커널 오류(Kernel error)
- 중지 오류(Stop error) 또는 BSOD
이러한 문제의 일반적인 원인은 하드웨어 장치, 하드웨어 드라이버 또는 관련 소프트웨어입니다.
업그레이드 중에 버그 체크가 발생하면 Windows 설치 프로그램은 미니덤프(setupmem.dmp) 파일을 추출합니다.
설치 관련 버그 체크를 디버깅하려면 다음과 같이 진행합니다.
/Mode: Offline 및 /LogsPath 매개변수를 지정하고, 업데이트에 실패한 시스템에서 설치 메모리 덤프 파일(setupmem.dmp)을 수집합니다.
참고: 메모리 덤프는 온라인 모드에서는 디버깅할 수 없습니다.
setupmem.dmp 파일은 버그 체크가 발생한 시점에 따라 다음 위치 중 한 곳에서 찾을 수 있습니다.
%SystemDrive%$Windows.~bt\Sources\Rollback
또는
%WinDir%\Panther\NewOS\Rollback
이후 SetupDiag를 실행하는 컴퓨터에 Windows 디버깅 도구(Windows Debugging Tools)를 설치하면 됩니다. 매개변수 없이 도구를 실행하면, 업그레이드 과정에서 Windows 10이 생성한 로그 파일을 장치의 기본 폴더에서 자동으로 찾아냅니다.
검사가 완료되면 프로그램은 자신이 있는 디렉터리에 results.log 파일을 생성합니다. 구문 분석 과정에서 발견된 업그레이드 문제는 이 로그 파일에서 빠르게 확인할 수 있습니다.
또한 SetupDiag는 처리한 모든 로그 파일을 zip 압축 파일로 묶어 같은 디렉터리에 Logs.zip으로 저장합니다.
마지막으로, 다른 장치에서 복사해 온 폴더를 분석하기 위해 SetupDiag.exe를 오프라인 모드로 실행할 수도 있습니다.
SetupDiag가 Windows 설치 프로그램에 기본 포함
Windows 10 버전 2004부터는 SetupDiag 도구가 Windows 설치 프로그램에 기본 포함되어 있습니다.
업그레이드 과정에서 Windows 설치 프로그램은 모든 원본 파일을 %SystemDrive%$Windows.~bt\Sources 디렉터리에 추출합니다. setupdiag.exe 역시 이 폴더에 함께 설치되며, 업그레이드가 실패하면 SetupDiag가 자동으로 실행되어 실패 원인을 찾아냅니다.
이 경우에는 다음 매개변수가 사용됩니다.
/ZipLogs:False
/Format:xml
/Output:%windir%\logs\SetupDiag\SetupDiagResults.xml
/RegPath:HKEY_LOCAL_MACHINE\SYSTEM\Setup\SetupDiag\Results
SetupDiag의 분석 결과는 다음 위치에서 확인할 수 있습니다.
%WinDir%\Logs\SetupDiag\SetupDiagResults.xml
그리고 레지스트리의 다음 경로에도 저장됩니다.
HKLM\SYSTEM\Setup\SetupDiag\Results
- 업그레이드가 정상적으로 완료되면 setupdiag.exe가 포함된 Sources 디렉터리는 정리를 위해
%SystemDrive%\Windows.Old아래로 이동됩니다. - Windows.old 디렉터리가 나중에 삭제되면 setupdiag.exe도 함께 제거됩니다.
SetupDiag.exe 사용법에 대한 전체적인 내용은 Microsoft 공식 문서를 참고하시기 바랍니다.