블루스크린 분석 프로그램 - WhoCrashed


블루스크린의 기억



예전부터 윈도의 블루스크린은 악명높은 존재였습니다. 특히 오리지널 Windows 95, 98 때는 더욱 심했던 기억이 납니다.
별다른 작업을 하지 않았는데도 이유없이 공포의 블루스크린이 뜨곤 했습니다. 경우에 따라 다르긴 했지만 너무 자주 블루스크린이 뜰때는 정상적으로 컴퓨터를 사용하기가 어려울 정도였습니다.
이후 요즘의 서비스팩에 해당하는 Windows 95 OSR2, Windows 98 SE(Second Edition)이 각각 출시되면서 어느 정도 안정적으로 윈도를 사용할 수 있게 되긴 했지만 윈도 9x 시스템 특유의 불완전성 때문에 푸른 화면의 공포에서 벗어날수는 없었습니다. 지금은 추억속에서 이야기 할 수 있게 되었지만 말이지요. ^_^

2001년도에 들어서서, NT 4.0을 계승하고 윈도 2000을 거쳐 등장한 XP가 사용되기 시작하면서 블루스크린은 거의 볼일이 없게 되었습니다. 충분히 원하는 작업을 맘놓고 할 수 있을 정도로 안정화된 셈이지요. 비스타와 윈도 7에 이르러선 시스템이 더욱 더 안정화된 모습을 보여줍니다.

하지만 그 어느때보다 안정적인 현재의 윈도에도 블루스크린은 사라지지 않고 모습을 드러내고 있습니다.
예전의 Windows 9.x때와는 달리 빈도수가 줄어들어 거의 볼일이 없게 되긴 했지만, 일단 한 번 오류가 발생하게 되면 속수무책으로 당하게 됩니다. 그 위력도 예전과는 비교가 안될 정도로 강력해 졌습니다.
더 이상 메시지가 한글로 표시되지 않을뿐만 아니라, 파악하기 어려울 정도로 많은양이 한눈에 알기 어려운 오류 코드와 함께 표시되어 무얼해야 할지도 감을 잡기가 쉽지 않습니다. 간결한 내용과 함께 Ctrl+Alt+Del키를 누르라고 이야기하던때와 비교해 보면 상당히 불친절함을 알 수 있습니다.

이런 죽음의 블루스크린(Blue Screen Of Death)을 해결하기 위해선 우선 무슨 이유로 블루스크린이 발생했는지 원인을 파악해야 합니다.


블루스크린의 일반적인 원인


이런 블루스크린의 원인은 크게 다음과 같이 두 가지로 나누어 볼 수 있습니다.

1. 소프트웨어적인 원인
소프트웨어적인 원인은 말그대로 운영체제인 윈도 시스템 자체에 치명적인 손상이나 충돌이 발생해서 블루스크린이 발생한 경우를 말합니다. 가장 흔하고 일반적인 원인으로는 제대로 짜여지지 않은 장치 드라이버, 커널 충돌, 잘못된 RAM 접근이 있습니다.

사운드카드나 TV 수신카드 같은 장치를 사용하기 위해선 해당 업체에서 제공하는 장치 드라이버[각주:1]를 설치해야만 합니다.
윈도에서 기본으로 지원하는 장치가 아니라면 반드시 장치 드라이버를 설치해야만 해당 장치를 사용할 수 있지요.
그런데 이 경우 업체의 기술 부족이나 착오로 인해 장치 드라이버에 버그가 있을 수 있습니다. 윈도가 아무리 안정적인 상태라도 장치 드라이버에 버그가 있다면 시스템이 멈추고 블루스크린이 발생하게 됩니다. 문제점을 해결하기 위해선 문제를 일으키는 장치 드라이버를 제거하고, 해당 업체에서 제공하는 최신 버전의 장치 드라이버를 설치해야 합니다.
반드시 해결 된다고 볼 순 없지만, 대부분의 경우 최신 버전의 장치 드라이버로 업그레이드 하는것으로 이 문제를 해결할 수 있습니다.

커널[각주:2] 충돌은 상당히 드물게 발생하는데, 백신이나 VMWare 같은 가상화 프로그램이 주로 이 오류를 발생시킵니다.
커널과 관계된 부분에 작용하기 때문인데 이럴땐 새 버전으로 프로그램을 업그레이드 하거나 혹은 다른 대안 프로그램을 사용하면 블루스크린 오류를 해결할 수 있습니다.

