지난 글에서 powercfg /batteryreport로 노트북 배터리 상태를 확인하는 방법을 다뤘습니다. 그런데 막상 명령을 쳐보면 보고서 대신 알 수 없는 오류 메시지만 뜨거나, 심지어 아무 반응 없이 그대로 끝나버리는 경우가 있습니다.
배터리가 이상한 것 같아서 확인하려는데, 확인 자체가 안 되는 상황입니다.
📌 배터리 진단 시리즈: 앞 글에서는 Windows 노트북 배터리 상태 확인하는 방법 (powercfg battery report)에서 보고서를 읽는 법을 다뤘습니다. 이번 글은 그 명령 자체가 실행되지 않을 때, 오류 메시지별로 원인을 좁히고 해결하는 순서를 다룹니다.
🔍 먼저 확인 – 증상이 정확히 어떤 유형인가
powercfg /batteryreport를 실행했을 때 나타나는 증상은 크게 세 가지로 나뉩니다.
- 오류 코드가 표시됨 –
Unable to perform operation. An unexpected error (0x...)형태의 메시지 - 권한 관련 메시지 – “권한이 없습니다” 계열의 문구
- 아무 메시지 없이 끝남 – 오류도 없이 프롬프트로 바로 돌아옴
같은 명령이라도 증상에 따라 원인이 완전히 다르므로, 먼저 어떤 유형인지부터 확인합니다.

⚙️ 왜 이 명령이 실패할까 – 의존하는 조건들
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진수 | 공식 이름 | 공식 메시지 |
|---|---|---|---|
| 0x422 | 1058 | ERROR_SERVICE_DISABLED | 서비스가 비활성화되어 있거나, 사용 가능한 장치가 연결되어 있지 않아 시작할 수 없습니다 |
| 0xb7 | 183 | ERROR_ALREADY_EXISTS | 같은 이름의 파일이 이미 있어 새로 만들 수 없습니다 |
| 0x10d2 | 4306 | ERROR_EMPTY | 라이브러리, 드라이브 또는 미디어 풀이 비어 있습니다 |
- Microsoft – System Error Codes (1000-1299)
- Microsoft – System Error Codes (0-499)
- Microsoft – System Error Codes (4000-5999)
⚠️
0x10d2의 공식 메시지는 원래 미디어 라이브러리·드라이브 관련 오류에 쓰이는 범용 코드입니다.powercfg가 배터리 보고서 생성에 실패했을 때 이 코드를 그대로 반환하는 것으로 보이며, 문구를 글자 그대로 “드라이브가 비었다”는 뜻으로 받아들일 필요는 없습니다. 실제 원인은 아래 표의 조치로 대부분 해결됩니다.

🛠️ 오류 코드별 해결 순서
0x422 – 서비스가 꺼져 있음
ERROR_SERVICE_DISABLED는 이름 그대로 필요한 서비스가 비활성화되어 있다는 뜻입니다. Power 서비스와 Diagnostic Policy Service 두 가지를 확인합니다.

