오류 설명
드라이버가 현재 처리 조건에서 사용할 수 없는 메모리 영역에 접근해 Windows가 멈추는 오류입니다. 최근 드라이버 변경과 오류 당시 사용하던 장치를 먼저 확인합니다.
오류의 정식 의미와 발생 조건
페이지 가능한 메모리 접근은 현재 실행 우선순위에서 허용되지 않을 수 있습니다. 유효하지 않거나 이미 해제된 포인터를 사용한 경우도 관련되므로 시스템 메모리 용량 부족과 같은 의미로 해석하지 않습니다.
중지 코드는 Windows가 어떤 상태를 발견했는지 나타냅니다. 원인을 정하려면 발생 작업, 최근 변경과 추가 기록을 함께 확인해야 하며 같은 코드라도 장비 구성에 따라 점검 대상이 달라질 수 있습니다.
비슷한 오류와 버전별 적용 차이
IRQL_NOT_LESS_OR_EQUAL (0x0000000A)과 이름이 비슷하지만 별도 코드입니다. PAGE_FAULT_IN_NONPAGED_AREA (0x00000050)와도 인수 해석이 달라 같은 해결 명령을 일괄 적용하면 안 됩니다.
주요 원인
아래는 공식 문서가 설명하는 발생 원인과 조건입니다. 현재 컴퓨터의 원인이 모두 확인됐다는 뜻은 아니며, 다음 점검 항목의 결과와 오류 기록으로 해당 여부를 구분해야 합니다.
드라이버가 유효하지 않은 포인터를 사용한 경우
공식 문서는 비어 있거나 이미 해제된 포인터와 잘못된 함수 포인터의 사용을 설명합니다. 접근 주소와 그 접근을 실행한 명령 주소를 함께 조사해야 합니다.
높은 처리 수준에서 페이지 가능한 데이터나 코드를 사용한 경우
현재 실행 수준에서는 불러올 수 없는 메모리에 접근하거나 페이지 가능한 코드를 실행하면 발생할 수 있습니다. 장치의 인터럽트 번호를 임의로 바꾸는 해결법과는 다릅니다.
점검할 부분
장치 드라이버
최근 설치하거나 업데이트한 드라이버와 오류 시작 시점을 확인합니다.
사용 중이던 장치
네트워크나 주변기기 등 특정 장치를 사용할 때 반복되는지 살펴봅니다.
오류 파일명과 기록
화면에 표시된 파일명과 덤프를 보존해 실제 장치 및 드라이버 경로를 확인합니다.
먼저 확보할 기록과 실제 확인 경로
오류 뒤 설정을 바꾸기 전에 아래 정보를 보존합니다. 인수는 오류를 분석하기 위해 코드와 함께 기록되는 네 개의 부가 값이며, 화면에 모두 보이지 않으면 덤프에서 확인합니다.
화면, 발생 작업과 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 | 접근한 메모리 주소 | 유효하지 않거나 페이징 가능한 주소인지 확인합니다. |
| Parameter 2와 3 | 인터럽트 요청 수준 및 접근 종류 | 읽기, 쓰기 또는 실행의 의미를 해당 공식 표와 대조합니다. |
| Parameter 4 | 메모리를 참조한 명령 주소 | 모듈과 함수 및 호출 흐름을 분석합니다. |
전문 분석에서 확인할 내용과 한계
!analyze -v와 스택, 필요하면 덤프에 제공된 트랩 프레임을 확인합니다. Parameter 4가 속한 모듈과 메모리의 유효성을 함께 보며, 공통 프레임워크가 표시됐다는 이유만으로 그 파일을 삭제하거나 바꾸지 않습니다.
Microsoft Windows 디버거에서 덤프를 열고 심볼 준비가 끝나면 !analyze -v로 상세 분석, .bugcheck로 코드와 인수, kb로 호출 스택을 확인할 수 있습니다. 주소, 모듈과 필요한 메모리가 실제 덤프에 존재하는지 확인해야 하며 자동 출력의 한 줄을 원인 확정으로 사용하지 않습니다.
해결 방법
점검에서 확인된 단서에 따라 아래 조치를 선택합니다. 모든 조치를 연속해서 실행하거나 확인되지 않은 부품부터 교체하지 않습니다.
높은 인터럽트 요청 수준에서 드라이버가 접근한 주소와 접근 명령의 모듈을 확인합니다. 인터럽트 요청 수준 관련 오류라는 이름만으로 인터럽트 설정을 바꾸거나 시스템 메모리부터 교체하지 않습니다.
부팅 상태에 따른 점검 시작점
특정 장치 드라이버 변경 뒤 부팅이 안 되면 안전 모드에서 공급자와 버전을 확인하고 지원되는 롤백을 검토합니다. 네트워크 장치가 원격 관리에 사용 중이라면 접근을 잃지 않도록 대체 접속과 담당자를 먼저 준비합니다.
Windows에 로그인할 수 있을 때
열린 작업과 중요한 데이터를 먼저 저장한 뒤 오류 기록과 덤프를 확보합니다. 최근 장치, 드라이버 및 프로그램 변경은 날짜와 버전으로 정리합니다. 정상 부팅된다는 이유만으로 기록을 삭제하거나 모든 드라이버를 한꺼번에 바꾸지 않습니다.
로그인 전에 반복되거나 복구 화면만 열릴 때
전원 메뉴를 사용할 수 있으면 Shift를 누른 상태로 다시 시작을 선택합니다. Windows 11에서는 설정 > 시스템 > 복구 > 고급 시작 옵션의 지금 다시 시작으로도 접근할 수 있습니다. Windows 10의 복구 메뉴는 업데이트 및 보안 아래에 있습니다.
Windows 복구 환경에서 문제 해결 > 고급 옵션 > 시작 설정 > 다시 시작을 선택하고 4 또는 F4로 안전 모드를 시작합니다. 메뉴 제공 여부는 장치와 설치 상태에 따라 다르며 암호화된 장치에는 BitLocker 복구 키가 필요할 수 있습니다. 안전 모드의 정상 동작은 비교 단서이고 모든 하드웨어가 정상이라는 증명은 아닙니다.
복구 키가 없거나 디스크가 인식되지 않거나 중요한 파일을 읽을 수 없으면 수정 작업보다 자료와 장치 상태 확인을 우선합니다. 설치 매체를 사용하더라도 컴퓨터 복구와 새 설치를 구분하고, 데이터 보존 전에 초기화나 포맷을 선택하지 않습니다.
01 문제 장치와 .sys 파일 연결
실행: 화면의 파일명과 오류 발생 작업을 기록하고 장치 관리자의 장치 속성에서 드라이버 공급자 및 버전을 확인합니다.
결과와 판단: 파일 이름과 실제 장치를 연결할 수 있는지 확인합니다. 공통 프레임워크 파일이면 그 위에서 동작한 다른 공급자 드라이버도 남겨 둡니다.
다음 조치: 반복 덤프에서 같은 장치 경로가 확인되는지 분석합니다.
02 최근 업데이트와 호환성 비교
실행: 오류가 시작된 날짜와 장치 드라이버 변경을 대조하고 제조사에서 해당 모델 및 Windows 빌드에 지원하는 패키지를 확인합니다.
결과와 판단: 일반 최신 버전과 장비 제조사의 검증 버전 적용 조건이 다를 수 있습니다.
다음 조치: 확인된 후보 하나의 롤백 또는 패치로 비교하고 변경 전후 버전을 기록합니다.
03 인터럽트 요청 수준과 접근 주소 분석 요청
실행: 발생 시각이 다른 덤프 원본과 각 시각의 시스템 이벤트를 복사해 보존합니다. Windows 빌드, 화면 파일명과 장치 드라이버 버전을 함께 묶어 분석 담당자에게 전달합니다.
결과와 판단: 높은 인터럽트 요청 수준에서 페이징 가능한 주소를 사용했는지, 이미 해제된 주소나 잘못된 함수 포인터를 사용했는지에 따라 분석이 달라집니다.
다음 조치: 단순한 파일 교체가 아니라 Parameter 4의 코드와 Parameter 1의 상태를 함께 조사하도록 전달합니다.
조치 후 확인하고 남길 결과
문제 장치가 사용되는 원래 작업과 정상 부팅을 확인하고 접근 모듈과 드라이버 버전이 달라졌는지 기록합니다.
조치 전후 기록에는 변경한 항목 하나와 버전, 재시작 여부, 같은 작업의 결과 및 새 오류 시각을 남깁니다. 진단 도구가 정상이라고 나온 결과와 원래 증상이 재발하지 않은 결과를 각각 적습니다.
작업 전 확인할 조건과 중단 기준
드라이버 이름을 찾았다는 이유만으로 핵심 장치 드라이버를 즉시 삭제하지 않습니다. 원격 접속과 부팅에 필요한 장치를 변경할 때에는 복구 경로와 작업 영향을 먼저 확인합니다.
오류 코드의 의미와 현재 제품의 지원 여부는 별개입니다. Windows 제품과 빌드, 장치 또는 프로그램 버전에 맞는 절차를 사용하고 변경한 항목과 결과를 남깁니다.
관리자 권한이 필요한 변경과 재부팅 검사는 업무 중단을 준비한 뒤 진행합니다. 저장장치 미인식, 반복 읽기 오류 또는 복구 키 미확보가 있으면 데이터에 영향을 주는 작업을 멈추고 대상과 보존 상태부터 확인합니다.
자주 묻는 질문
IRQL_NOT_LESS_OR_EQUAL과 같은 페이지로 처리해도 되나요?
원리가 겹치지만 0x000000D1은 드라이버의 잘못된 주소 접근에 초점을 둔 별도 중지 코드입니다. 실제 코드와 인수를 보존해 각각 분석합니다.
인터럽트 요청 번호를 수동으로 바꾸면 되나요?
이 오류의 인터럽트 요청 수준은 Windows 커널 실행 우선순위 문맥입니다. 장치 인터럽트 요청 번호를 임의 변경하는 일반 수리 지시가 아닙니다.
참고 자료
이 글은 Microsoft 공식 문서의 코드 의미와 도구 사용 조건을 기준으로 정리한 일반 점검 안내입니다. 실제 장비에서 원인을 확정한 작업사례가 아니며, 메뉴 이름과 제공 기능은 Windows 빌드 및 장비 구성에 따라 달라질 수 있습니다.
코드별 Microsoft 문서와 Windows 복구, 덤프 수집 및 도구 사용 조건을 대조했습니다. 최종 검토 기준일은 2026년 10월 24일이며 확인한 근거가 바뀌면 영향받는 설명을 다시 검토합니다.
Bug Check 0x000000D1 DRIVER_IRQL_NOT_LESS_OR_EQUAL - Windows drivers | Microsoft Learn
Windows 시작 설정과 안전 모드 - Microsoft Support
관련 용어와 글
관련 기술자료
- BAD_POOL_HEADER (0x00000019) 풀 헤더 손상: 원인과 확인 방법
- KMODE_EXCEPTION_NOT_HANDLED (0x0000001E) 처리되지 않은 커널 모드 예외: 원인과 확인 방법
- PFN_LIST_CORRUPT (0x0000004E) 페이지 프레임 번호 목록 손상: 원인과 확인 방법
- REGISTRY_ERROR (0x00000051) 심각한 레지스트리 오류: 원인과 확인 방법
- SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (0x0000007E) 처리되지 않은 시스템 스레드 예외: 원인과 확인 방법
- UNEXPECTED_KERNEL_MODE_TRAP (0x0000007F) 처리하지 못한 커널 모드 트랩: 원인과 확인 방법
- BAD_POOL_CALLER (0x000000C2) 잘못된 커널 메모리 풀 요청: 원인과 확인 방법
- DRIVER_VERIFIER_DETECTED_VIOLATION (0x000000C4) 드라이버 검증기가 감지한 치명적 위반: 원인과 확인 방법
- CLOCK_WATCHDOG_TIMEOUT (0x00000101) 프로세서 클록 인터럽트 응답 시간 초과: 원인과 확인 방법
- VIDEO_SCHEDULER_INTERNAL_ERROR (0x00000119) 비디오 스케줄러의 치명적인 위반: 원인과 확인 방법
- KERNEL_SECURITY_CHECK_FAILURE (0x00000139) 커널의 중요 데이터 구조 손상 감지: 원인과 확인 방법
- KERNEL_MODE_HEAP_CORRUPTION (0x0000013A) 커널 모드 힙 손상: 원인과 확인 방법
- UNEXPECTED_STORE_EXCEPTION (0x00000154) 커널 메모리 저장 구성요소의 예기치 않은 예외: 원인과 확인 방법
- 윈도우 오류 코드 찾아보기: 블루스크린부터 설치와 공유폴더까지
- IRQL_NOT_LESS_OR_EQUAL (0x0000000A) 블루스크린 원인과 확인 방법
- PAGE_FAULT_IN_NONPAGED_AREA (0x00000050) 블루스크린 원인과 확인 방법
- Windows 블루스크린 전체 오류 코드 목록과 적용 조건