Microsoft MVP성태의 닷넷 이야기
오류 유형: 312. 윈도우 10 TH2 (버전 1511) 업데이트가 안되는 경우 [링크 복사], [링크+제목 복사]
조회: 20816
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

윈도우 10 TH2 (버전 1511) 업데이트가 안되는 경우

"시작" / "Settings" 메뉴를 선택해 "Update & security" 항목을 들어가 보니 이번 윈도우 1511 업데이트가 다음과 같이 오류가 난 걸로 나왔습니다.

prepare_to_install_0.png

재시도하는 버튼을 눌렀더니, 다음과 같이 "Preparing to install updates"에서 더 이상 진행이 되질 않습니다.

prepare_to_install_1.png

실제로 정상적인 윈도우 업데이트 단계 중에도 "Preparing to install updates" 부분이 좀 오래 걸리긴 하지만, 문제가 발생해서 업데이트 진행이 안되는 경우에는 해당 "Settings" 윈도우 창이 먹통이 되는 것으로 인지할 수 있습니다. 즉, 정상적인 윈도우 업데이트인 경우에는 해당 창을 끌거나 하는 것이 가능하지만 문제가 발생해 먹통이 된 경우에는 아무리 오래 기다려도 그 이상 진행을 하지 않습니다.

왜 이런 걸까요? ^^;




제어판의 "Troubleshooting" / "View history" 링크로 들어가면 다음과 같이 실패 이력이 남고,

prepare_to_install_2.png

우클릭해서 "View details"를 보면 이렇게 오류 코드가 "0x80070057"로 나옵니다. (이건 별로 도움이 안되는 오류 코드입니다.)

prepare_to_install_3.png

실제 오류 원인은 로그에 나오는데요. 이번 윈도우 업데이트를 시작하면 "C:\$WINDOWS.~BT\Sources\Panther" 폴더 하위에 setupact.log라는 이름으로 진행 관련한 로그가 남습니다.

이 로그를 보다가 다음의 오류를 발견할 수 있었는데,

2015-11-19 16:43:29, Info                  SP     DU disk space checkpoint after download:
2015-11-19 16:43:29, Info                  SP       Available: 2787401728
2015-11-19 16:43:29, Info                  SP       Needed by install of updates: 2106018541
2015-11-19 16:43:29, Info                  SP       Needed by setup: 597688320
2015-11-19 16:43:29, Info                  SP     Reserved space (2106018541) not accurate; will perform additional buffer check.
2015-11-19 16:43:29, Warning               SP     CDownloadDUUpdates::DoExecuteInternal: Total space estimate leaves low free space; skipping installation.
2015-11-19 16:43:29, Error                        CDiagnosticsHelper::SetSQMDatapoint: Attempting to set a datapoint in an invalid SQM session
2015-11-19 16:43:29, Error                 SP     CSetupPlatform::DownloadDynamicUpdates: Failed to download updates. Error: 0x80070070
2015-11-19 16:43:29, Error                 MOUPG  DUImage: Failed to execute GDR search and download [0x80070070]
2015-11-19 16:43:29, Info                  MOUPG  DUImage: Searching for driver updates...
2015-11-19 16:43:29, Info                         SPGetWIMImageInfo: No software hive in WIM image index 1; assuming this is data image.
2015-11-19 16:43:30, Info                  MOUPG  Action progress: [22%]
2015-11-19 16:43:30, Info                  MOUPG  Task progress: [44%]
2015-11-19 16:43:36, Info                  SP     Client application ID = SetupHost.Exe

여기서 "CSetupPlatform::DownloadDynamicUpdates: Failed to download updates. Error: 0x80070070"의 오류 코드인 0x80070070은 디스크 부족을 의미합니다.

Windows Update error: "Windows Update has encountered a problem and cannot display the requested page. 0X80070070."
; http://blogs.technet.com/b/sus/archive/2008/05/28/windows-update-error-windows-update-has-encountered-a-problem-and-cannot-display-the-requested-page-0x80070070.aspx