Win + R→services.msc입력 후 Enter- Power 항목을 더블클릭해 속성을 엽니다
- 시작 유형을 자동으로, 서비스 상태를 시작으로 설정합니다
- Diagnostic Policy Service도 같은 방식으로 확인합니다
- 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과 마찬가지로 이전 보고서 파일, 서비스 상태가 얽혀 나타나는 경우가 커뮤니티에 다수 보고되어 있습니다. 확실한 단일 원인이 공식적으로 문서화되어 있지는 않으므로(확실하지 않음), 다음을 순서대로 시도합니다.
- 이전
battery-report.html삭제 - Diagnostic Policy Service 실행 상태 확인
- 그래도 안 되면 재부팅 후 재시도
“권한이 없습니다” 계열
관리자 권한 없이 실행했을 때 나타납니다. 명령 프롬프트를 관리자 권한으로 다시 열어 재실행합니다.
Win + X → 터미널(관리자) 또는 명령 프롬프트(관리자)
powercfg /batteryreport
그 외 코드 – SFC/DISM과 드라이버 확인
위 표에 없는 코드가 나오면 net helpmsg로 먼저 의미를 확인하고, 그래도 원인이 불분명하면 시스템 파일 손상과 배터리 드라이버 문제를 순서대로 점검합니다.
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
드라이버가 의심되면 장치 관리자에서 배터리 드라이버를 업데이트합니다. 드라이버를 새로 설치하기 전에 기존 드라이버를 백업해두면 안전합니다. 자세한 명령은 윈도우 드라이버 백업 & 복구 완벽 가이드에서 다뤘습니다.
❓ 자주 하는 오해 3가지
오해 1. “오류가 뜨면 배터리가 고장 난 것이다” → 아닙니다. 지금까지 다룬 오류 대부분은 서비스 상태나 파일 충돌 같은 소프트웨어 문제입니다. 배터리 자체 이상은 위 조치를 모두 시도한 뒤에도 해결되지 않을 때 의심할 부분입니다.
오해 2. “데스크탑에서 오류가 뜨면 뭔가 잘못된 것이다” → 배터리가 없는 시스템(데스크탑 등)에서는 애초에 보고서가 생성되지 않는 것이 정상입니다. 이 경우는 지금까지 다룬 오류 코드와는 성격이 다르므로 별도로 고민할 필요가 없습니다.
오해 3. “관리자 권한이 없으면 무조건 실행이 안 된다” → 그렇지 않습니다. Microsoft 공식 문서는
/batteryreport에 관리자 권한을 필수로 요구하지 않습니다. 일반 권한으로도 대부분 정상 동작하며, 관리자 권한 실행은 오류가 발생했을 때 먼저 시도해볼 조치 중 하나입니다.
✅ 한눈에 정리
| 증상 | 가장 흔한 원인 | 먼저 시도할 조치 |
|---|---|---|
| 0x422 | Power·Diagnostic Policy Service 비활성화 | services.msc에서 두 서비스를 자동·시작으로 설정 |
| 0xb7 | 이전 보고서 파일과 이름 충돌 | 기존 파일 삭제 또는 /output 경로 지정 |
| 0x10d2 | 위 두 원인이 겹치는 경우가 많음(확실하지 않음) | 이전 파일 삭제 + 서비스 확인 후 재부팅 |
| 권한 없음 메시지 | 비관리자 권한으로 실행 | 관리자 권한으로 재실행 |
| 오류 없이 무반응 | 이전 파일과 덮어쓰기 충돌 | 파일 삭제 후 재실행, 반복되면 SFC/DISM |
🎯 오늘 바로 확인해볼 것
- 오류 메시지에
(0x...)코드가 있는지 먼저 확인하기 - 코드가 있다면
net helpmsg [10진수]로 공식 설명 확인하기 - 현재 폴더에 이전
battery-report.html이 남아 있는지 확인하기
📚 함께 읽으면 좋은 글
- 🔋 Windows 노트북 배터리 상태 확인하는 방법 (powercfg battery report) — 이번 글에서 다룬 명령이 정상 실행됐을 때, 보고서를 읽고 배터리 건강도를 계산하는 방법입니다.
- 💾 윈도우 드라이버 백업 & 복구 완벽 가이드 — 배터리 드라이버를 재설치해야 할 때, 기존 드라이버를 먼저 백업해두는 방법입니다.
- 💽 외장하드에 드라이브 문자가 없을 때 해결 방법 — 이번 글과 마찬가지로 서비스 상태와 오류 메시지를 단서로 원인을 좁혀가는 진단 순서를 다룹니다.
다음 글에서는 배터리 보고서가 정상적으로 생성된 뒤, Battery capacity history 표를 보고 실제로 배터리를 교체해야 할 시점을 판단하는 기준을 다뤄보겠습니다.