Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

Windows 오류 코드 0x800f0954 해결 방법 총정리

일부 사용자는 Windows 10에서 .NET Framework 3.5 또는 다른 선택적 기능을 설치하려고 할 때 오류 코드 0x800f0954가 발생한다고 보고하고 있습니다. 대부분 'Windows 기능' 창을 통해 패키지를 설치할 때 이 오류가 나타나지만, DISM 명령줄 도구를 사용하는 과정에서 발생하는 경우도 있습니다. 이 오류는 특정 Windows 버전에만 국한되지 않으며, Windows 7, 8.1, 10 전반에서 발생이 확인되었습니다.

오류 코드 0x800f0954의 주요 원인

테스트 환경에서 문제를 직접 재현하고 동일한 증상을 겪은 다양한 사용자 사례를 분석한 결과, 이 오류 코드를 유발할 수 있는 대표적인 원인은 다음과 같습니다.

  • 시스템이 Windows Update 서버에 접근하지 못하는 경우 – 컴퓨터가 WU(Windows Update) 서버에 연결하지 못해 오류가 발생합니다. 특히 도메인에 가입된 여러 PC가 WSUS 서버에서 업데이트를 받도록 구성된 기업 네트워크 환경에서 자주 나타나며, 이 경우 WSUS를 우회하면 해결됩니다.
  • DISM의 CBS 로그가 잘못된 정보를 담고 있는 경우 – DISM 유틸리티가 생성하는 CBS 로그가 실제로는 존재하지 않는 문제를 가리키는 때가 있습니다. CBS(Component Based Servicing) 로그를 삭제한 뒤 실패했던 DISM 명령을 다시 실행하면 해결됩니다.
  • .NET Framework를 PowerShell로 설치해야 하는 경우 – 구버전 .NET Framework 패키지는 0x800f0954 오류를 피하기 위해 PowerShell 창에서 설치해야 할 수 있습니다.
  • 그룹 정책이 설치를 차단하는 경우 – 로컬 그룹 정책 편집기에서 '선택적 구성 요소 설치 및 구성 요소 복구에 대한 설정 지정' 정책이 비활성화되어 있으면 이 오류가 트리거될 수 있습니다.

아래에서 소개하는 해결 방법은 효율성과 난이도 순으로 정렬되어 있으므로, 제시된 순서대로 진행하는 것을 권장합니다. 상황에 따라 적용할 수 없는 방법은 건너뛰어도 좋습니다.

방법 1: WSUS 서버 우회하기

선택적 Windows 기능 설치 중 0x800f0954 오류가 발생한다면, 시스템이 Windows Update 서버에 접근하지 못하고 있을 가능성이 높습니다. 특히 도메인 네트워크에 속해 있던 컴퓨터에서 그룹 정책 설정이 그대로 남아 있는 경우 이런 현상이 자주 나타납니다. 이 경우 레지스트리 편집을 통해 일시적으로 WSUS 서버를 우회할 수 있습니다.

  1. Windows 키 + R을 눌러 실행 대화상자를 엽니다. regedit를 입력하고 Ctrl + Shift + Enter를 눌러 관리자 권한으로 레지스트리 편집기를 실행합니다. UAC(사용자 계정 컨트롤) 창이 나타나면 를 클릭합니다.
  2. 레지스트리 편집기에서 다음 경로로 이동합니다.
    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU

    참고: 위 주소를 상단 주소 표시줄에 붙여넣고 Enter를 누르면 바로 이동할 수 있습니다.

  3. WindowsUpdate 키가 없다면 직접 생성해야 합니다. Windows 키를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기 > 키를 선택한 후 이름을 WindowsUpdate로 지정합니다. 이어서 새로 만든 키를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기 > 키AU 키를 생성합니다.
  4. AU 키를 선택한 상태에서 오른쪽 창의 빈 공간을 마우스 오른쪽 버튼으로 클릭하고 새로 만들기 > 문자열 값을 선택합니다. 새 문자열 값의 이름을 UserWUServer로 변경합니다.
  5. UserWUServer 값을 두 번 클릭하고 값 데이터0으로 설정합니다.
  6. 레지스트리 편집기를 닫고 컴퓨터를 재시작한 후 문제가 해결되었는지 확인합니다.

방법 2: CBS 로그 정리하기

