TECHNICAL RESOURCE

BAD_POOL_HEADER (0x00000019) 풀 헤더 손상: 원인과 확인 방법

Windows와 드라이버가 사용하는 메모리의 관리 정보가 손상됐을 때 나타나는 오류입니다. 잘못된 메모리 처리와 실제 메모리 문제를 구분해야 하며 시스템 메모리 고장으로 바로 단정할 수 없습니다.

01

오류 설명

Windows와 드라이버가 사용하는 메모리의 관리 정보가 손상됐을 때 나타나는 오류입니다. 잘못된 메모리 처리와 실제 메모리 문제를 구분해야 하며 시스템 메모리 고장으로 바로 단정할 수 없습니다.

오류의 정식 의미와 발생 조건

커널 메모리 풀은 드라이버와 운영체제가 사용하는 메모리를 관리합니다. 블록의 크기와 연결 정보가 서로 맞지 않거나 해제된 블록의 관리 정보가 바뀌면 검사를 통과하지 못할 수 있습니다.

중지 코드는 Windows가 어떤 상태를 발견했는지 나타냅니다. 원인을 정하려면 발생 작업, 최근 변경과 추가 기록을 함께 확인해야 하며 같은 코드라도 장비 구성에 따라 점검 대상이 달라질 수 있습니다.

비슷한 오류와 버전별 적용 차이

BAD_POOL_CALLER (0x000000C2)는 잘못된 풀 요청을 나타내고, 이 오류는 풀 헤더의 손상 감지에 초점을 둡니다. 두 오류가 메모리를 다뤄도 동일한 오류나 시스템 메모리 부족 메시지는 아닙니다.

02

주요 원인

아래는 공식 문서가 설명하는 발생 원인과 조건입니다. 현재 컴퓨터의 원인이 모두 확인됐다는 뜻은 아니며, 다음 점검 항목의 결과와 오류 기록으로 해당 여부를 구분해야 합니다.

메모리 풀의 관리 정보가 손상된 경우

현재 요청을 처리하는 시점에 메모리 풀이 이미 손상된 상태일 수 있습니다. 손상을 발견한 실행 코드가 최초로 손상시킨 코드와 같다고 단정할 수 없습니다.

해제한 메모리의 변경이나 할당 영역을 벗어난 쓰기

공식 인수표는 해제한 블록의 관리 정보 변경과 할당 크기를 넘은 손상 등을 구분합니다. 첫 번째 인수와 반복 덤프를 확인해야 실제 위반 유형을 판단할 수 있습니다.

03

점검할 부분

장치 드라이버

최근 설치하거나 업데이트한 드라이버와 오류가 시작된 시점을 확인합니다.

보안 및 백업 프로그램

메모리와 파일 처리에 관여하는 제품을 바꾼 뒤 같은 작업에서 반복되는지 살펴봅니다.

메모리

메모리 진단에서 실제 오류가 보고되는지 확인합니다. 정상 결과만으로 드라이버 문제까지 배제하지 않습니다.

먼저 확보할 기록과 실제 확인 경로

오류 뒤 설정을 바꾸기 전에 아래 정보를 보존합니다. 인수는 오류를 분석하기 위해 코드와 함께 기록되는 네 개의 부가 값이며, 화면에 모두 보이지 않으면 덤프에서 확인합니다.

화면, 발생 작업과 Windows 버전

전체 중지 코드와 정식 이름, 표시된 파일명, 발생 시각을 사진이나 메모로 남깁니다. 어떤 프로그램과 장치를 사용했는지, 로그인 전인지 또는 작업 중인지도 함께 적습니다.

Windows가 열리면 Windows 키와 R 키를 눌러 실행 창을 열고 winver를 실행해 제품과 운영체제 빌드를 기록하고, msinfo32에서 장비 모델 및 기본 입출력 시스템 버전을 확인합니다. 업데이트 전후 비교에는 장치 드라이버 공급자와 버전도 필요합니다.

같은 시각의 이벤트와 재부팅 기록

Windows 키와 R 키를 눌러 실행 창을 열고 eventvwr.msc를 입력하고 Windows 로그 > 시스템을 엽니다. 오류 직전과 직후의 메시지에서 원본, 이벤트 식별번호, 전체 설명과 장치 정보를 보존합니다. 필요하면 응용 프로그램 로그도 같은 시각으로 확인합니다.

Kernel-Power 이벤트 41은 정상 종료되지 않은 뒤 시작됐다는 기록입니다. 이것만으로 파워서플라이 고장이나 특정 드라이버 원인을 판정하지 않습니다. 블루스크린 이전의 실제 장치 및 프로그램 오류와 구분합니다.

