🖥️ 어느 날 갑자기 업데이트가 안 됐던 이야기

얼마 전 노트북 업데이트 알림이 떠서 별생각 없이 "지금 다시 시작"을 눌렀는데, 재부팅 몇 번 돌더니 결국 "업데이트 실패, 변경 내용을 되돌리는 중"이라는 문구만 반복해서 떴습니다. 설정 앱에 들어가 보니 오류 코드가 0x800f0922로 찍혀 있더라고요. 처음엔 그냥 한 번 더 재시도하면 되겠지 싶었는데, 세 번을 다시 눌러도 같은 자리에서 계속 실패했습니다. 결국 원인을 하나씩 뜯어보면서 해결했는데, 이 글에는 제가 실제로 시도했던 순서 그대로, 효과가 있었던 방법부터 정리해뒀습니다. 같은 코드를 보고 계신 분이라면 위에서부터 순서대로 따라오시면 됩니다.




⚠️ 0x800f0922 오류, 이렇게 뜬다

이 오류는 주로 설정 → Windows 업데이트 화면에서 다운로드까지는 정상적으로 진행되다가, 설치 단계에서 갑자기 멈추면서 나타납니다. 화면에는 "업데이트를 설치하지 못했습니다 - 0x800f0922"라는 문구가 뜨고, 몇 분 뒤 자동으로 이전 상태로 되돌리기 시작합니다. 저처럼 기능 업데이트(예: 새 빌드로 올라가는 대형 업데이트)를 받을 때 특히 자주 나타나고, 매달 나오는 일반 보안 업데이트에서도 같은 코드가 뜨는 경우가 있습니다. 이벤트 뷰어에서 확인하면 CBS(Component Based Servicing) 관련 로그에 실패 흔적이 남아 있는 경우가 많아서, 단순 네트워크 문제라기보다는 시스템 내부의 설치 준비 과정에서 막히는 것으로 보는 게 맞습니다.




🔍 왜 이 오류가 생길까

원인은 크게 세 가지로 좁혀집니다. 첫 번째는 시스템 예약 파티션(또는 EFI 시스템 파티션) 공간 부족입니다. 기능 업데이트는 이 작은 파티션에 부팅 관련 임시 파일을 써야 하는데, 여유 공간이 최소 500MB가 안 되면 설치 마지막 단계에서 튕겨 나옵니다. 두 번째는 VPN이나 프록시 연결입니다. 회사에서 쓰는 VPN이나 일부 무료 VPN이 업데이트 서버로 가는 특정 트래픽을 막아버리면서 설치가 중간에 멈추는 경우가 실제로 절반 가까이 됩니다. 세 번째는 .NET Framework 3.5나 4.x 구성 요소 손상입니다. 업데이트 패키지 자체는 정상적으로 받아지더라도, 적용 단계에서 손상된 .NET 구성 요소를 참조하면서 실패하게 됩니다. 저는 이 세 가지를 순서대로 확인하면서 해결했습니다.




🛠️ 해결 방법 1 — 시스템 예약 파티션 공간 확보

가장 먼저 확인해야 할 부분입니다. 디스크 관리(diskmgmt.msc)를 실행해 "시스템 예약" 또는 "EFI 시스템 파티션"이라고 표시된 영역의 여유 공간을 확인해보세요. 이 파티션은 보통 숨겨져 있어 탐색기에는 잘 안 보이지만, 디스크 관리 화면에서는 용량이 표시됩니다. 저는 이 파티션에 여유 공간이 100MB도 안 남아 있었는데, 개인 사용자가 직접 파티션 크기를 늘리는 건 위험 부담이 있어서 대신 C드라이브의 임시 파일과 이전 Windows 설치 파일(디스크 정리에서 "이전 Windows 설치" 항목 체크)을 삭제해 전체 디스크 여유 공간을 늘렸습니다. 그런 다음 다시 업데이트를 시도했더니 이 단계에서만큼은 문제가 없었습니다.

cleanmgr /sagerun:1

⚠️ 시스템 예약 파티션은 직접 삭제하거나 포맷하면 부팅이 안 될 수 있으니 절대 손대지 마세요. 여유 공간 확보는 C드라이브 쪽에서만 진행합니다.




🛠️ 해결 방법 2 — VPN·프록시 끄고 재시도

저는 평소 회사 자료 접근용으로 VPN을 상시 켜두는 편인데, 이게 원인일 줄은 몰랐습니다. VPN 연결을 완전히 끄고, 브라우저나 시스템에 걸려 있던 프록시 설정(설정 → 네트워크 및 인터넷 → 프록시)도 "자동으로 설정 감지"만 남기고 수동 프록시는 꺼둔 상태로 업데이트를 다시 실행했습니다. 이래도 안 되면 다음 단계로 넘어가면 됩니다. 참고로 방화벽이나 백신의 네트워크 보호 기능도 업데이트 서버 접속을 막는 경우가 있어서, 잠시 실시간 보호를 꺼두고 테스트해보는 것도 도움이 됩니다.