동일한 문제를 겪던 일부 사용자는 DISM 관련 CBS(구성 요소 기반 서비스) 로그를 삭제한 후 문제가 해결되었다고 보고했습니다. 로그를 제거하고 DISM 명령을 다시 실행하자 0x800f0954 오류가 더 이상 나타나지 않았다는 것입니다.

  1. 파일 탐색기를 열고 다음 폴더로 이동합니다.
    C:\Windows\Logs\CBS
  2. CBS 폴더 안의 모든 파일을 선택한 후 삭제를 클릭합니다.
  3. .log와 .cab 파일이 모두 삭제되면 CBS 폴더를 닫습니다.
  4. Windows 키 + R을 눌러 실행 대화상자를 열고, cmd를 입력한 뒤 Ctrl + Shift + Enter를 눌러 관리자 권한 명령 프롬프트를 실행합니다. UAC 창이 나타나면 를 클릭합니다.
  5. 명령 프롬프트에 아래 명령을 입력하고 Enter를 눌러 DISM 명령을 다시 실행합니다.
    Dism.exe /online /enable-feature /featurename:NetFX3 /source:C:\
  6. 명령이 완료되면 .NET Framework가 0x800f0954 오류 없이 설치됩니다.

방법 3: PowerShell로 .NET Framework 3.5 설치하기

DISM(배포 이미지 서비스 및 관리)을 통해 .NET Framework 3.5를 설치하다가 0x800f0954 오류가 발생했다면, PowerShell을 사용해 오류를 우회할 수 있습니다. 실제로 여러 사용자가 PowerShell 명령 하나로 문제를 해결했다고 보고했습니다.

  1. Windows 키 + R을 눌러 실행 대화상자를 열고, powershell을 입력한 후 Ctrl + Shift + Enter를 눌러 관리자 권한 PowerShell을 실행합니다. UAC(사용자 계정 컨트롤) 창이 나타나면 를 클릭합니다.
  2. PowerShell 창에 아래 명령을 입력하고 Enter를 눌러 실행합니다.
    Add-WindowsCapability –Online -Name NetFx3~~~~ –Source D:\sources\sxs
  3. PowerShell을 닫고 컴퓨터를 재시작합니다.
  4. 재부팅 후 .NET Framework 3.5를 다시 설치해 문제가 해결되었는지 확인합니다.

방법 4: 그룹 정책 편집기 활용하기

RSAT 도구 세트 추가 중 0x800f0954 오류가 발생한다면, 그룹 정책 편집기에서 설정을 변경해야 할 수 있습니다. 여러 사용자가 Gpedit 도구로 구성 요소 설치구성 요소 복구 관련 설정을 수정하여 문제를 해결했습니다. 특정 로컬 정책을 활성화해 OS가 복구 콘텐츠와 선택적 기능을 WU에서 직접 다운로드하도록 허용하면 오류가 사라진다는 보고가 많습니다.

참고: 그룹 정책 편집기는 모든 Windows 버전에 포함되어 있지 않습니다. Windows 10 Home 등 해당 도구가 없는 버전을 사용 중이라면, 별도의 방법으로 정책 편집기를 먼저 설치해야 합니다.

  1. Windows 키 + R을 눌러 실행 대화상자를 열고, gpedit.msc를 입력한 후 Enter를 눌러 로컬 그룹 정책 편집기를 실행합니다. UAC 창이 나타나면 를 클릭합니다.
  2. 왼쪽 창에서 다음 위치로 이동합니다.
    컴퓨터 구성 > 관리 템플릿 > 시스템
  3. 시스템이 선택된 상태에서 오른쪽 창의 '선택적 구성 요소 설치 및 구성 요소 복구에 대한 설정 지정' 항목을 두 번 클릭합니다.
  4. 정책을 사용으로 설정하고, 'WSUS(Windows Server Update Services) 대신 Windows Update에서 직접 복구 콘텐츠 및 선택적 기능 다운로드' 옵션에 체크합니다.
  5. 적용을 클릭해 설정을 저장한 후, 로컬 그룹 정책 편집기를 닫고 컴퓨터를 재시작합니다.
  6. 재부팅 후에는 더 이상 오류가 발생하지 않아야 합니다.

방법 5: 레지스트리 UseWUServer 값 변경하기

위 방법들로도 해결되지 않는다면, UseWUServer 레지스트리 값을 비활성화로 변경해 보세요. 최근 Windows 업데이트 이후 이 키가 Windows Update 서비스와 충돌하면서 해당 오류 메시지를 유발하는 것으로 알려져 있습니다. 진행하기 전 반드시 관리자 계정으로 로그인하고, 만약을 대비해 레지스트리를 백업해 두는 것이 좋습니다.

  1. Windows 키 + R을 누르고, regedit를 입력한 후 Enter를 눌러 레지스트리 편집기를 실행합니다.
  2. 다음 경로로 이동합니다.
    HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU\UseWUServer
  3. 값을 1에서 0으로 변경합니다.
  4. 변경을 마친 후 컴퓨터를 재시작하고 업데이트 서비스를 다시 시작한 뒤, 문제가 해결되었는지 확인합니다.