블루스크린(Blue Screen of Death)
마이크로소프트 윈도우에 치명적인 오류가 발생했을 때 표시되는 화면. 영어로는 BSoD(Blue Screen of Death), 일종의 커널 패닉 현상이다. 마이너 버전으로는 응답없음이 있다.
오류 자체 화면이라기 보다는 오류에 대한 원인을 알려주는 알림 메세지와 같다고 보면 되고 주로 드라이버나 시스템 서비스파일 - DLL파일 오류로 나타나는 화면이며, 특유의 「치명적인 오류」 어쩌고라는 하얀 문장과 시퍼런 바탕의 화면의 포스 덕에 PC 초보자들의 가슴을 철렁하게 만든다(특히, 구형 윈도우 NT커널에서는 화면이 온통 숫자와 영어 투성이인 것도 여기에 한몫한다). 게다가 매우 갑작스럽게 전체화면으로 출력되는지라 사용자가 심하게 놀라서 넘어가 버리기도 하고... 일단 윈도우가 완전히 꼬인 상황이라 재부팅 말고는 답이 없다. 이 화면이 나온다고 무작정 포맷하지 말자. 블루스크린의 원인은 하드웨어와 소프트웨어적 원인이 있으며 하드웨어적 원인이면 백날 포맷해야 소용없다. 하드웨어를 다시 장착하거나 교체하거나 해야 한다. 의외로 메인보드 바이오스 업데이트 한번에 말끔히 해결되는 경우도 있는데 바이오스 업데이트는 조금이라도 잘못했다간 메인보드가 먹통이 될 가능성이 높으니 초보는 컴잘알 지인이나 전문점에 맡기는게 안전하다. 소프트웨어 문제도 단순한 충돌 문제일 수도 있으니 무조건 포맷하지 말자. 예를 들어 백신을 설치한 뒤 블루스크린이 뜨면 백신을 지워보고 드라이버를 설치해서 뜬다면 드라이버를 지워보자. 포맷은 방법이 없거나 모를 경우 최후의 수단으로 두자. 다만 파일 시스템이 깨진 경우라면 말 다했다. 그냥 포맷하자. 하지만 블루스크린은 애초에 컴퓨터 오류를 알려주는 화면일 뿐이고 대부분의 경우 일시적인 오류다.
빌 게이츠의 굴욕 사건 처럼 공개적으로도 망신을 당하자, 이런 시도 때도 없는 블루스크린에 대해 조사를 하기 시작했고, 결국 블루스크린의 원인의 90%가 윈도우가 아니라 발로 만든 "하드웨어 드라이버"에 있다는 사실을 알게 된 마이크로소프트 사에서는 윈도우의 커널을 NT 커널로 바뀌고 드라이버에 WHQL"Windows Hardware Qualification Lab" 인증을 주는 이후부터, 요즘은 사라져가는 추세다. 지난 수년간 마이크로소프트가 이 흉물스럽고 난잡하기 그지없는 드라이버에 관련된 초구식 코드를 근절하기 위해 노력한 덕분이라고.
블루스크린의 원인과 오류코드에 관한 정보는 다음 링크에 나와 있다.
Windows를 비롯한 대부분의 운영체제에서 프로세스 실행은 커널 모드와 사용자 모드로 나뉘는데, 흔히 사용되는 프로그램들은 보통 사용자 모드에서 실행되는 반면 시스템 서비스나 장치 드라이버 같은 운영체제 코드는 커널 모드에서 동작한다.
그런데 커널 모드 실행 중 뭔가 이상한 점이 발견되면, 뭔가 시스템에 문제가 있어서 계속 진행할 경우, 예컨대 디스크에 저장된 정보의 손상이나 하드웨어의 훼손과 같은 심각한 손상이 일어날 가능성이 있다고 판단하고 시스템을 즉시 정지시킨 후 블루스크린을 띄우는 것이다. 즉 블루스크린은 최후의 안전장치이다. 하드디스크가 망가져도 블루스크린이 자주 뜬다. 물론 PC 업데이트해도 블루스크린이 뜬다.
안전을 위해서 띄우는 경우도 있지만, 잘못된 코드를 실행시키게 되면 예외(Exception)가 일어나게 되는데, 이것은 OS 자체에서 일으키는 것이 아니라 CPU에서 해당 인터럽트(Interrupt)를 호출(call) 함으로써 일어난다. 이렇게 일어난 예외의 경우는 적절하게 핸들링하지 않으면 결국 CPU Reset(이는 곧 시스템 재시작을 의미한다)을 하는 수밖에 없는데, 블루스크린이 일어나는 이유 중 하나는 이러한 예외를 핸들링할 수 없어서이기도 하다.
사용자 모드(User Mode)에서 잘못된 코드가 실행되면 이것은 그 코드를 실행하던 프로세스를 종료시킴으로써 해결할 수 있으나, 커널 모드(Kernel Mode)에서 그러한 코드가 실행된다면...망했어요. 다만 또 핸들링 할 수가 없는 것만은 아니다.
호출 방법을 설명을 해 놓긴 했지만, 자신의 컴퓨터를 오래 쓰고 싶다면 억지로 호출하진 말자. 만약 중요한 시스템 파일의 프로세스가 돌아가는 도중에 호출시키면 시스템 파일 손상을 야기할 수 있으며, 외에도 많은 리스크가 있다.
호출 방법을 설명을 해 놓긴 했지만, 자신의 컴퓨터를 오래 쓰고 싶다면 억지로 호출하진 말자. 만약 중요한 시스템 파일의 프로세스가 돌아가는 도중에 호출시키면 시스템 파일 손상을 야기할 수 있으며, 외에도 많은 리스크가 있다.
STOP: c000021a {치명적인 시스템 오류}
초기 세션 프로세스 또는 시스템 프로세스가 0x00000000 (0xc0000001 0x00100448) 상태로 예기치 않게 종료되었습니다.
시스템이 종료되었습니다.
크래시 덤프 데이터 수집 중...
크래시 덤프를 위한 디스크 초기화 중...
물리적 메모리 덤프 시작
물리적 메모리 덤프 중:100% 완료
물리적 메모리 덤프가 완료되었습니다.
추가 지원을 위해 시스템 관리자나 기술 지원 그룹에 연락하십시오.
STOP: c0000218 {레지스트리 파일 오류}
레지스트리가 파일을 불러올 수 없습니다.
/systemroot/system32/config/SOFTWARE
에 해당되는 로그가 손상되었거나, 없거나, 쓸 수 없습니다.
물리적 메모리 덤프 시작 중
물리적 메모리 덤프가 완료되었습니다.
추가 지원을 위해 시스템 관리자나 기술 지원 그룹에 연락하십시오.
STOP: c0000218 알 수 없는 저장장치 오류(unknown hard error)
알 수 없는 저장장치 오류(unknown hard error)
물리적 메모리 덤프 시작 중
물리적 메모리 덤프가 완료되었습니다.
추가 지원을 위해 시스템 관리자나 기술 지원 그룹에 연락하십시오.
STOP: c0000135 컴퓨터에 해당 파일이 없어서 프로그램을 시작할 수 없습니다. 이 프로그램을 수정하려면 프로그램을 다시 설치하십시오.
사실 이 블루스크린이 뜨는 이유는 번역문에 있는 단어는 해당 파일이 없다고 뜨지만 사실 해당 파일이 없는 것이 아니라 윈도우 자체가 깨졌기 때문이다.
STOP: c0000142 {DLL 초기화 실패} 동적 링크 라이브러리에 속한 winsrv의 초기화에 실패했습니다. 프로세스가 비정상적으로 종료되었습니다.
이런 경우 백이면 백 윈도우를 재설치해야 하는 경우가 태반이다. 주요 원인은 윈도우 중요 파일들(CSRSS, SYSTEM 폴더, WINDOWS 폴더 등등)이 일부라도 손상되었을 경우 발생할 가능성이 매우 높다. 되도록이면 건드리지 않는 것이 최선이다. 위 경우처럼 돌이킬 수 없게 되는 상황에 처할 수 있기 때문이다. 윈도우 전체가 망가진 것과 하등 다를 바가 없기에 시스템 복원 따위의 방법은 아예 쓸 수도 없다.
굉장히 심각한 사안(프로세서 불량, 메모리 결함, 하드디스크의 심각한 손상 등등)의 경우 오류코드가 따로 존재하지 않고 아래처럼 이렇게 뜨기도 한다. 소문자 c로 시작하는 치명적인 오류코드들보다 이게 더욱 심각하다.
문제가 발견되어 컴퓨터의 손상을 방지하기 위해 ReactOS가 종료되었습니다.
이 오류 화면을 처음 보셨다면, 컴퓨터를 다시 시작하십시오. 이 화면이 계속 나타날 경우, 다음 절차를 따르십시오:
디스크 공간이 충분한 지 확인하십시오. 드라이버가 중지 메시지에서 식별되면 드라이버를 비활성화하거나 제조업체에 업데이트 된 드라이버가 있는지 확인하십시오. 비디오 어댑터를 변경해보십시오.
하드웨어 공급 업체에 BIOS 업데이트가 있는지 확인하십시오. 캐싱이나 섀도잉 등의 바이오스 메모리 옵션을 비활성화하십시오.
구성 요소를 비활성화하거나 제거하는 데 안전 모드를 사용할 필요가 있다면, 컴퓨터를 다시 시작하십시오.
컴퓨터를 다시 시작하고, F8 키를 눌러 고급 시작 옵션을 선택한 후, 안전 모드를 선택하십시오.