Microsoft MVP성태의 닷넷 이야기
오류 유형: 312. 윈도우 10 TH2 (버전 1511) 업데이트가 안되는 경우 [링크 복사], [링크+제목 복사],
조회: 21716
글쓴 사람
정성태 (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.
정성태

1  2  3  4  5  [6]  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13526정성태1/14/20243054닷넷: 2201. C# - Facebook 연동 / 사용자 탈퇴 처리 방법
13525정성태1/13/20242836오류 유형: 891. Visual Studio - Web Application을 실행하지 못하는 IISExpress
13524정성태1/12/20242909오류 유형: 890. 한국투자증권 KIS Developers OpenAPI - GW라우팅 중 오류가 발생했습니다.
13523정성태1/12/20242647오류 유형: 889. Visual Studio - error : A project with that name is already opened in the solution.
13522정성태1/11/20242998닷넷: 2200. C# - HttpClient.PostAsJsonAsync 호출 시 "Transfer-Encoding: chunked" 대신 "Content-Length" 헤더 처리
13521정성태1/11/20243151닷넷: 2199. C# - 한국투자증권 KIS Developers OpenAPI의 WebSocket Ping, Pong 처리
13520정성태1/10/20242808오류 유형: 888. C# - Unable to resolve service for type 'Microsoft.Extensions.ObjectPool.ObjectPool`....'
13519정성태1/10/20242800닷넷: 2198. C# - Reflection을 이용한 ClientWebSocket의 Ping 호출파일 다운로드1
13518정성태1/9/20243077닷넷: 2197. C# - ClientWebSocket의 Ping, Pong 처리
13517정성태1/8/20242910스크립트: 63. Python - 공개 패키지를 이용한 위성 이미지 생성 (pystac_client, odc.stac)
13516정성태1/7/20242902닷넷: 2196. IIS - AppPool의 "Disable Overlapped Recycle" 옵션의 부작용
13515정성태1/6/20243354닷넷: 2195. async 메서드 내에서 C# 7의 discard 구문 활용 사례 [1]
13514정성태1/5/20242978개발 환경 구성: 702. IIS - AppPool의 "Disable Overlapped Recycle" 옵션
13513정성태1/5/20242986닷넷: 2194. C# - WebActivatorEx / System.Web의 PreApplicationStartMethod 특성
13512정성태1/4/20242974개발 환경 구성: 701. IIS - w3wp.exe 프로세스의 ASP.NET 런타임을 항상 Warmup 모드로 유지하는 preload Enabled 설정
13511정성태1/4/20243013닷넷: 2193. C# - ASP.NET Web Application + OpenAPI(Swashbuckle) 스펙 제공
13510정성태1/3/20242840닷넷: 2192. C# - 특정 실행 파일이 있는지 확인하는 방법 (Linux)
13509정성태1/3/20242955오류 유형: 887. .NET Core 2 이하의 프로젝트에서 System.Runtime.CompilerServices.Unsafe doesn't support netcoreapp2.0.
13508정성태1/3/20242913오류 유형: 886. ORA-28000: the account is locked
13507정성태1/2/20243763닷넷: 2191. C# - IPGlobalProperties를 이용해 netstat처럼 사용 중인 Socket 목록 구하는 방법파일 다운로드1
13506정성태12/29/20233322닷넷: 2190. C# - 닷넷 코어/5+에서 달라지는 System.Text.Encoding 지원
13505정성태12/27/20234087닷넷: 2189. C# - WebSocket 클라이언트를 닷넷으로 구현하는 예제 (System.Net.WebSockets)파일 다운로드1
13504정성태12/27/20233530닷넷: 2188. C# - ASP.NET Core SignalR로 구현하는 채팅 서비스 예제파일 다운로드1
13503정성태12/27/20233292Linux: 67. WSL 환경 + mlocate(locate) 도구의 /mnt 디렉터리 검색 문제
13502정성태12/26/20233391닷넷: 2187. C# - 다른 프로세스의 환경변수 읽는 예제파일 다운로드1
13501정성태12/25/20233125개발 환경 구성: 700. WSL + uwsgi - IPv6로 바인딩하는 방법
1  2  3  4  5  [6]  7  8  9  10  11  12  13  14  15  ...