덤프 위치와 생성되지 않았을 때의 확인

Windows가 생성한 작은 덤프는 보통 %SystemRoot%\Minidump, 자동 또는 커널 덤프는 %SystemRoot%\MEMORY.DMP에 저장됩니다. %SystemRoot%는 대개 C:\Windows이지만 설치 환경에 따라 다릅니다. 파일의 생성 시각이 이번 오류와 맞는지 확인하고 원본 사본을 보존합니다.

덤프가 없으면 Windows 검색에서 고급 시스템 설정 보기 > 고급 > 시작 및 복구의 설정 > 디버깅 정보 쓰기를 확인합니다. 자동 메모리 덤프 등 필요한 형식을 선택할 때 페이지 파일과 저장 공간 조건도 함께 확인하고 적용에 필요한 재시작을 진행합니다. 다음 오류 이전에 설정을 바꿔도 과거 오류의 덤프가 새로 생기지는 않습니다.

작은 덤프에는 원인 분석에 필요한 메모리가 빠질 수 있습니다. 분석 담당자가 추가 자료를 요구하면 덤프 형식과 수집 조건을 조정합니다. 덤프에는 메모리 속 정보가 포함될 수 있으므로 원본을 공개 게시판에 그대로 올리지 말고 필요한 담당자에게 전달합니다.

드라이버 롤백이 필요한 경우의 실제 경로

장치 드라이버를 되돌릴 필요가 있을 때는 시작 버튼을 오른쪽 클릭해 장치 관리자를 열고 해당 장치 > 속성 > 드라이버 > 드라이버 롤백을 확인합니다. 관리자 권한과 이전 패키지가 필요하며, 버튼이 비활성화되면 제조사의 해당 모델 및 Windows 버전용 패키지를 확인합니다. 부팅 저장장치나 원격 접속용 장치를 임의로 비활성화하지 않습니다.

덤프의 인수로 구분하는 오류 유형

아래 값은 중지 코드 자체가 아니라 덤프의 부가 인수 또는 분석 항목입니다. 실제 인수와 Windows 빌드를 대조하고 해당하지 않는 행을 다른 장비에 그대로 적용하지 않습니다.

오류 인수와 판단 기준
인수 또는 항목의미확인과 판단
Parameter 1 = 0x3풀의 빈 블록 연결 목록 손상연결 정보가 일치하는지 덤프에서 확인합니다.
Parameter 1 = 0xD, 0xE, 0xF, 0x23, 0x24 또는 0x25해제된 블록의 헤더가 나중에 변경됨인접 블록 넘침 등 과거 동작을 조사하며 마지막 호출자만으로 결론내리지 않습니다.
Parameter 1 = 0x21해제하려는 블록 뒤의 데이터 손상경계 밖 쓰기 가능성을 덤프와 호출 경로에서 조사합니다.
Parameter 1 = 0x22해제할 주소의 추적 정보 없음이미 해제됐거나 할당되지 않은 주소인지 분석합니다.

전문 분석에서 확인할 내용과 한계

!analyze -v만으로 과거의 풀 손상 주체를 찾지 못할 수 있습니다. Parameter 1의 유형, 풀 블록 경계와 연결 정보, 인접 블록 및 여러 덤프를 함께 분석합니다. 새 커널 덤프가 필요하면 자동 덤프 또는 커널 덤프 설정과 저장 조건을 확인합니다.

Microsoft Windows 디버거에서 덤프를 열고 심볼 준비가 끝나면 !analyze -v로 상세 분석, .bugcheck로 코드와 인수, kb로 호출 스택을 확인할 수 있습니다. 주소, 모듈과 필요한 메모리가 실제 덤프에 존재하는지 확인해야 하며 자동 출력의 한 줄을 원인 확정으로 사용하지 않습니다.

04

해결 방법

점검에서 확인된 단서에 따라 아래 조치를 선택합니다. 모든 조치를 연속해서 실행하거나 확인되지 않은 부품부터 교체하지 않습니다.

최근 드라이버 변경과 반복 발생 조건을 확인하고, 메모리 진단 결과와 덤프의 첫 번째 인수를 나눠 살펴봅니다. 풀 헤더가 손상됐다는 사실과 손상을 만든 드라이버를 찾았다는 사실은 다릅니다.

부팅 상태에 따른 점검 시작점

