콘텐츠로 건너뛰기

🔋 배터리 보고서가 안 만들어질 때 해결하기 – powercfg 오류 코드별 대처법

지난 글에서 powercfg /batteryreport로 노트북 배터리 상태를 확인하는 방법을 다뤘습니다. 그런데 막상 명령을 쳐보면 보고서 대신 알 수 없는 오류 메시지만 뜨거나, 심지어 아무 반응 없이 그대로 끝나버리는 경우가 있습니다.

배터리가 이상한 것 같아서 확인하려는데, 확인 자체가 안 되는 상황입니다.

📌 배터리 진단 시리즈: 앞 글에서는 Windows 노트북 배터리 상태 확인하는 방법 (powercfg battery report)에서 보고서를 읽는 법을 다뤘습니다. 이번 글은 그 명령 자체가 실행되지 않을 때, 오류 메시지별로 원인을 좁히고 해결하는 순서를 다룹니다.

🔍 먼저 확인 – 증상이 정확히 어떤 유형인가

powercfg /batteryreport를 실행했을 때 나타나는 증상은 크게 세 가지로 나뉩니다.

  1. 오류 코드가 표시됨Unable to perform operation. An unexpected error (0x...) 형태의 메시지
  2. 권한 관련 메시지 – “권한이 없습니다” 계열의 문구
  3. 아무 메시지 없이 끝남 – 오류도 없이 프롬프트로 바로 돌아옴

같은 명령이라도 증상에 따라 원인이 완전히 다르므로, 먼저 어떤 유형인지부터 확인합니다.

⚙️ 왜 이 명령이 실패할까 – 의존하는 조건들

powercfg /batteryreport는 Windows 내장 진단 도구지만, 몇 가지 조건에 의존합니다.

  • 서비스 상태: 배터리 사용 기록을 수집·분석하는 데 관련 Windows 서비스(Power, Diagnostic Policy Service)가 정상 실행 중이어야 합니다.
  • 출력 경로: Microsoft 공식 문서에 따르면 /output 옵션 없이 실행하면 보고서는 명령을 실행한 현재 경로(current path)에 HTML 파일로 저장됩니다.
  • 실행 위치: 관리자 권한 명령 프롬프트는 보통 C:\Windows\System32에서 시작하고, 일반 명령 프롬프트는 사용자 폴더에서 시작합니다. 같은 PC라도 관리자 권한 여부에 따라 보고서가 저장되는 위치가 달라질 수 있습니다.

⚠️ Microsoft의 공식 옵션 문서에는 /batteryreport가 관리자 권한을 반드시 요구한다는 명시가 없습니다. 다만 실제 사용자 보고 사례에서는 관리자 권한으로 다시 실행했을 때 오류가 해결된 경우가 많아, 오류가 발생하면 관리자 권한 실행을 먼저 시도하는 것이 안전합니다.

🧩 오류 메시지 읽는 법 – 괄호 안의 16진수 코드

오류 메시지 중간에 (0x422)처럼 괄호 안에 16진수 코드가 붙어 나옵니다. 이 숫자가 원인을 구분하는 핵심 단서입니다. 명령 프롬프트에서 10진수로 변환해 공식 오류 메시지를 바로 확인할 수 있습니다.

net helpmsg 1058

0x422를 10진수로 바꾸면 1058이며, 이 명령을 실행하면 Windows가 해당 오류의 공식 설명을 그대로 보여줍니다.

💡 net helpmsg는 표준 Win32 오류 코드만 해석합니다. 메시지 안에 서비스 이름 같은 값이 함께 삽입되는 일부 코드는 정상적으로 해석되지 않을 수 있습니다.

이번 글에서 다루는 세 가지 코드를 Microsoft의 공식 시스템 오류 코드 목록과 대조하면 다음과 같습니다. (Python으로 16진수를 10진수로 변환한 뒤 공식 문서의 메시지와 직접 대조했습니다.)

오류 코드10진수공식 이름공식 메시지
0x4221058ERROR_SERVICE_DISABLED서비스가 비활성화되어 있거나, 사용 가능한 장치가 연결되어 있지 않아 시작할 수 없습니다
0xb7183ERROR_ALREADY_EXISTS같은 이름의 파일이 이미 있어 새로 만들 수 없습니다
0x10d24306ERROR_EMPTY라이브러리, 드라이브 또는 미디어 풀이 비어 있습니다

⚠️ 0x10d2의 공식 메시지는 원래 미디어 라이브러리·드라이브 관련 오류에 쓰이는 범용 코드입니다. powercfg가 배터리 보고서 생성에 실패했을 때 이 코드를 그대로 반환하는 것으로 보이며, 문구를 글자 그대로 “드라이브가 비었다”는 뜻으로 받아들일 필요는 없습니다. 실제 원인은 아래 표의 조치로 대부분 해결됩니다.

🛠️ 오류 코드별 해결 순서

0x422 – 서비스가 꺼져 있음

