BAD_POOL_HEADER 블루스크린 원인과 해결 방법

BAD_POOL_HEADER 블루스크린 원인과 해결 방법

대형 온천의 공용 사물함 관리실에서는 각 사물함 문짝 위쪽의 작은 명찰(헤더)에 ‘배정된 칸 크기’와 ‘앞뒤 사물함 번호’를 적어 두고 열쇠를 나눠주거나 회수한다고 해 보겠습니다. 그런데 어떤 손님이 자기 사물함에 허용된 크기보다 큰 여행 가방을 억지로 밀어 넣다가 바로 옆 사물함 문짝의 명찰까지 부러뜨려 놓았다면, 관리인은 열쇠를 반납받으려다 명찰이 깨진 것을 보고 사물함 배정을 즉시 멈추겠죠. 윈도우가 메모리 공간을 나눠주고 회수할 때도 똑같은 명찰 검사를 수행합니다.

USB 장치를 꽂거나 특정 프로그램을 종료할 때 갑자기 파란 화면이 뜨며 중지 코드에 BAD_POOL_HEADER가 표시되는 현상이 대표적입니다. 여기서 말하는 ‘Pool(풀)’과 ‘Header(헤더)’가 무엇인지 작동 원리를 쉽게 풀어보고, 원인이 되는 드라이버와 메모리 설정을 바로잡는 방법을 알아보겠습니다.

BAD_POOL_HEADER(0x00000019)와 커널 메모리 풀 헤더의 원리

마이크로소프트 버그 체크 문서에서 이 정지 코드의 고유 번호는 0x00000019입니다. 윈도우 커널은 수많은 장치 드라이버와 시스템 컴포넌트가 필요할 때마다 조금씩 빌려 쓸 수 있도록 커널 메모리 풀(Kernel Memory Pool)이라는 공용 메모리 저수지를 운영합니다.

사물함 문짝 명찰 비유처럼 커널 풀 관리자(Pool Manager)는 드라이버에게 메모리 한 칸(블록)을 내어줄 때, 그 블록 맨 앞머리에 ‘이 블록의 크기, 이전 블록의 크기, 소유자 태그’를 적은 작은 관리 정보표인 메모리 할당 헤더(Pool Header)를 붙여 둡니다. 나중에 드라이버가 다 쓴 메모리를 반납하면 풀 관리자는 이 앞머리 헤더가 온전한지 먼저 확인한 뒤 회수합니다.

그런데 코딩 오류가 있는 구형 드라이버가 자기가 빌린 칸 크기보다 더 많은 데이터를 기록해(버퍼 오버런) 바로 다음 칸의 헤더를 덮어써 버리거나, 이미 반납한 메모리를 또 반납하려 할 때 앞뒤 헤더 정보가 어긋나면서 즉시 BAD_POOL_HEADER 블루스크린이 터지게 됩니다.

최근 설치한 백신·주변기기 드라이버 제거와 빠른 시작 해제

0x00000019 오류의 가장 큰 비중을 차지하는 범인은 윈도우 기본 파일이 아니라, 외부에서 설치된 서드파티 백신(안티바이러스)·방화벽 필터 드라이버나 USB 외장 장비(외장 하드, 오디오 인터페이스, 구형 프린터·무선 동글) 드라이버입니다. 또한 하이브리드 절전 기능인 빠른 시작이 켜져 있을 때도 절전 복귀 시 메모리 풀 헤더가 꼬이는 일이 잦습니다.

충돌 프로그램·주변기기 정리 및 빠른 시작 해제 순서

  1. 먼저 PC 본체에 꽂혀 있는 키보드·마우스 외의 외장 하드, USB 허브, 캡처 보드 등 외부 USB 장치를 잠시 분리합니다.
  2. 설정(Win + I) → 앱 → 설치된 앱을 열어 최근 블루스크린이 시작되기 직전에 설치한 타사 백신, VPN, 디스크 관리 유틸리티가 있다면 삭제합니다.
  3. 시작 버튼을 마우스 우클릭해 장치 관리자를 열고 네트워크 어댑터, 범용 직렬 버스(USB) 컨트롤러, 사운드 컨트롤러 드라이버를 최신 버전으로 업데이트(또는 최근 업데이트 후 발생 시 롤백)합니다.
  4. 작업 표시줄 검색창에 제어판을 입력해 열고 전원 옵션 → 전원 단추 작동 설정 → 현재 사용할 수 없는 설정 변경으로 들어갑니다.
  5. 종료 설정의 빠른 시작 켜기(권장) 체크를 풀고 변경 내용 저장을 누른 뒤 PC를 재부팅합니다(빠른 시작 해제).

빠른 시작 기능을 끄면 컴퓨터를 껐다 켤 때마다 커널 메모리 풀 전체가 최대 절전 이미지에서 재활용되지 않고 백지상태에서 깨끗하게 새로 할당되므로 풀 헤더 손상이 크게 줄어듭니다.

Windows 메모리 진단(mdsched.exe)과 시스템 파일 무결성 복구

외부 드라이버와 빠른 시작 설정을 정리했는데도 불규칙하게 BAD_POOL_HEADER가 나타난다면, 드라이버의 잘못이 아니라 메모리 풀이 실제로 자리 잡고 있는 물리 램(RAM) 칩이나 시스템 파일에 이상이 있는 경우입니다. 물리 램의 접점 불량이나 오버클럭 불안정을 방치한 채 프로그램만 지우는 행동은 다른 메모리 블루스크린(0x1A, 0x50)까지 연쇄적으로 부를 수 있습니다.

