Windows 10 수명 주기에 따르면 사용자는 이전 Windows 버전보다 더 자주 대규모 업데이트 패키지(기능 업데이트)를 설치해야 합니다. Windows 10은 1년에 두 번 업그레이드됩니다. 현재 최신 Windows 10 버전은 Windows 10 1809(2018년 10월 업데이트)입니다. Windows 10 버전 업그레이드는 이전 Windows 버전의 서비스 팩 설치와 비교할 수 있습니다. Windows 10 Insider Preview 프로그램의 구성원은 이러한 빌드를 더 자주 설치합니다. 시스템 빌드는 한 달에 3-4번 업데이트됩니다.
Windows 10 업그레이드가 항상 성공적으로 수행되는 것은 아닙니다. 여러 가지 이유로 새 빌드 설치가 실패할 수 있습니다. 그러나 업데이트를 설치할 수 없는 이유를 항상 이해할 수 있는 것은 아닙니다(Windows는 의미 있는 정보를 표시하지 않음). 그럼에도 불구하고 빌드 업그레이드 프로세스에 대한 모든 필요한 정보는 로그 파일에 저장됩니다. 이 정보는 Windows 10 업그레이드 오류를 진단하고 수정할 때 유용할 수 있습니다. 이 로그는 일반 텍스트 파일이며, 의미 있는 정보를 찾으려면 진정한 Windows 전문가여야 합니다.
Microsoft의 SetupDiag.exe 도구
다행히 Microsoft는 최근 새로운 진단 도구인 SetupDiag.exe를 출시했습니다. , Windows 10 빌드가 컴퓨터에서 업그레이드되지 않은 이유에 대한 자세한 정보를 얻을 수 있습니다. 이것은 명령줄 도구이며 업그레이드되지 않은 Windows 10 컴퓨터에서 직접 시작하거나 다른 컴퓨터의 오프라인 모드에서 시작해야 하며 미리 문제가 있는 컴퓨터에서 로그 파일을 복사해야 합니다.
SetupDiag는 Windows 설치 로그를 스캔하고 특정 Windows 업그레이드 문제를 나타내는 특정 오류를 찾습니다.
SetupDiag.exe
Windows 10에서 작동하며 컴퓨터에 .NET Framework 4.6 이상이 설치되어 있어야 합니다(컴퓨터에 설치된 .NET Framework 버전 확인). 이 도구를 사용하여 Windows 10 빌드의 업그레이드 오류를 진단하고 Windows 7 SP1 또는 Windows 8.1에서 Windows 10으로 업그레이드할 때 모두 진단할 수 있습니다. (업그레이드 로그 파일을 분석하려면 Windows 10을 실행하는 컴퓨터에 복사해야 합니다.)
https://go.microsoft.com/fwlink/?linkid=870142 링크에서 SetupDiag 도구를 다운로드하고 상승된 cmd에서 실행합니다. 매개변수 없이 실행하면 이 도구는 Windows 10이 업그레이드 중에 생성하는 로그 파일을 찾으려고 시도합니다.
SetupDiag 검색은 새 Windows 10 빌드 설치의 여러 단계에서 시스템이 만든 표준 경로를 따릅니다. 기본적으로 로그 파일은 다음 폴더에 있습니다.
\$Windows.~bt\Sources\Rollback
– Windows 10 업그레이드가 오류와 함께 완료되고 이전 빌드로 롤백해야 하는 경우 업그레이드 파일이 이 디렉터리에 나타납니다.\$Windows.~bt\sources\panther
\Windows\Panther
\Windows\Panther\NewOS
로그가 분석되면 도구는 results.log를 생성합니다. 파일이 실행되는 디렉토리에 있습니다. 파일에는 업그레이드 중에 발생한 오류 목록이 포함되어 있습니다(/Output을 사용하여 결과 파일의 위치를 지정할 수 있습니다. 매개변수). 이 유틸리티는 또한 소스 로그 파일로 ZIP 아카이브를 생성합니다.
오프라인 모드에서 SetupDiag 도구를 실행하고 다른 컴퓨터에서 복사한 로그 파일을 검사할 수 있습니다. 예를 들어, 특정 폴더에서 오프라인으로 로그 파일을 검색하고 결과를 지정된 파일에 저장하려면 다음 명령을 실행하십시오.
SetupDiag.exe /Output:C:\SetupDiag\Results.log /Mode:Offline /LogsPath:D:\Logs
SetupDiag는 BSOD가 나타날 때 Windows 10에서 생성된 메모리 덤프 파일(미니 덤프)을 분석하는 데 사용할 수 있습니다(WinDbg가 설치되어 있어야 함). setupmem.dmp는 %SystemDrive%$Windows.~bt\Sources\Rollback
에 생성됩니다. 또는 %WinDir%\Panther\NewOS\Rollback
단계에 따라 Windows 10 빌드의 업그레이드가 중단되었습니다.
지정된 디렉토리에서 setupmem.dmp를 분석하려면 다음 명령을 실행하십시오.
SetupDiag.exe /Output:C:\SetupDiag\Dumpdebug.log /Mode:Offline /LogsPath:D:\Dump
SetupDiag 규칙
SetupDiag를 시작하면 콘솔에 다음 메시지가 표시됩니다.
SetupDiag: processing rule: CompatScanOnly. No match.
SetupDiag: processing rule: BitLockerHardblock. No match.
SetupDiag: processing rule: VHDHardblock. No match.
SetupDiag: processing rule: PortableWorkspaceHardblock. No match.
SetupDiag: processing rule: AuditModeHardblock. No match.
SetupDiag: processing rule: SafeModeHardblock. No match.
SetupDiag는 알려진 Windows 10 업그레이드 문제를 찾는 데 사용되는 미리 정의된 여러 패턴(규칙)을 사용합니다. 즉. SetupDiag는 이러한 패턴에서 확인된 업그레이드 오류만 찾는 데 도움이 됩니다. 일치하지 않음 문자열은 지정된 문제가 로그에서 발견되지 않음을 의미합니다.
SetupDiag 규칙 세트가 확장되고 있습니다. 예를 들어, SetupDiag v1.00(03/30/2018)에는 26개의 규칙이 있고 SetupDiag v1.4.0.0(12/18/2018)에는 53개의 템플릿이 있습니다. 각 규칙에는 이름과 고유 식별자가 있습니다. SetupDiag 규칙과 Windows 10 업그레이드 관련 오류를 간단히 살펴보겠습니다.
- CompatScanOnly — FFDAFD37-DB75-498A-A893-472D49A1311D – setup.exe 설치가 업그레이드 모드가 아니라 호환 모드에서 호출되었습니다.
- BitLockerHardblock — C30152E2-938E-44B8-915B-D1181BA635AE – 대상 시스템에서 지원되지 않는 BitLocker가 소스 시스템에 활성화되어 있습니다.
- VHDHardblock — D9ED1B82-4ED8-4DFD-8EC0-BE69048978CC – 시스템이 VHD 이미지로 부팅됩니다(이 업그레이드 모드는 Windows 10에서 지원되지 않음).
- PortableWorkspaceHardblock — 5B0D3AB4-212A-4CE4-BDB9-37CA404BB280 – 시스템이 USB Windows To-Go 장치에서 부팅됩니다(Windows To-Go 환경에서의 업그레이드는 지원되지 않음).
- AuditModeHardblock — A03BD71B-487B-4ACA-83A0-735B0F3F1A90 – OS가 감사 모드로 부팅됩니다.
- SafeModeHardblock — 404D9523-B7A8-4203-90AF-5FBB05B6579B — OS가 안전 모드로 부팅됩니다.
- InsufficientSystemPartitionDiskSpaceHardblock — 3789FBF8-E177-437D-B1E3-D38B4C4269D1 – 시스템 파티션에 업그레이드를 위한 공간이 충분하지 않습니다.
- CompatBlockedApplicationAutoUninstall – BEBA5BC6-6150-413E-8ACE-5E1EC8D34DD5 – 빌드 업그레이드 전에 제거해야 하는 호환되지 않는 앱 발견
- CompatBlockedApplicationDismissable — EA52620B-E6A0-4BBC-882E-0686605736D9 – 자동(/quiet 키 사용) 모드로 설치하는 동안 사용자와의 상호 작용이 필요하고 설치를 차단하는 오류가 발생했습니다.
- CompatBlockedApplicationManualUninstall — 9E912E5F-25A5-4FC0-BEC1-CA0EA5432FF4 – 프로그램 추가/제거 항목이 없는 비표준 응용 프로그램이 시스템에 있습니다. 해당 파일은 수동으로 제거해야 합니다.
- HardblockDeviceOrDriver — ED3AEFA1-F3E2-4F33-8A21-184ADF215B1B – 설치된 드라이버 중 하나가 새 OS와 호환되지 않으므로 제거해야 합니다.
- HardblockMismatchedLanguage — 60BA8449-CF23-4D92-A108-D6FCEFB95B45 – 소스와 대상 시스템의 언어가 일치하지 않습니다.
- HardblockFlightSigning — 598F2802-3E7F-4697-BD18-7A6371C8B2F8 – 보안 부팅 모드가 활성화된 컴퓨터에 시험판(Windows 참가자 프로그램의 일부로)을 설치하려고 합니다. 시험판은 이 모드에서 부팅되지 않습니다.
- DiskSpaceBlockInDownLevel — 6080AFAC-892E-4903-94EA-7A17E69E549E – 업그레이드 시 시스템의 디스크 공간이 부족합니다.
- DiskSpaceFailure — 981DCBA5-B8D0-4BA7-A8AB-4030F7A10191 – 새 릴리스로 재부팅한 후 시스템의 디스크 공간이 부족합니다.
- DeviceInstallHang — 37BB1C3A-4D79-40E8-A556-FDA126D40BC6 – 업그레이드 설치 중 시스템이 중단되거나 실패했습니다(BSOD 표시됨).
- DebugSetupMemoryDump — C7C63D8A-C5F6-4255-8031-74597773C3C6 – 설치 중에 BSOD가 나타납니다. 추가 디버그를 위해 메모리 덤프를 분석해야 합니다.
- DebugSetupCrash — CEEBA202-6F04-4BC3-84B8-7B99AED924B1 – 메모리 덤프 디버그가 필요한 설정 오류
- DebugMemoryDump — 505ED489-329A-43F5-B467-FCAAF6A1264C – 설정/업그레이드 중에 생성된 memory.dmp 파일을 디버그하는 규칙입니다.
- BootFailureDetected — 4FB446C2-D4EC-40B4-97E2-67EB19D1CFB7 – 업그레이드의 특정 단계에서 부팅 실패가 발생했습니다.
- FindDebugInfoFromRollbackLog — 9600EB68-1120-4A87-9FE9-3A4A70ACFC37 – 디버그 패키지를 설치할 필요 없이 BSOD에 대한 정보를 제공합니다.
- AdvancedInstallerFailed — 77D36C96-32BE-42A2-BB9C-AAFFE64FCADC — 치명적인 설치 프로그램 오류
- FindMigApplyUnitFailure — A4232E11-4043-4A37-9BF4-5901C46FD781 – 마이그레이션 단위의 오류입니다.
- FindMigGatherUnitFailure — D04C064B-CD77-4E64-96D6-D26F30B4EE29 – 실패한 마이그레이션 단위에 대한 자세한 정보입니다.
- CriticalSafeOSDUFailure — 73566DF2-CA26-4073-B34C-C9BC70DBF043 – SafeOS 이미지 업데이트 실패
- UserProfileCreationFailureDuringOnlineApply — 678117CE-F6A9-40C5-BC9F-A22575C78B14 – 업그레이드의 온라인 단계에서 사용자 프로필을 생성하거나 편집할 때 오류가 발생합니다.
- WimMountFailure — BE6DF2F1-19A6-48C6-AEF8-D3B0CE3D4549 – 업그레이드 중에 WIM 파일을 마운트하지 못했습니다.
- FindSuccessfulUpgrade — 8A0824C8-A56D-4C55-95A0-22751AB62F3E – Windows 10 빌드가 성공적으로 업그레이드되었습니다.
- FindSetupHostReportedFailure — 6253C04F-2E4E-4F7A-B88E-95A69702F7EC – setuphost.exe에서 업그레이드 초기 단계의 실패
- FindDownlevelFailure — 716334B7-F46A-4BAA-94F2-3E31BC9EFA55 – SetupPlatform의 오류입니다.
- FindAbruptDownlevelFailure — 55882B1A-DA3E-408A-9076-23B22A0472BD – 로그 항목이 예기치 않게 종료되는 최신 오류에 대한 정보입니다.
- FindSetupPlatformFailedOperationInfo — 307A0133-F06B-4B75-AEA8-116C3B53C2D1 – SetupPlatform 치명적인 오류가 발생한 경우 단계 및 오류에 대한 정보입니다.
- FindRollbackFailure — 3A43C9B5-05B3-4F7C-A955-88F991BB5A48 – 이전 Windows 10 버전으로 롤백하기 전의 최신 작업 및 문제 단계
- AdvancedInstallerGenericFailure – 4019550D-4CAA-45B0-A222-349C48E86F71 – AdvancedInstaller의 읽기/쓰기 오류입니다.
- OptionalComponentFailedToGetOCsFromPackage – D012E2A2-99D8-4A8C-BBB2-088B92083D78 – 패키지 구성 요소 목록을 가져오려고 할 때 선택적 구성 요소의 오류에 대한 정보입니다.
- OptionalComponentOpenPackageFailed – 22952520-EC89-4FBD-94E0-B67DF88347F6 – 선택적 구성 요소를 열려고 할 때 실패합니다.
- OptionalComponentInitCBSSessionFailed – 63340812-9252-45F3-A0F2-B2A4CA5E9317 – 설치 프로그램 또는 특정 구성 요소가 실행되고 있지 않습니다.
- UserProfileCreationFailureDuringFinalize – C6677BA6-2E53-4A88-B528-336D15ED1A64 – 업그레이드 마지막 단계에서 사용자 프로필 생성 오류
- WimApplyExtractFailure – 746879E9-C9C5-488C-8D4B-0C811FF3A9A8 – WIM 이미지의 압축을 풀 때 오류가 발생합니다.
- UpdateAgentExpanderFailure – 66E496B3-7D19-47FA-B19B-4040B9FD17E2 — Windows 업데이트를 사용하여 업데이트할 때 DPX 오류입니다.
- FindFatalPluginFailure – E48E3F1C-26F6-4AFB-859B-BF637DA49636 – 플러그인 중 하나의 오류
- AdvancedInstallerFailed – 77D36C96-32BE-42A2-BB9C-AAFFE64FCADC – 설치 프로그램 패키지를 실행하는 동안 AdvancedInstaller에 심각한 오류가 있음을 나타냅니다.
- MigrationAbortedDueToPluginFailure – D07A24F6-5B25-474E-B516-A730085940C9 – 설정이 마이그레이션을 중단하게 하는 마이그레이션 플러그인의 치명적인 오류입니다.
- DISMAddPackageFailed – 6196FF5B-E69E-4117-9EC6-9C1EAB20A3B9 – DISM 패키지 추가 작업 중 심각한 오류
- PlugInComplianceBlock – D912150B-1302-4860-91B5-527907D08960 – 서버 규정 준수 플러그인의 모든 호환 차단을 감지합니다.
- AdvancedInstallerGenericFailure – 4019550D-4CAA-45B0-A222-349C48E86F71 – 일반적인 의미에서 고급 설치 프로그램 오류를 트리거합니다.
- FindMigGatherApplyFailure – A9964E6C-A2A8-45FF-B6B5-25E0BD71428E- 수집 또는 적용 작업에서 마이그레이션 엔진이 실패하면 오류가 표시됩니다.
- OptionalComponentFailedToGetOCsFromPackage – D012E2A2-99D8-4A8C-BBB2-088B92083D78 – 선택적 구성 요소 마이그레이션 작업이 선택적 구성 요소 패키지에서 선택적 구성 요소를 열거하는 데 실패했음을 나타냅니다.
- OptionalComponentOpenPackageFailed – 22952520-EC89-4FBD-94E0-B67DF88347F6 – 선택적 구성 요소 마이그레이션 작업이 선택적 구성 요소 패키지를 열지 못했음을 나타냅니다.
- OptionalComponentInitCBSSessionFailed – 63340812-9252-45F3-A0F2-B2A4CA5E9317 – 하위 시스템의 서비스 스택 손상을 나타냅니다.
- DISMproviderFailure – D76EF86F-B3F8-433F-9EBF-B4411F8141F4 – DISM 공급자(플러그인)가 중요한 작업에서 실패할 때 트리거됩니다.
- SysPrepLaunchModuleFailure – 7905655C-F295-45F7-8873-81D6F9149BFD – 중요한 작업에서 sysPrep 플러그인이 실패했음을 나타냅니다.
- UserProvidedDriverInjectionFailure – 2247C48A-7EE3-4037-AFAB-95B92DE1D980 – (명령줄 입력을 통해) 설정에 제공된 드라이버가 어떤 식으로든 실패했습니다.
다음은 OS, 소스 및 대상 Windows 10 버전 및 오류 FindFatalPluginFailure에 대한 정보를 제공하는 results.log 파일의 예입니다.
Matching Profile found: FindFatalPluginFailure - E48E3F1C-26F6-4AFB-859B-BF637DA49636
System Information:
Machine Name = Offline
Manufacturer = VMware, Inc.
Model = VMware Virtual Platform
HostOSArchitecture = x64
FirmwareType = PCAT
BiosReleaseDate = 20160921000000.000000+000
BiosVendor = PhoenixBIOS 4.0 Release 6.0
BiosVersion = 6.00
HostOSVersion = 10.0.16299
HostOSBuildString = 16299.15.amd64fre.rs3_release.170928-1534
TargetOSBuildString = 10.0.17134.1 (rs4_release.180410-1804)
HostOSLanguageId = 1049
HostOSEdition = Professional
RegisteredAV =
FilterDrivers =
UpgradeStartTime = 4/10/2019 9:17:59 PM
UpgradeEndTime = 4/10/2019 10:10:36 PM
UpgradeElapsedTime = 00:52:37
ReportId = 004db4ee-17f9-4b6f-bc46-a8bd9877ccd8
Error: SetupDiag reports fatal migration plug-in failure. Plug-in Name = %windir%\system32\migration\CntrtextMig.dll, Migration Operation = IPostApply->ApplySuccess, Plug-in Error: 0x00000032
이 예에서 SetupDiag는 %windir%\system32\migration\CntrtextMig.dll 플러그인의 오류로 인해 업그레이드 설치가 실패했음을 발견했습니다.
시스템이 성공적으로 업그레이드된 경우 results.log에 다음 메시지가 포함됩니다.
Matching Profile found: FindSuccessfulUpgrade - 8A0824C8-A56D-4C55-95A0-22751AB62F3E
SetupDiag 오류:처리되지 않은 예외로 인해 Main()이 실패했습니다.
경우에 따라 SetupDiag를 실행할 때 다음 오류가 발생할 수 있습니다. “ SetupDiag:Main()이 처리되지 않은 예외로 인해 실패했습니다. ” 로그
10:20:58 - SetupDiag: Main() failed with an unhandled exception:
Could not find a part of the path 'C:\$Windows.~bt\sources\rollback'.
Exception System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\$Windows.~bt\sources\rollback'.
Source: mscorlib
Stack: at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileSystemEnumerableIterator`1.CommonInit()
at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
at System.IO.DirectoryInfo.InternalGetFiles(String searchPattern, SearchOption searchOption)
at System.IO.DirectoryInfo.GetFiles(String searchPattern, SearchOption searchOption)
at Microsoft.Internal.Deployment.SetupDiag.CSetupAPIParser.GetCorrectSetupApiLog(String logsPath, DateTime dtSetupActLogTime)
at Microsoft.Internal.Deployment.SetupDiag.Directive.DirectiveDetermineDeviceInstallHang()
at Microsoft.Internal.Deployment.SetupDiag.Directive.DoDirective()
at Microsoft.Internal.Deployment.SetupDiag.CSetupDiag.RunDiag(String strRulesFile, String strlogsPath, String strMode, String strOutPut, String strFormat, String resLevel, Boolean fCreateLogs)
at Microsoft.Internal.Deployment.SetupDiag.Program.Main(String[] args)
제 경우에는 로그 폴더 중 하나가 누락되었기 때문입니다. 나머지 로그를 특정 폴더에 복사하고 오프라인 모드에서 SetupDiag를 실행하여 이 문제를 해결했습니다.
SetupDiag.exe /Output:C:\tools\Results.log /Mode:Offline /LogsPath:c:\Logs\
일부 오류는 수정하기 쉽고(예:시스템 볼륨의 여유 공간 부족) 다른 오류는 더 어렵습니다. 어쨌든, SetupDiag를 사용하면 Windows 10을 실행하는 컴퓨터에서 업그레이드 문제를 더 빠르게 진단하고 수정할 수 있으며 수동으로 로그를 분석하는 관리자의 수고를 줄일 수 있습니다.