ERROR_SERVICE_DISABLED는 이름 그대로 필요한 서비스가 비활성화되어 있다는 뜻입니다. Power 서비스와 Diagnostic Policy Service 두 가지를 확인합니다.

  1. Win + Rservices.msc 입력 후 Enter
  2. Power 항목을 더블클릭해 속성을 엽니다
  3. 시작 유형자동으로, 서비스 상태시작으로 설정합니다
  4. Diagnostic Policy Service도 같은 방식으로 확인합니다
  5. PC를 재부팅한 뒤 명령을 다시 실행합니다

0xb7 · 오류 없이 무반응 – 이전 보고서 파일과 충돌

ERROR_ALREADY_EXISTS는 같은 이름의 파일이 이미 있다는 뜻입니다. 이전에 만들어 둔 battery-report.html이 현재 경로에 남아 있으면 발생할 수 있습니다. 오류 메시지 없이 그냥 끝나버리는 증상도 커뮤니티에서는 같은 원인으로 보고되는 경우가 많습니다.

del battery-report.html
powercfg /batteryreport

파일을 찾기 어렵다면 /output 옵션으로 저장 위치를 직접 지정하는 방법도 있습니다.

powercfg /batteryreport /output "C:\Users\사용자이름\Desktop\battery-report.html"

0x10d2 – 원인이 겹치는 경우가 많음

이 코드는 위 0xb7과 마찬가지로 이전 보고서 파일, 서비스 상태가 얽혀 나타나는 경우가 커뮤니티에 다수 보고되어 있습니다. 확실한 단일 원인이 공식적으로 문서화되어 있지는 않으므로(확실하지 않음), 다음을 순서대로 시도합니다.

  1. 이전 battery-report.html 삭제
  2. Diagnostic Policy Service 실행 상태 확인
  3. 그래도 안 되면 재부팅 후 재시도

“권한이 없습니다” 계열

관리자 권한 없이 실행했을 때 나타납니다. 명령 프롬프트를 관리자 권한으로 다시 열어 재실행합니다.

Win + X → 터미널(관리자) 또는 명령 프롬프트(관리자)
powercfg /batteryreport

그 외 코드 – SFC/DISM과 드라이버 확인

위 표에 없는 코드가 나오면 net helpmsg로 먼저 의미를 확인하고, 그래도 원인이 불분명하면 시스템 파일 손상과 배터리 드라이버 문제를 순서대로 점검합니다.

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

드라이버가 의심되면 장치 관리자에서 배터리 드라이버를 업데이트합니다. 드라이버를 새로 설치하기 전에 기존 드라이버를 백업해두면 안전합니다. 자세한 명령은 윈도우 드라이버 백업 & 복구 완벽 가이드에서 다뤘습니다.

❓ 자주 하는 오해 3가지

오해 1. “오류가 뜨면 배터리가 고장 난 것이다” → 아닙니다. 지금까지 다룬 오류 대부분은 서비스 상태나 파일 충돌 같은 소프트웨어 문제입니다. 배터리 자체 이상은 위 조치를 모두 시도한 뒤에도 해결되지 않을 때 의심할 부분입니다.

오해 2. “데스크탑에서 오류가 뜨면 뭔가 잘못된 것이다” → 배터리가 없는 시스템(데스크탑 등)에서는 애초에 보고서가 생성되지 않는 것이 정상입니다. 이 경우는 지금까지 다룬 오류 코드와는 성격이 다르므로 별도로 고민할 필요가 없습니다.

오해 3. “관리자 권한이 없으면 무조건 실행이 안 된다” → 그렇지 않습니다. Microsoft 공식 문서는 /batteryreport에 관리자 권한을 필수로 요구하지 않습니다. 일반 권한으로도 대부분 정상 동작하며, 관리자 권한 실행은 오류가 발생했을 때 먼저 시도해볼 조치 중 하나입니다.

✅ 한눈에 정리

증상가장 흔한 원인먼저 시도할 조치
0x422Power·Diagnostic Policy Service 비활성화services.msc에서 두 서비스를 자동·시작으로 설정
0xb7이전 보고서 파일과 이름 충돌기존 파일 삭제 또는 /output 경로 지정
0x10d2위 두 원인이 겹치는 경우가 많음(확실하지 않음)이전 파일 삭제 + 서비스 확인 후 재부팅
권한 없음 메시지비관리자 권한으로 실행관리자 권한으로 재실행
오류 없이 무반응이전 파일과 덮어쓰기 충돌파일 삭제 후 재실행, 반복되면 SFC/DISM

🎯 오늘 바로 확인해볼 것

  1. 오류 메시지에 (0x...) 코드가 있는지 먼저 확인하기
  2. 코드가 있다면 net helpmsg [10진수]로 공식 설명 확인하기
  3. 현재 폴더에 이전 battery-report.html이 남아 있는지 확인하기

📚 함께 읽으면 좋은 글


다음 글에서는 배터리 보고서가 정상적으로 생성된 뒤, Battery capacity history 표를 보고 실제로 배터리를 교체해야 할 시점을 판단하는 기준을 다뤄보겠습니다.

공유하기 🔗

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

2025 steelcrucian.com All Rights Reserved.