물리 램(RAM) 진단 및 시스템 파일 복구 명령어 실행 순서

  1. 키보드에서 Win + R을 눌러 실행 창을 띄우고 mdsched.exe를 입력한 뒤 엔터를 누릅니다.
  2. Windows 메모리 진단 창에서 지금 다시 시작하여 문제 확인을 클릭해 재부팅 과정에서 물리 램 셀에 오류가 없는지 검사합니다(바이오스에 XMP 메모리 오버클럭이 걸려 있다면 기본 클럭으로 해제합니다).
  3. 검사를 마치고 윈도우로 부팅되면 검색창에 cmd를 입력해 명령 프롬프트를 관리자 권한으로 실행합니다.
  4. 아래 세 줄의 명령어를 차례로 입력해 손상된 커널 시스템 파일과 디스크 파일 시스템을 수리합니다.
    DISM.exe /Online /Cleanup-image /Restorehealth
    sfc /scannow
    chkdsk C: /f

특히 파일 탐색기에서 대용량 파일을 복사하거나 외장 하드를 연결할 때만 BAD_POOL_HEADER가 뜨던 경우에는 chkdsk로 파일 시스템 인덱스를 수리하면 증상이 바로 사라집니다.

미니덤프 분석과 드라이버 검증 도구로 침범 드라이버 찾기

참고로 BAD_POOL_HEADER 오류는 한 가지 까다로운 특징이 있습니다. A라는 불량 드라이버가 자기 옆 칸인 B 드라이버의 메모리 할당 헤더를 몰래 망가뜨리고 도망간 뒤, 나중에 아무 죄 없는 B 드라이버가 메모리를 반납할 때 블루스크린이 터지는 경우가 있기 때문입니다.

따라서 C:\Windows\Minidump 파일을 WinDbg로 열었을 때 표시되는 드라이버 외에도, 윈도우 내장 드라이버 검증 도구(verifier.exe)의 ‘특수 풀(Special Pool)’ 감시 기능을 쓰면 다른 칸을 침범하는 진짜 범인 드라이버를 현행범으로 잡아낼 수 있습니다. 단, verifier.exe를 실행하기 전에는 반드시 시스템 복원 지점을 먼저 만들고 마이크로소프트가 아닌 타사 드라이버만 선택해 테스트한 뒤, 범인을 찾으면 안전 모드 명령 프롬프트에서 verifier /reset 명령으로 검증기를 반드시 꺼 주어야 합니다.

0x00000019 주요 발생 원인별 증상과 단계별 해결책 비교

구분세부 발생 원인주요 발생 상황우선 해결 조치
서드파티 보안·필터 드라이버타사 백신·방화벽·VPN 드라이버의 버퍼 오버런 및 이중 해제웹 브라우징, 프로그램 종료, 백신 업데이트 직후 발생타사 백신·VPN 제거 (Windows Defender 단독 사용)
주변기기 드라이버 호환성구형 USB 장비·외장 하드·오디오 드라이버가 메모리 풀 침범특정 USB 장치를 꽂거나 안전 제거할 때 발생외부 USB 분리 테스트 및 장치 관리자 드라이버 최신화
빠른 시작·절전 복원 꼬임최대 절전 파일에서 커널 메모리 풀 복원 시 헤더 불일치PC 전원 켠 직후 또는 절전 모드 복귀 순간 발생제어판 전원 옵션에서 빠른 시작 해제 적용
물리 RAM·파일 시스템 손상램 셀 비트 반전 또는 디스크 NTFS 구조체 파손특정 작업과 무관하게 불규칙 발생 또는 파일 복사 중 발생mdsched.exe 램 진단, XMP 해제, sfc /scannow 및 chkdsk 실행

핵심 정리

공용 사물함에서 한 이용객이 큰 짐을 억지로 밀어 넣다가 옆 사물함의 명찰까지 부러뜨리면 관리인이 사물함 회수를 중단하는 비유처럼, BAD_POOL_HEADER(0x00000019) 블루스크린은 커널 메모리 풀 블록 앞머리에 붙은 관리용 헤더가 잘못된 드라이버나 메모리 오류로 훼손되었을 때 나타나는 정지 코드입니다. 최근 설치한 외부 백신과 구형 USB 드라이버를 먼저 정리하고, 빠른 시작 해제와 메모리·시스템 파일 진단을 순서대로 진행하면 메모리 풀 충돌을 말끔히 잡을 수 있습니다.

오래된 주변기기를 윈도우 11이나 최신 빌드에 연결할 때는 제조사 홈페이지에서 최신 운영체제용 드라이버를 제공하는지 먼저 확인하는 것이 안전합니다. 아래 체크리스트를 통해 내 PC의 메모리 풀 환경을 점검해 보시기 바랍니다.

재발 방지 체크리스트

재발 방지 체크리스트

  • 블루스크린이 시작되기 직전에 새로 연결한 USB 주변기기나 새로 설치한 백신·유틸리티 프로그램을 분리·제거해 보았는가?
  • 부팅 및 절전 복귀 시 메모리 풀 초기화를 돕기 위해 제어판 전원 옵션에서 빠른 시작 켜기를 해제했는가?
  • mdsched.exe(Windows 메모리 진단)와 sfc /scannow를 실행해 물리 램과 기본 커널 파일에 손상이 없음을 확인했는가?
  • 고급 진단 도구인 verifier.exe를 사용할 때는 반드시 시스템 복원 지점을 먼저 만들고 진단 후 verifier /reset으로 해제했는가?