부팅이 되면 덤프를 보존하고 최근 장치 및 보안, 백업 제품 변경을 기록합니다. 로그인 전에 반복되면 복구 환경에서 안전 모드 진입 가능 여부를 먼저 확인하고, 새로 추가한 비필수 장치와 지원되는 롤백 범위부터 살펴봅니다.

Windows에 로그인할 수 있을 때

열린 작업과 중요한 데이터를 먼저 저장한 뒤 오류 기록과 덤프를 확보합니다. 최근 장치, 드라이버 및 프로그램 변경은 날짜와 버전으로 정리합니다. 정상 부팅된다는 이유만으로 기록을 삭제하거나 모든 드라이버를 한꺼번에 바꾸지 않습니다.

로그인 전에 반복되거나 복구 화면만 열릴 때

전원 메뉴를 사용할 수 있으면 Shift를 누른 상태로 다시 시작을 선택합니다. Windows 11에서는 설정 > 시스템 > 복구 > 고급 시작 옵션의 지금 다시 시작으로도 접근할 수 있습니다. Windows 10의 복구 메뉴는 업데이트 및 보안 아래에 있습니다.

Windows 복구 환경에서 문제 해결 > 고급 옵션 > 시작 설정 > 다시 시작을 선택하고 4 또는 F4로 안전 모드를 시작합니다. 메뉴 제공 여부는 장치와 설치 상태에 따라 다르며 암호화된 장치에는 BitLocker 복구 키가 필요할 수 있습니다. 안전 모드의 정상 동작은 비교 단서이고 모든 하드웨어가 정상이라는 증명은 아닙니다.

복구 키가 없거나 디스크가 인식되지 않거나 중요한 파일을 읽을 수 없으면 수정 작업보다 자료와 장치 상태 확인을 우선합니다. 설치 매체를 사용하더라도 컴퓨터 복구와 새 설치를 구분하고, 데이터 보존 전에 초기화나 포맷을 선택하지 않습니다.

01 드라이버와 상주 제품 변경 정리

실행: 장치 관리자에서 최근 추가한 장치의 속성 > 드라이버를 열어 공급자와 버전을 적습니다. 백업, 보안 또는 가상 장치 제품의 설치 및 업데이트 시점도 함께 기록합니다.

결과와 판단: 설치 이후 시작됐는지와 특정 장치 사용 또는 파일 처리 때 반복되는지 확인합니다. 실제 재현 조건이 없는 제품을 원인으로 지목하지 않습니다.

다음 조치: 시점과 작업이 맞는 후보부터 해당 Windows 빌드의 호환 패치 또는 롤백 절차를 확인합니다.

02 같은 시각 이벤트와 여러 덤프 보존

실행: 이벤트 뷰어 > Windows 로그 > 시스템에서 오류 직전 메시지를 저장합니다. 작은 덤프는 %SystemRoot%\Minidump에서, 자동 또는 커널 덤프는 %SystemRoot%\MEMORY.DMP에서 생성 여부를 확인합니다.

결과와 판단: 덤프마다 같은 첫 번째 인수와 모듈이 반복되는지 봅니다. 마지막으로 손상을 발견한 모듈과 앞서 손상을 만든 모듈이 다를 수 있습니다.

다음 조치: 덤프 원본과 Windows 빌드를 함께 보존하고 첫 번째 인수의 위반 유형을 분석 담당자에게 전달합니다.

03 물리 메모리 검사와 결과 읽기

실행: 열린 파일을 저장하고 Windows 검색에서 Windows 메모리 진단을 실행해 재부팅 검사를 예약합니다. 완료 후 이벤트 뷰어의 시스템 로그에서 MemoryDiagnostics-Results를 찾아 메시지를 저장합니다.

결과와 판단: 메모리 오류가 보고되면 하드웨어 구성을 확인할 근거가 됩니다. 검사를 완료했다는 메시지와 오류를 발견했다는 메시지를 구분합니다.

다음 조치: 오류가 있으면 제조사 진단과 메모리 구성 점검으로 이어갑니다. 정상이면 드라이버 및 풀 손상 분석을 계속하고 시스템 메모리 정상으로 확정하지 않습니다.

04 확인된 후보만 변경해 비교

실행: 최근 업데이트와 연결되는 장치가 확인되면 해당 장치의 드라이버 롤백을 검토하거나 제조사 호환 패키지를 준비합니다. 보안 및 백업 제품은 공급자가 안내하는 절차와 관리 정책을 따릅니다.

결과와 판단: 한 번에 여러 제품을 제거하면 어느 변경이 영향을 줬는지 알기 어렵습니다. 이전 패키지가 없으면 롤백 버튼을 사용할 수 없을 수도 있습니다.