잘못된 RAM 메모리 접근으로 인한 오류는 메모리의 접촉 불량이나 혹은 메모리 자체의 문제로 인해 발생할 수도 있긴 하지만, 대체로 최신 윈도의 변경 사항을 반영하고 있지 않은 예전 버전의 프로그램에서 발생하는 경우가 많습니다. 이 때에도 역시 새 버전의 프로그램을 사용하거나 업그레이드 하면 문제가 해결될 확률이 높습니다.


2. 하드웨어적인 원인
하드웨어 자체에 접촉 불량등의 문제나 혹은 과열, 변형등의 손상이 있을경우 블루스크린이 발생할 수 있습니다.
이 경우엔 냉각으로 과열을 식히거나, 먼지를 제거하고 다시 한번 확실하게 장착시키는 방법으로 문제 해결을 시도해 볼 수 있고 시도후에도 문제가 해결되지 않는다면 하드웨어 부품을 교체해서 블루스크린으로부터 벗어날 수 있습니다.


그렇다면 이런 블루스크린의 원인을 파악하려면 어떻게 해야 할까요.
블루스크린이 발생했을때 생성된 메모리 덤프 파일을 분석하는게 제일 확실하겠지만 이건 너무 복잡하고 불가능에 가깝기 때문에 논외로 하겠습니다.

