내 PC 데스크탑 시스템의 수명 중 어느 시점에서 비디오 게임을 하는 동안 연속으로 두 개의 블루스크린이 발생했습니다. 그런 다음 모든 하드웨어를 다시 연결하여 시스템 충돌을 막을 수 있었지만 어떤 이유로 1803에서 1903으로의 연간 업그레이드 및 1803 버전의 Windows에 대해 .NET 프레임워크를 4.8로 무작위 업데이트하는 등 시스템에 영향을 미치는 Windows 업데이트가 있었습니다. 계속 설치에 실패했습니다. 필수 사항은 아니었지만 Windows Defender에 대한 정기 보안 업데이트가 여전히 작동했기 때문에 신경 쓰지 않았습니다. 어느 시점에서 Windows 업데이트 문제 해결사를 실행했는데 오류가 발견되었지만 다시 시작하면 수정 루틴이 실행된다는 내용이 나왔습니다.
어느 시점에서 나는 업데이트가 다시 작동하도록 하기로 결정했습니다. 업데이트 실패는 .NET 업데이트의 경우 0x8000ffff이고 Windows 업그레이드의 경우 0x800700C12였습니다.
우리 모두는 모든 Windows 오류가 취약한 사람들이 악성 코드를 설치하게 하는 완벽한 장소라는 것을 알고 있기 때문에 이를 검색하면 온라인에서 수많은 쓰레기를 발견하게 됩니다.
MediaCreationTool을 다운로드하고 1903으로 수동 업그레이드하도록 지시하는 것도 "중요한 오류"로 인해 실패했습니다. 시스템에 아무런 영향도 미치지 않은 것처럼 보였고 변경 사항도 적용되지 않았습니다. 그래도 로그는 없습니다(이러한 유용한 오류 메시지에 대해 MICROSOFT에게 감사드립니다).
powershell 명령 GetWindowsUpdateLog를 통해 Windows 업데이트 로그를 덤프한 결과, 많은 정보를 얻을 수 없었습니다. 이러한 오류 로그를 읽는 것은 지루하고 복잡하며 오류와 실패를 구별하는 것뿐만 아니라 일반 작업 중에는 들어본 적이 없는 관련 시스템이 있다는 사실도 있습니다(적어도 Linux에서는 설정 시 어떤 시스템을 사용하고 설치하는지 알 수 있습니다). 시스템 업) 도움이 되지 않았습니다.
그런 다음 .NET 4.8 Framework를 수동으로 설치하려고 했습니다. 일반 설치 프로그램에서도 실패했지만 적어도 내 드라이브의 임의 위치에 검색 가능한 .xml을 덤프했습니다(어떤 이유에서인지 시스템이 설치된 SSD의 어딘가가 아닌 느린 2TB 스토리지 HDD에 설치 파일을 덤프했습니다). 하지만 Windows와 임시 파일이 절대 정리되지 않으면 무슨 문제가 생길까요?) 그래서 조사해보니 설치의 마지막 단계에서 실행된 일부 명령줄 프로그램이 실패하고 동일한 0x8000ffff 오류 코드 wusa.exe와 함께 반환되었다는 사실이 주목되었습니다.
적어도 설치 중 일반적인 오류인 오류 메시지 비교: 마무리 부분이 실패합니다.
Windows 업데이트를 수정하는 방법을 조사하면서 다음을 사용하려고 할 때 조언을 찾았습니다.
sfc /scannow
그리고
dism.exe /online /cleanup-image /restorehealth
시스템에 아직 보류 중인 변경 사항이 있으며 PC를 다시 시작해야 한다는 정보와 함께 sfc가 실패했습니다. 지난 6개월 동안 매일 그랬기 때문에 그건 해결책이 될 수 없었습니다.
dism.exe는 약 82.6%에서 실패했으며 적어도 조사할 로그가 있다는 힌트를 제공했습니다. 형식에 있어서는 별로 도움이 되지 않았지만 일부 마무리 단계에서는 실패하기도 했습니다.
sfc를 다시 작동시키는 방법을 조사하면서 사용자에게 WinSxS 디렉터리에서 보류 중인.xml을 삭제하라고 지시하는 임의의 포럼 게시물을 발견했습니다. 해당 디렉토리를 살펴보면(무엇을 사용하든) 보류 중인.xml이 거의 300MB에 달하는 것을 발견했습니다. 뭔가 잘못된 것 같습니다.
관리자 권한으로 파일을 삭제하면 작동하지 않습니다. 액세스 거부 오류가 계속 발생합니다. PSTools를 다운로드하고 SYSTEM 사용자로 Power Shell을 열더라도 삭제 권한이 거부됩니다. 파일에 대한 핸들을 보유하는 프로세스가 없습니다.
이 혼란을 어떻게 해결하고 이러한 오류가 모두 어떻게 연결됩니까?
답변1
모든 것이 오류로 뒤엉켜 있는 것으로 드러났습니다.
비디오 게임을 하다가 발생한 블루스크린(약 10년 만에 처음 발생한 현상)은 Windows 업데이트가 백그라운드에서 무언가를 설치하는 동안 발생한 것 같습니다. 업데이트 자체가 원인인지는 모르겠지만 부팅 스크립트가 손상되었다고 보고했기 때문에 시스템을 다시 실행하려면 몇 가지 어려움을 겪어야 했습니다. 그 당시에는 부팅 문제를 해결하기 위해 고급 부팅 문제 해결 메뉴에서 몇 가지 기본 명령줄 도구를 실행한 것 같습니다. 그런 다음 오류 로그에 디스크에 내용을 쓰는 동안 이상한 일이 발생했다는 내용이 나와 있었기 때문에 모든 것을 다시 배선했습니다. 그래서 어떤 이유로 시스템이 실행되는 동안 시스템 SSD에 대한 와이어 연결이 끊어졌다고 생각했습니다. 문제가 해결된 후 시스템이 다시 원활하게 실행되었지만 업데이트가 더 이상 작동하지 않았습니다.
"파일 손상"이 더욱 심화된 것으로 나타났습니다. Pending.xml 내부에는 PC를 다시 시작할 때 적용해야 하는 업데이트 목록이 있는 것 같습니다. 해당 .xml 파일은 어떻게든 손상되어 Windows가 내용을 성공적으로 읽을 수는 없지만 적용해야 한다고 생각되는 모든 업데이트를 손상된 파일에 추가할 수 있으므로 파일에서 임의의 양의 데이터를 읽은 다음 해당 파일을 모두 추가할 수 있습니다. 다시 시작할 때마다 데이터를 뒤로 가져가서 보류 중인 업데이트에 대한 메타데이터를 거의 GB에 달하는 비율로 부풀립니다.
Windows 업그레이드 및 .NET 설치 프로그램도 최종 단계에서 "다음에 장치를 다시 시작할 때 수행해야 할 작업이 있습니다"라고 시스템에 알리려고 하기 때문에 독립 실행형 설치 프로그램과 미디어 생성 도구를 사용한 수동 업그레이드도 마찬가지입니다. 또한 Pending.xml을 올바르게 구문 분석하고 추가하지 못했습니다. 이 모든 것이 깨졌기 때문에 ComponentBasedServicing은 일부 프로그램을 담당하는 것처럼 보였고 오류 로그 파일의 여기저기서 잘린 CBS였습니다.
이제 해결책은 다음과 같습니다.
먼저 미디어 생성 도구로 설정한 USB 스틱에서 문제 해결 모드로 부팅해야 했습니다.
거기에서 명령줄을 실행하고 WinSxS 디렉터리에서 보류 중인.xml을 수동으로 삭제했습니다.
sfc /scannow
그 후 나는 최종적으로 일부 파일이 손상되었고 일부 내용이 수정되었지만 전부는 아니라는 보고서를 받기 위해 실행할 수 있었습니다 .
dism /online /cleanup-image /restorehealth
그 후 정리할 소스를 찾을 수 없어 실패한 를 실행할 수 있었습니다 .
dism /online /cleanup-image /startcomponentcleanup
그 후 구성 요소 서비스를 정리하기 위해 실행할 수 있었습니다.
그 후 나는 또 다른 성공을 이룰 수 있었습니다 /restorehalth
.
그 후 Windows 업데이트 캐시를 재설정하고 보류 중인 모든 업데이트와 업그레이드를 다시 다운로드할 수 있었습니다.
그 후 1903 업그레이드와 .NET Framework 업데이트를 설치할 수 있었습니다.
이제 모든 것이 괜찮아 보입니다.
저는 Windows가 슈퍼 유저뿐만 아니라 사용자에게 무엇이든 중단될 때 시스템에서 무엇이 중단되었는지, 중단되지 않았는지에 대한 더 명확한 정보를 제공하고 싶습니다.
이 검색은 지옥이었습니다. 그리고 나는 그것에서 벗어났습니다.