다음 조치: 한 항목만 변경하고 원래 오류가 발생한 작업을 확인합니다. 계속되면 단순 업데이트 반복보다 덤프 분석으로 넘깁니다.

05 Special Pool 검사가 필요한 범위 판단

실행: 일반 사용자는 원본 덤프와 앞선 결과를 전달합니다. 분석 담당자는 의심 드라이버, 복구 방법 및 테스트 환경을 준비한 경우에만 Driver Verifier의 Special Pool 적용을 검토합니다.

결과와 판단: 이 검사는 시스템을 일부러 더 엄격하게 감시해 새 정지를 일으킬 수 있습니다. 모든 드라이버를 선택하는 일괄 설정을 첫 해결책으로 사용하지 않습니다.

다음 조치: 테스트에서 확인된 드라이버와 위반 유형을 공급자에게 전달하고 검증기 설정을 해제한 일반 환경의 결과도 따로 확인합니다.

조치 후 확인하고 남길 결과

원래 발생한 장치 및 프로그램 작업과 정상 부팅을 확인합니다. 메모리 진단 결과, 변경한 제품 버전 및 새 덤프의 위반 유형을 나눠 기록해 재발 시 같은 현상인지 비교합니다.

조치 전후 기록에는 변경한 항목 하나와 버전, 재시작 여부, 같은 작업의 결과 및 새 오류 시각을 남깁니다. 진단 도구가 정상이라고 나온 결과와 원래 증상이 재발하지 않은 결과를 각각 적습니다.

작업 전 확인할 조건과 중단 기준

Driver Verifier의 Special Pool은 분석 중 부하와 시스템 정지를 일으킬 수 있습니다. 일반 사용자에게 모든 드라이버 검사를 권하지 않으며 대상 드라이버와 복구 방법을 준비한 분석 환경에서만 판단합니다.

오류 코드의 의미와 현재 제품의 지원 여부는 별개입니다. Windows 제품과 빌드, 장치 또는 프로그램 버전에 맞는 절차를 사용하고 변경한 항목과 결과를 남깁니다.

관리자 권한이 필요한 변경과 재부팅 검사는 업무 중단을 준비한 뒤 진행합니다. 저장장치 미인식, 반복 읽기 오류 또는 복구 키 미확보가 있으면 데이터에 영향을 주는 작업을 멈추고 대상과 보존 상태부터 확인합니다.

05

자주 묻는 질문

BAD_POOL_HEADER는 시스템 메모리 고장이라는 뜻인가요?

풀 관리 정보가 손상됐다는 뜻입니다. 드라이버의 경계 밖 쓰기와 이미 해제된 메모리 접근 등도 가능해 메모리 진단과 덤프의 위반 유형으로 구분해야 합니다.

메모리 진단 결과는 어디에서 보나요?

재부팅 검사 뒤 이벤트 뷰어 > Windows 로그 > 시스템에서 MemoryDiagnostics-Results 원본의 메시지를 확인합니다. 검사 날짜와 실제 오류 유무를 함께 남깁니다.

Driver Verifier를 켜면 바로 해결되나요?

수리 도구가 아니라 드라이버 문제를 드러내는 검증 도구입니다. 정지나 부팅 장애를 유발할 수 있어 복구 방법이 준비된 테스트 및 분석 환경에서 대상 드라이버만 검토합니다.

06

참고 자료

이 글은 Microsoft 공식 문서의 코드 의미와 도구 사용 조건을 기준으로 정리한 일반 점검 안내입니다. 실제 장비에서 원인을 확정한 작업사례가 아니며, 메뉴 이름과 제공 기능은 Windows 빌드 및 장비 구성에 따라 달라질 수 있습니다.

코드별 Microsoft 문서와 Windows 복구, 덤프 수집 및 도구 사용 조건을 대조했습니다. 최종 검토 기준일은 2026년 10월 24일이며 확인한 근거가 바뀌면 영향받는 설명을 다시 검토합니다.

Bug Check 0x00000019 BAD_POOL_HEADER - Windows drivers | Microsoft Learn

Windows 시작 설정과 안전 모드 - Microsoft Support

작은 메모리 덤프 설정과 분석 - Microsoft Learn

장치 관리자에서 드라이버 업데이트와 롤백 - Microsoft Support

관련 용어와 글

관련 기술자료

TECHNICAL RESOURCES CONTACT

확인하려는 기술 내용과 사용 환경을 알려주세요

장비와 운영 환경, 확인한 오류나 자료 내용을 알려주시면 필요한 안내와 상담 범위를 확인합니다.