🛠️ 해결 방법 3 — 업데이트 구성요소 초기화 + DISM·SFC

VPN을 꺼도 여전히 실패한다면 업데이트 관련 서비스와 캐시 폴더를 초기화해야 합니다. 관리자 권한으로 명령 프롬프트를 열고 아래 명령어를 순서대로 입력하면, 업데이트 서비스를 잠깐 멈추고 다운로드 캐시 폴더 이름을 바꾼 뒤 다시 서비스를 켜주는 과정입니다.

net stop wuauserv
net stop bits
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
net start wuauserv
net start bits

그 다음 시스템 파일 손상 여부를 점검합니다. 이 두 명령은 실행 시간이 꽤 걸리니(길면 20분 이상) 중간에 창을 닫지 말고 끝까지 기다려야 합니다.

DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow

이래도 안 되면 다음 단계인 .NET Framework 쪽을 확인해보세요.




🛠️ 해결 방법 4 — .NET Framework 복구

제 경우 실제로 문제를 해결한 지점이 여기였습니다. 제어판 → 프로그램 및 기능 → "Windows 기능 켜기/끄기"로 들어가서 ".NET Framework 3.5"와 ".NET Framework 4.8 고급 서비스" 항목의 체크를 한 번 해제했다가 다시 체크해 재설치하는 방식입니다. 창이 뜨면 "Windows 업데이트를 통해 수정 프로그램 다운로드" 옵션을 선택해서 인터넷으로 필요한 파일을 새로 받도록 했습니다. 재설치가 끝나고 재부팅한 뒤 업데이트를 다시 실행하니, 그동안 계속 걸려 있던 설치 단계를 무사히 통과했습니다.




🧩 그래도 안 될 때 — ISO로 직접 업데이트

위 방법을 다 시도했는데도 같은 코드가 반복된다면, Microsoft 공식 페이지에서 제공하는 설치 미디어 생성 도구나 ISO 파일로 직접 업그레이드하는 방법이 사실상 가장 확실합니다. 자동 업데이트 경로가 아니라 ISO를 마운트해 "지금 설치" 방식으로 진행하면 실패하던 구간을 우회해서 넘어가는 경우가 많았습니다. 아래는 제가 겪었던 방법들을 정리한 비교표입니다.

방법난이도성공 체감도
디스크 정리로 공간 확보쉬움중간
VPN·프록시 끄기매우 쉬움중간~높음
DISM·SFC + 캐시 초기화보통높음
.NET Framework 재설치보통높음
ISO로 직접 업그레이드약간 번거로움매우 높음



❓ 자주 묻는 질문

Q1. 업데이트가 실패하면 데이터가 날아가나요?
업데이트 실패 시 시스템은 자동으로 이전 상태로 되돌리기 때문에 일반적으로 파일이 사라지지는 않습니다. 다만 만약을 대비해 중요한 파일은 미리 백업해두는 게 안전합니다.

Q2. DISM 명령이 오래 걸리는데 멈춘 건가요?
진행률 표시줄이 20%나 60%대에서 한참 멈춰 있는 것처럼 보여도 정상적으로 동작 중인 경우가 대부분입니다. 인터넷 상태를 확인하며 최소 20~30분은 기다려보세요.

Q3. 노트북인데 시스템 예약 파티션 용량을 늘릴 수 있나요?
파티션 자체를 늘리는 작업은 부팅 오류로 이어질 위험이 있어 권장하지 않습니다. 대신 C드라이브 여유 공간을 최대한 확보하는 방식으로 먼저 시도해보세요.

Q4. 회사 PC라 VPN을 계속 켜둬야 하는데 방법이 있나요?
업데이트 설치하는 동안만 잠깐 VPN을 끄고, 설치가 끝난 뒤 다시 켜는 방식으로 진행하면 됩니다.




✅ 마무리

정리하면 0x800f0922 오류는 디스크 공간 확보 → VPN·프록시 끄기 → 업데이트 캐시 초기화 및 DISM·SFC → .NET Framework 재설치 → 그래도 안 되면 ISO로 직접 업그레이드, 이 순서로 접근하면 대부분 해결됩니다. 저도 세 번째 단계인 DISM·SFC와 네 번째 단계인 .NET Framework 재설치를 함께 진행하고 나서야 업데이트가 정상적으로 끝났습니다. 같은 코드로 며칠째 씨름하고 계셨다면, 위 순서 그대로 하나씩 짚어가시길 추천드립니다.




#0x800f0922 #윈도우11업데이트오류 #윈도우업데이트안됨 #윈도우오류해결 #시스템예약파티션