그렇습니다. C 드라이버의 용량이 7GB 정도 있었는데 이걸로는 부족했던 것입니다. 아무리 그렇다고는 하지만, 마이크로소프트가 너무 불친절하군요. 그럼 윈도우 업데이트 중에 디스크 부족이라고 메시지 창 하나만 띄워주었어도 이런 술래잡기는 없었을 텐데. ^^




자, 이제 디스크 부족이라는 것을 알았으니 선택 사항이 2가지가 있습니다. 하나는 가장 간단하게 C 드라이버의 여유 공간을 10GB 정도로 늘려주는 것입니다. 안 쓰는 프로그램을 삭제하든... 갖은 방법을 동원해서 해주시면 됩니다.

그게 아니라면 윈도우 업데이트가 아닌 수작업으로 업데이트를 진행하면 됩니다. 마이크로소프트는 TH2 업데이트를 ISO 파일로 다음의 사이트에서 제공하고 있는데,

Windows 10 Tech Bench Upgrade Program
; https://www.microsoft.com/en-us/software-download/techbench 

위의 화면 하단에서 자신에게 맞는 윈도우 10 버전과 언어 유형을 선택해 주면 그에 해당하는 iso 파일을 다운로드받게 됩니다. 제 경우에는 "Win10_1511_English_x64.iso"이었는데요.

다운로드 받은 후 ISO 파일을 마우스 우클릭해 "Mount" 메뉴를 실행해 주면 가상 CD-ROM으로 연결되고 거기 있는 setup.exe를 실행하면 됩니다.

이렇게 업데이트를 시도하면 이번에는 친절하게 디스크 부족이었다고 원인을 밝혀주고 C 드라이브를 정리하거나, 아니면 10GB 여유 공간이 있는 다른 하드 디스크를 선택하라고 일러줍니다.

prepare_to_install_4.png

C 드라이브를 10GB 확보할 수 있었으면 ISO 다운로드 받아 setup.exe 실행할 수고없이 "Settings"의 윈도우 업데이트 창에서 끝냈을 것입니다. 여기까지 온 것은 그게 쉽지 않은 때문이고 "Choose another drive or attach an external drive with 10.0GB available" 메뉴의 혜택을 받기 위해서였던 것이지요. ^^

암튼 그 링크를 선택하면 바로 하단에 드라이브 목록이 뜨고 제 경우에는 330GB 여유가 있는 외장 하드를 지정했습니다.

prepare_to_install_5.png

그리곤 우측 하단의 "Refresh" 버튼을 누르고 설치 작업을 시작해 주시면 됩니다. 나머지는 이제 기다리는 여유만 있으면 됩니다.




설치가 완료되었으면, 이제 탐색기를 실행해 "C" 드라이브를 선택하고 마우스 우클릭을 해 "Properties" / "Disk Cleanup" 버튼을 누르고 뜨는 창에서 좌측 하단의 "Clean up system files" 버튼을 누르면 다음과 같이 이전 윈도우 설치 본을 제거해 C 드라이브 하드 공간을 업데이트 설치 이전보다 더 여유롭게 만들 수 있습니다. (덕분에 제 경우에 설치전 8GB 이하였는데 지금은 19GB 정도의 여유 공간이 남았습니다.)

prepare_to_install_6.png

업데이트로 인해 어떤 것이 좋아졌느냐고 물으신다면, 제 경우에 다음과 같은 것들을 꼽을 수 있습니다.


그 외에는 업데이트 설치 전과 잘 모르겠습니다. 전반적으로 안정화가 이뤄졌을 거라는 추측 뿐. ^^

참고로, 내부적으로는 인텔의 신형 Skylake CPU에서만 제공되는 보안도 적용되었다고 합니다.

Windows 10 Threshold 2에 구현된 SGX
; http://blog.naver.com/gloryo/220542548735

CPU | 인텔, 10월부터 SGX 기술이 탑재된 업데이트된 스카이레이크 프로세서 공급 
; http://www.hwbattle.com/bbs/board.php?bo_table=news&wr_id=9958




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 7/18/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2019-03-08 12시11분
SetupDiag
; https://docs.microsoft.com/en-us/windows/deployment/upgrade/setupdiag

