윈도우즈 충돌로 인한 Blue Screen에 대해 알아보도록 하자.
Windows 충돌 이유
그림 1과 같이 충돌원인의 대부분은 서드파티 디바이스 드라이버다.
얼마전 Tool 에서 설명한 verifier를 사용하여 각 서버의 인증되지 않은 드라이버에 대해 확인한 후 해당 드라이버 버전에 대해 MS에 요청을하여 장애 포인트를 줄일 수 있다.
위와 같은 원인으로 인해 예외가 발생하면 OS가 충돌을 일으킨다.
여기서 예외를 무시하여 충돌을 방지할 수 없나 하는 의문이 생기게 된다.
하지만 예외를 무시하여 충돌을 방지하면 더 많은 예외 발생시켜 데이터 및 주변장치 훼손이 일어날 수 있기 때문에 OS는 해당 충돌을 일으켜 예외를 Clear하게 된다.
이렇게 Blue Screen은 다양한 문제로 인해 발생하게 되며 OS를 재기동함으로써 해당 오류를 없애려고 노력하지만 간혹 OS에 치명적인 영향을 미쳐 재부팅 후에도 Bluescreen과 함께 서버가 재기동 안되는 경우를 본적이 있을 것이다.
이럴 경우 기동 중 F8을 눌른후 "마지막으로 성공한 구성"으로 되돌리면 레지스트리 장치 드라이버 등록 키(HKLM\SYSTEM\CurrentControlSet\Services)의 복사본(드라이버가 정상적으로 로드 되었으며 로그온이 된 상태)로 되돌려 로그인이 될 수 있게 한다.
이런 충돌 원인은 Memory Dump File 을 통해 Debug할 수 있으며 유추할 수 있다.
Windows 충돌 이유
1) 커널 모드에서 실행하는 장치 드라이버 or 운영체제 함수가 메모리 액세스 위반(허용된 메모리가 아닌 메모리에 쓰거나 읽는 경우)와 같은 처리되지 않는 예외 초래시 발생
2) 시스템이 손상되어 계속 실행 시 데이터 손상의 위험이 있는 경우
3) 하드웨어 에러 발생시
* IRQL이나 DPC는 학습하지 않았으므로 해당 내용은 제외한다.
2) 시스템이 손상되어 계속 실행 시 데이터 손상의 위험이 있는 경우
3) 하드웨어 에러 발생시
* IRQL이나 DPC는 학습하지 않았으므로 해당 내용은 제외한다.
[그림 1] 충돌 원인
그림 1과 같이 충돌원인의 대부분은 서드파티 디바이스 드라이버다.
얼마전 Tool 에서 설명한 verifier를 사용하여 각 서버의 인증되지 않은 드라이버에 대해 확인한 후 해당 드라이버 버전에 대해 MS에 요청을하여 장애 포인트를 줄일 수 있다.
위와 같은 원인으로 인해 예외가 발생하면 OS가 충돌을 일으킨다.
여기서 예외를 무시하여 충돌을 방지할 수 없나 하는 의문이 생기게 된다.
하지만 예외를 무시하여 충돌을 방지하면 더 많은 예외 발생시켜 데이터 및 주변장치 훼손이 일어날 수 있기 때문에 OS는 해당 충돌을 일으켜 예외를 Clear하게 된다.
이렇게 Blue Screen은 다양한 문제로 인해 발생하게 되며 OS를 재기동함으로써 해당 오류를 없애려고 노력하지만 간혹 OS에 치명적인 영향을 미쳐 재부팅 후에도 Bluescreen과 함께 서버가 재기동 안되는 경우를 본적이 있을 것이다.
이럴 경우 기동 중 F8을 눌른후 "마지막으로 성공한 구성"으로 되돌리면 레지스트리 장치 드라이버 등록 키(HKLM\SYSTEM\CurrentControlSet\Services)의 복사본(드라이버가 정상적으로 로드 되었으며 로그온이 된 상태)로 되돌려 로그인이 될 수 있게 한다.
이런 충돌 원인은 Memory Dump File 을 통해 Debug할 수 있으며 유추할 수 있다.