제일 먼저 시도해 볼 수 있는 방법은 화면에 표시된 0x01E7과 같은 형태로 된 STOP 에러 메시지를 마이크로소프트 고객지원 사이트(http://support.microsoft.com)에서 검색해 보는 것입니다. 이를 통해 어느 정도 오류의 원인을 추측해 볼 수 있습니다.
하지만 역시 한눈에 간결하게 파악하긴 어려운 방법입니다. 대부분의 경우 해당 에러코드에 포함되는 수 없이 많은 모든 내용이 한꺼번에 표시되기 때문입니다. 블루스크린 에러 메시지의 원인 하나를 파악하려고 몇 백~몇 천개가 넘는 검색 결과를 확인한다는건 너무나도 어려운 일입니다. 더군다나 에러코드가 여러개 표시될 경우 어떤 내용이 현재 발생한 블루스크린에 해당되는 것인지 파악하기도 쉽지 않습니다.


WhoCrashed - 블루스크린 원인 파악하기



WhoCrashed를 사용하면 이런 블루스크린의 원인을 간결하게 파악할 수 있습니다.
Resplendence Software Projects사에 의해 개발된 WhoCrashed는 블루스크린이 발생한 원인이 무엇이고, 어떤 프로그램 파일이나 시스템 드라이버 때문에 문제가 발생했는지 분석해서 표시해주는 유틸리티 입니다.
앞서 말씀드린것처럼 문제를 해결하고 안정적인 환경을 만드는 첫걸음은 원인이 무엇인지 알아내는 것입니다. 그런데 이 원인을 파악하려면 에러코드를 뒤져야 하는데 너무 많은 시간이 걸립니다. 메모리나 잘못된 장치드라이버는 언제든지 다른것으로 대체할 수 있지만 시간은 그 무엇으로도 대체할 수 없음을 상기해 본다면 이렇게 소비되는 시간이 상당히 아깝게 느껴집니다.



이럴때 WhoCrashed를 활용해 소중한 시간을 아끼고 수월하게 원인을 파악할 수 있습니다.
WhoCrashed를 사용하면 "0×0BJS00341110B12"와 같은 복잡한 에러 코드 대신 "C:Windowssystem32driversnvlddmkm.sys"의 형태로 어떤 시스템 파일 때문에 블루스크린이 발생했는지 바로 확인해 볼 수 있습니다. 뿐만 아니라 해당 장치 드라이버 시스템 파일을 만든 제조사에 대한 정보와 함께 해당 파일이 무얼 위한 드라이버 파일인지 손쉽게 알아낼 수 있습니다. 이 에러코드의 경우엔 nVidia의 Miniport 드라이버가 블루스크린을 유발시켰음을 확인할 수 있습니다.



위 스샷의 경우엔 0x866BC000 오류가 USB 장치 때문에 발생했음을 알 수 있습니다. 당시엔 갑자기 블루스크린이 떠서 원인이 무엇인지 파악하기 어려웠었는데, USB 장치가 문제의 원인임을 확인한 덕분에 문제 해결이 쉬웠습니다.
블루스크린이 발생하기 직전, 외장하드가 전원 문제로 동작이 안정적이지 못했는데 그 상태에서 절전모드로 진입하다가 블루스크린이 발생했었기에 확연하게 문제를 파악할 수 있었습니다. 전후 관계를 따지면 문제의 원인임이 드러나긴 하지만 당시엔 당황했기에 알아채기가 힘들었고, 또 전후 관계만으로 불확실한 부분을 유틸을 통해 확실하게 파악할 수 있었습니다.
외장하드를 손보고 나니 블루스크린 문제가 더 이상 나타나지 않음을 확인할 수 있었습니다.



요즘 출시되는 대다수의 프로그램들과는 달리 WhoCrashed는 2개의 버튼만이 배치된 심플한 텍스트 지향 인터페이스를 갖추고 있습니다. "Simple is the best"란 말이 딱 어울리는 간결한 인터페이스 입니다. Analyze(분석) 버튼만 클릭하면 아래쪽에 시간대별로 관련 내용과 함께 오류 내역이 표시됩니다.
(Analyze 버튼을 처음 클릭했을때 "Required Windows Debugging package not found"창이 뜨면 설치나 확인을 클릭해서 동의하시면 됩니다. 프로그램 동작에 MS사에서 만든 디버깅툴을 사용하고 있기 때문입니다.)


원인에 따른 해결방법


블루스크린 오류의 대부분을 차지하는 하드웨어 드라이버가 원인일 경우, 앞서 말씀드린것처럼 문제 해결을 위한 가장 간결한 방법은 제조사로부터 최신 버전의 드라이버를 다운로드 및 설치하는 것입니다. 윈도의 구성 요소가 시스템을 먹통으로 만든 원인이라면, Windows Update를 시행하는것 만으로도 대부분의 문제를 해결할 수 있습니다.

컴퓨터나 하드웨어의 과열도 데이터 전송이나 처리를 망쳐 블루스크린의 원인이 될 수 있습니다. 블루스크린이 무거운 3D 게임이나 사진/동영상 편집중 나타났다면, 시스템 통풍 상태를 우선 확인해 보시고 오버클럭을 적용했을 경우 모든 값들을 원래의 클럭 스피드로 되돌려 놓으셔야 합니다.
과열은 하드웨어를 영구적으로 망가뜨릴 수 있기 때문에 가능한한 빨리 조치를 취해 문제를 해결하는 것이 좋습니다.
특히, 무더운 여름철엔 더욱 더 많은 주의를 기울이셔야 합니다.

컴퓨터가 부팅할때 F8 키를 계속 누르면 윈도 부팅 메뉴로 진입할 수 있습니다.
윈도 부팅 메뉴에선 최소한의 드라이버와 모듈만 사용하는 안전모드로 부팅해서 문제 해결을 시도해 볼 수 있고, 비스타나 윈도7 에선 메모리의 무결성(문제가 없는지)까지 체크해 볼 수 있습니다.


다운로드 링크


WhoCrashed는 무료로 자유롭게 다운로드 하고 사용할 수 있습니다. 프로그램 사용법 만큼이나 설치 과정도 간결하고 명료합니다. 딱 한가지 주의하셔야 할점이 있다면 개인 사용자에 한해서 무료라는 점입니다. 단체나 기업에선 WhoCrashed 프로 버전을 따로 구입하셔야 합니다.

 * WhoCrashed 직접 다운로드 링크:
http://www.resplendence.com/download/whocrashedSetup.exe

* 다운로드 페이지:
http://www.resplendence.com/downloads

* WhoCrashed 공식 사이트:
http://www.resplendence.com/whocrashed.htm


1MB 정도밖에 되지 않는 가벼운 프로그램이지만, 지금 이 순간도 블루스크린으로 고생하고 계신분들께 도움이 되었으면 합니다. ^_^


  1. 운영체제인 윈도가 TV 수신카드 같은 장치에 접근하고 사용하기 위해선, 해당 장치가 보내는 신호를 적절히 해석하고 알맞은 명령을 보낼 수 있어야 합니다. 장치 드라이버는 해당 부품 장치와 윈도의 중간에 서서 신호와 명령을 서로가 이해할 수 있는 언어로 변환하는 통역의 역할을 담당합니다. [본문으로]
  2. 운영체제를 밑부분에서 떠받치는 기반이 바로 커널입니다. 파일 읽고 쓰기나 키보드 명령 해석등을 포함한 입출력(I/O), 메모리 접근등과 같이 윈도가 동작하는데 필요한 기초적이고도 근본적인 자원과 기반을 제공하는 역할을 담당합니다. [본문으로]

최종 수정일: 2010년 1월 26일, 22:33

서지스윈

누군가가 무언가를 시작하고 해낼 수 있는 기반을 'IT'로 전달하고 싶어 이 ‘서지스윈 @IT 블로그 매거진’를 만들었고, 지금도 설레는 마음으로 밤낮 분투하고 있습니다. 무엇보다 이 블로그, 사이트가 IT와 기술을 이해하고, 유용한 소프트웨어를 발견하는 데 도움이 되었으면 좋겠네요.

댓글