SetupDiag is a standalone diagnostic tool that can be used to obtain details about why a Windows 10 upgrade was unsuccessful.
정성태

... 16  17  18  19  [20]  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
13131정성태10/3/20228171.NET Framework: 2052. C# - Windows Forms의 데이터 바인딩 지원(DataBinding, DataSource) [2]파일 다운로드1
13130정성태9/28/20225201.NET Framework: 2051. .NET Core/5+ - 에러 로깅을 위한 Middleware가 동작하지 않는 경우파일 다운로드1
13129정성태9/27/20225495.NET Framework: 2050. .NET Core를 IIS에서 호스팅하는 경우 .NET Framework CLR이 함께 로드되는 환경
13128정성태9/23/20228094C/C++: 158. Visual C++ - IDL 구문 중 "unsigned long"을 인식하지 못하는 #import파일 다운로드1
13127정성태9/22/20226541Windows: 210. WSL에 systemd 도입
13126정성태9/15/20227142.NET Framework: 2049. C# 11 - 정적 메서드에 대한 delegate 처리 시 cache 적용
13125정성태9/14/20227348.NET Framework: 2048. C# 11 - 구조체 필드의 자동 초기화(auto-default structs)
13124정성태9/13/20227119.NET Framework: 2047. Golang, Python, C#에서의 CRC32 사용
13123정성태9/8/20227538.NET Framework: 2046. C# 11 - 멤버(속성/필드)에 지정할 수 있는 required 예약어 추가
13122정성태8/26/20227508.NET Framework: 2045. C# 11 - 메서드 매개 변수에 대한 nameof 지원
13121정성태8/23/20225503C/C++: 157. Golang - 구조체의 slice 필드를 Reflection을 이용해 변경하는 방법
13120정성태8/19/20227017Windows: 209. Windows NT Service에서 UI를 다루는 방법 [3]
13119정성태8/18/20226570.NET Framework: 2044. .NET Core/5+ 프로젝트에서 참조 DLL이 보관된 공통 디렉터리를 지정하는 방법
13118정성태8/18/20225448.NET Framework: 2043. WPF Color의 기본 색 영역은 (sRGB가 아닌) scRGB [2]
13117정성태8/17/20227569.NET Framework: 2042. C# 11 - 파일 범위 내에서 유효한 타입 정의 (File-local types)파일 다운로드1
13116정성태8/4/20228047.NET Framework: 2041. C# - Socket.Close 시 Socket.Receive 메서드에서 예외가 발생하는 문제파일 다운로드1
13115정성태8/3/20228414.NET Framework: 2040. C# - ValueTask와 Task의 성능 비교 [1]파일 다운로드1
13114정성태8/2/20228552.NET Framework: 2039. C# - Task와 비교해 본 ValueTask 사용법파일 다운로드1
13113정성태7/31/20227779.NET Framework: 2038. C# 11 - Span 타입에 대한 패턴 매칭 (Pattern matching on ReadOnlySpan<char>)
13112정성태7/30/20228184.NET Framework: 2037. C# 11 - 목록 패턴(List patterns) [1]파일 다운로드1
13111정성태7/29/20227991.NET Framework: 2036. C# 11 - IntPtr/UIntPtr과 nint/nuint의 통합파일 다운로드1
13110정성태7/27/20228031.NET Framework: 2035. C# 11 - 새로운 연산자 ">>>" (Unsigned Right Shift)파일 다운로드1
13109정성태7/27/20229406VS.NET IDE: 177. 비주얼 스튜디오 2022를 이용한 (소스 코드가 없는) 닷넷 모듈 디버깅 - "외부 원본(External Sources)" [1]
13108정성태7/26/20227421Linux: 53. container에 실행 중인 Golang 프로세스를 디버깅하는 방법 [1]
13107정성태7/25/20226632Linux: 52. Debian/Ubuntu 계열의 docker container에서 자주 설치하게 되는 명령어
13106정성태7/24/20226331오류 유형: 819. 닷넷 6 프로젝트의 "Conditional compilation symbols" 기본값 오류
... 16  17  18  19  [20]  21  22  23  24  25  26  27  28  29  30  ...