일반적인 블루 스크린(STOP 스크린) 코드 및 해결
1.
1-1. 다른 시스템 서비스, 응용 프로그램, 장치 드라이버, 잘못되었거나 호환되지 않는 장치 드라이버 문제.
1-2. 하드웨어 문제.
1-3. 디스크나 파일 시스템 손상.
1-4. 오래 되었거나 운영체제 또는 특정 파일과 호환되지 않는 펌웨어 또는 BIOS문제.
1-5. 바이러스.
2.가장 일반 적인 STOP 스크린 코드와 그 원인.
2-1. STOP 0x0000000A IRQL_NOT_LESS_EQUAL
☞ STOP A는 커널 모드 프로세스가 IRQ 수준이 시스템 허용 수준보다 너무 높은 메모리 부분을 액세스 하려고 할 때 발생합니다. 보통 STOP A는 버그가 있는 장치 드라이버나 백업 유틸리티 또는 바이러스 스케너 서비스로 인해 발생합니다. 이런 유형의 응용 프로그램은 장치 드라이버를 사용하고 Windows NT4.0 제어판에 있는 서비스 애플릿이나 장치 애플릿에 보내지는 드라이버나 Windows 2000 장치 관리자 하단의 숨겨진 장치로 로드되는 드라이버를 필터링합니다.
2-2. STOP 0x0000001E KMODE_EXCEPTION_NOT_HANDLED.
☞ 이 코드는 커널 모드 프로세스가 잘못되었거나 알 수 없는 프로세서 명령을 실행하려 할 때 발생합니다. 응용프로그램이나 잘못된 드라이버가 알 수 없는 명령이나 시스템이 이해할 수 없는 다른 시스템 API 호출을 실행하려고 하는 경우에 해당됩니다. PcAnywhere, VNC(Virtual Network Computing) 등과 같은 제3의 원격 제어 응용 프로그램이 원인일 확률도 큽니다.
2-3. STOP 0x00000024 NTFS_FILE_SYSTEM.
☞ 이 코드는 Ntfs.sys의 파일 시스템 드라이버에서 발생하는 문제가 원인입니다. 이 코드는 거의 대부분 디스크 손상이나 Diskeeper와 같은 디스크 조각 모음 응용 프로그램으로 인해 발생하며 아주 드물게는 사용자가 Macintosh용 서비스 불륨이나 대량 파일이 들어 있는 볼륨에 7GB보다 큰 파티션을 만들려고 할 때 발생합니다.
2-4. STOP 0x0000002E DATA_BUS_ERROR
☞ 이 오류는 거의 대부분 시스템의 실제 RAM의 패리티 오류로 인해 발생합니다. 이 오류는 실제 RAM에서 발생하기 때문에 항상 결함이 있는 하드웨어 문제나 일부 구성 문제 또는 호환되지 않는 하드웨어와 연관이 있습니다. 실제 RAM의 구성을 추가하거나 변경한 직후에 이 STOP 코드가 발생한 경우에는 구성을 이전 상태로 복구한 다음 STOP 코드가 발생하지 않는지 확인합니다. 하지만, 오류가 지속될 경우, 해결책은 마더보드 파일 안에 있는 메모리 캐시를 사용 안 함으로 설정하는 것입니다.
2-5. STOP 0x00000050 PAGE_FAULT_IN_NONPAGED_AREA.
☞ 대부분의 경우, Windows NT4.0 Terminal Server 설치 시 이 코드가 나타납니다. Windows NT4.0 Terminal Server를 설치할 때 이 코드가 발생하면 거의 대부분, HP, Lexmark 등 호환되지 않거나 잘못된 프린터 드라이버 때문입니다. 이 오류는 주로 요청된 데이터를 메모리에서 찾을 수 없어 시스템은 페이지 파일을 확인하지만, 누락된 데이터를 발견되고 페이지 파일에 작성할 수 없을 때 발생합니다. 이 때 데이터를 이동할 수 없으면 블루 스크린이 발생합니다.
2-6. STOP 0x0000007B INACCESIBLE_BOOT_DEVICE.
☞ 이 코드는 Windows가 시작 프로세스 중에 시스템 파티션에 대한 액세스를 상실할 때 발생합니다. 이 코드는 거의 대부분 SCSI 장치 드라이버, RAID 드라이버 또는 특정 UDMA IDE 컨트롤러 드라이버 문제로 인해 발생합니다. 또한 사용자의 Boot.ini 파일에 잘못된 ARC 경로가 있을 때도 발생합니다. 시스템 파티션이 있는 사용자의 드라이브에 하드웨어 디스크 오류가 있을 때도 이 오류가 발생할 수 있습니다. 사용자가 실제로 Windows NT나 2000을 설치하는 경우, 설치 시작 직전에 ‘제 3의 대용량 저장 장치 드라이버를 설치하려면 F6키를 누르십시오’라는 프롬프트가 표시됩니다.
2-7. STOP 0x0000007F UNEXPECTED_KERNEL_MODE_TRAP.
☞ 이 코드는 CPU가 커널이 탐지하지 못하는 오류를 생성할 때 발생합니다. 크래시가 발생하거나 다운되어 프로세서가 크래시를 탐지할 수 없는 경우입니다. 대부분의 경우, STOP 7F가 하드웨어, 특히 RAM으로 인해 발생한다는 것을 확인할 수 있습니다. 사용할 수 있는 문제 해결 단계는 SCSI 어댑터의 BIOS에 있는 동기화 협상을 사용 안 함으로 설정하는 것입니다. 또한 SCSI 장치에 부착된 케이블의 연결이 끊어졌는지 확인해야 합니다. 또한 오버클럭에 대해서도 조심해야 합니다. CPU를 실제 프로세서 속도보다 높은 주파수로 오버클럭하면 STOP 7F를 일으킬 수 있습니다.
2-8. STOP 0x0000009F DRIVER_POWER_STATE_FAILURE.
☞ 이 코드는 드라이버가 전원 상태 전환 요청을 적절하게 처리하지 못할 때 발생합니다. 예를 들어, 사용자가 대기 모드, 최대 절전 모드 등 절전 모드에서 빠져 나올 때마다 발생합니다. 이는 절전 프로파일을 설치한 랩톱이나 일반 컴퓨터에서 더 자주 볼 수 있습니다. 그리고 사용자가 시스템을 종료할 때 또는 대기모드나 최대 절전 모드에서 빠져 나올 때 자주 발생합니다. Nero나 Easy_CD Creator와 같은 CD 작성 소프트웨어가 설치된 경우 STOP 9F가 발생할 수 있습니다.
2-9. STOP 0x000000D1 DRIVER_IRQL_NOT_LESS_OR_EQUAL.
☞ 이 코드는 STOP A와 매우 유사하며 사실상 동일하다고 할 수 있습니다. 코드 발생 원인도 STOP A와 매우 유사하며 시스템이 아주 높은 프로세스 IRQL에서 페이지로 나눌 수 있는 메모리를 액세스하려고 할 때 발생합니다. 이 코드의 문제를 해결하려면 STOP A에서 사용한 것과 동일한 문제 해결 단계를 수행하셔야 합니다.
2-10. STOP 0Xc000021A STATUS_SYSTEM_PROCESS_TERMINATED
☞ 이 코드는 실제 사용자 모드 크래시인 STOP 코드이며 사용자 모드 하위 시스템이 치명적인 손상을 입어 운영 체제의 보안을 보장할 수 없을 때 발생합니다. 이 때, 사용자 모드 하위 시스템은 Winlogon이나 CSRSS 중 하나 입니다. 이 오류는 컴퓨터를 실제로 손상시킬 수 있는 유일한 사용자 모드 오류입니다. 오류 원인은 주로 제 3의 응용 프로그램 때문이거나 사용자가 일치하지 않는 시스템 파일을 가지고 있기 때문입니다. 예를 들어, 서비스 팩을 설치할 때 실수로 시스템 전원이 꺼지거나 다른 종류의 크래시가 발생하여 다시 부팅한 경우, 파일 중 절반은 서비스 팩 수준이 되고 다른 파일은 이전 수준 그대로 남아 있게 됩니다. 사용자가 일치하지 않는 시스템 파일을 가지고 있다고 생각될 때, Windows 2000에서 STOP C000021A를 해결하는 다른 문제 해결 단계는 실행 명령 프롬프트에서 sfc_/scannow를 입력하는 것입니다. Sfc_/scannow는 Windows 2000의 Windows 파일 보호 기술의 일부로서 시스템 파일 검사기를 말합니다. 이 명령은 모든 시스템 파일을 스캔하여 모든 파일이 동일하도록 하며, 최신 버전으로 업데이트 합니다.
2-11. STOP 0x00000135 또는 0xC0000135 → Winserv.dll 블루 스크린.
☞ 흔히 “DLL을 찾을 수 없습니다”라는 블루스크린은 Winserv.dll파일이 없거나 손상되었을 때 발생하는 코드 이며, 이를 해결 하려면 Window NT 또는 2000을 병렬 설치하고 Kernel32.dll, Ntdll.dll, Win32k.sys, User32.dll 및 Winserv.dll을 복사하기 바랍니다.
3-1.응급 복구 디스크(ERD).
- 시스템 레지스트리나 다른 디버그 사용자 프로파일 또는 하드 드라이브의 부팅 섹터나 기타 시스템 파일에 영향을 주는 STOP 코드가 발생했을 때 매우 유용.
3-2. Windows NT 부팅 디스크.
- 부팅 디스크는 파일이 없거나 Ntldr, Ntdetect.com, Boot.ini등 세가지 파일이 손상되었거나 마스터 부트 레코드 또는 하드 드라이브의 파티션 테이블이 손상되어 운영 체제가 부팅되지 않는 경우 문제 해결.
3-3. 운영체제의 병렬 설치.
- 병렬 설치를 수행하면 컴퓨터 레지스트리를 액세스 하거나 일치하지 않는 시스템 파일을 바꾸기 위해 파일 복사 작업을 해야 할 경우에 편리.
3-4. Windows NT4.0 및 Windows 2000
- VGA 모드로 부팅
- 마지막으로 성공한 구성 사용(Last known good)
3-5. Windows 2000에만 적용되는 기능.
- 안전 모드
- 복구 콘솔 : 명령줄을 통해 NTFS파티션에 파일 쓰기 액세스를 제공.
3-6. 시스템 및 응용 프로그램 이벤트 로그.
- 크래쉬 원인을 밝히는데 중요한 데이터.
3-7. Winver명령을 실행하여 마지막에 설치한 서비스 팩을 확인 합니다.
3-8. 최신 바이러스 응용프로그램을 사용하여 시스템 바이러스 검사를 실시합니다.
- 바이러스 검사를 실시하여 시스템이 부팅 섹터나 부트 레코드 바이러스 또는 기타 트로이 목마 바이러스에 감염되지 않도록.
3-9. Chkdsk/f/r
- 디스크 검사는 운영체제가 실행 중일 때는 실행되지 않기 때문에 프롬프트에 “다음에 다시 부팅할 때 디스크 검사를 하시겠습니까?”라는 질문이 나타납니다. “예”라고 답하고 /f 및 /r 스위치를 사용하면 chkdsk가 실행되어 파일 시스템 또는 테이블 인덱스 등 파티션에 있는 내용에서 오류를 발견했을 때 자동으로 오류를 수정.
3-10. MS 전문가에게 요청하여 MPSReports 유틸리티를 실행합니다.
- MPSReports ; 이 유틸리티는 컴퓨터에서 실행되지만 컴퓨터에 전혀 영향을 주지 않고 정보만 수집 합니다. 즉, 어떤 경우에도 시스템을 방해하지 않습니다. MPS보고서는 EVT와 TXT 형식으로 된 세 가지 이벤트 로그의 덤프를 수집하고 컴퓨터에서 실행 중인 모든 프로세스의 결과인 PSTAT와 여러 디렉터리 목록, 로드된 모든 드라이버 파일 등을 수집합니다. 설치와 관련된 문제라면 Api.log, Serpuact.log 등 설치 관련 로그도 모두 수집합니다.
4.STOP 스크린 발생 방지 대책
4-1. 설치하기 전에 반드시 드라이버를 테스트 합니다.
4-2. 새로운 하드웨어를 확인하기 전에 HCL을 확인하여 호환성 여부를 확인합니다.
4-3. Windows 2000의 경우, 새로운 장치 드라이버를 설치할 때마다 디지털 서명된 드라이버를 설치합니다.
4-4. 시스템을 변경한 후에 반드시 새로운 응급 복구 디스크를 만듭니다.
※ 참고 사항 ※
오류 번호를 보고 하드웨어 또는 소프트웨어 크래시를 구분하기는 100% 불가능합니다. 보통 STOP 코드와 매개 변수에 따라 다르긴 하지만 사용자는 식별할 수 없습니다. 사용자가 실제로 크래시의 속성을 파악할 수 있는 유일한 코드는 STOP 2E인데 이는 하드웨어 메모리의 문제입니다. 그 외에는 불가능합니다. 오류가 하드웨어 문제인지 소프트웨어 문제인지를 알려주는 특별한 번호나 매개 변수는 없습니다. 문제를 구분하는 것은 디버깅 프로세스를 통해서만 가능합니다. 다른 운영 체제와 여러 문제를 통해 경험한 내용을 토대로 추측할 수는 있습니다. 또는 최근에 하드웨어를 바꾼 적이 있다면 하드웨어 문제라고 추측할 수 있습니다. 아니면, 프로세서를 교체했거나 메모리를 추가했거나 파티션이나 디스크를 변경하였다면 하드웨어 관련 문제라고 생각할 수 있습니다. 하지만 디버깅은 물론, 크래시의 속성이 하드웨어 문제인지 소프트웨어 문제인지 여부를 식별하는 확실한 방법은 없습니다.
※ Reference