[IT강의실] 공포의 파란 화면 - 블루 스크린
[용어로 보는 IT 2015년 개정판] PC 기능이 급속히 발전하면서 우리의 일상 생활이 편리해 지고 있는 것은 사실이지만, PC가 예상치 못한 오류나 오작동을 일으켜서 불편을 겪는 경우도 그 만큼 잦다. 특히 가장 많이 쓰이는 마이크로소프트 윈도우(Windows) 운영체제 기반의 PC는 워낙 다양한 하드웨어·소프트웨어를 설치하다 보니 상대적으로다양한 오류를 발생하곤 한다. 때문에 마이크로소프트는 물론 여러 하드웨어·소프트웨어 제작사에서 이를 개선하기 위한 패치(patch: 수정용 소프트웨어)를 배포하거나 기능 개선 작업을 제공하고 있으나 이들 오류는 여전히 존재하고 있다.
윈도우 기반 PC에서 하드웨어·소프트웨어의 오류가 발생했을 때 나타나는 대표적인 현상이 바로 ‘블루 스크린(blue screen)’, 즉 파란색 바탕에 하얀 글씨가 나타나는 화면이다. 엄밀히 말하자면 블루 스크린 자체는 오류라기 보다는 오류에 대한 원인을 알려주는 알림 메시지와 같다.
하지만 PC 사용 중에 갑자기 등장하여 화면을 메우는 파란색 화면의 충격이 상당한 탓인지 대부분의 사용자들은 블루 스크린 자체를 PC 오류와 동일한 것으로 인식하곤 한다. 해외에서도 블루 스크린은 매우 유명해서 영어권에서는 이를 ‘죽음의 파란 화면(Blue Screen of Death, 약자로 BSOD)’이라 부르기도 한다. 그렇다면 과연 이러한 블루 스크린은 언제부터 생겨났으며, 구체적으로 어떠한 역할을 하는 것일까?
<공포의 파란 화면, 블루 스크린. 윈도우 9x 계열 운영체제에서 발생하는 블루 스크린의 모습>
윈도우 9x(95/98/Me) 시리즈와 블루 스크린
우리들이 익히 알고 있는 블루 스크린이 처음 등장한 것은 1992년에 출시된 윈도우 3.1운영체제부터다. 이전에 사용하던 윈도우 1.0이나 윈도우 2.0에도 오류 시에 비슷한 화면이 뜨긴 했지만 이 때는 내용을 알 수 없는 문자와 기호가 화면을 가득 메우는, 그야말로 오류 자체였다.
하지만 윈도우 3.1부터 출력되는 블루 스크린은 상당히 구체적인 오류 내용을 표시하여 소프트웨어 및 하드웨어 개발자들의 디버깅(debugging: 프로그램 오류 수정)에 도움이 되도록 했고, 사용자들 역시 몇 가지 규칙만 익히면 오류에 대처할 수 있게 됐다.
블루 스크린은 특히 윈도우 95(1995년)와 윈도우 98(1998년), 그리고 윈도우 Me(2000년) 운영체제(이른바 윈도우 9x 계열)에서 자주 발생했다. 본래 윈도우 95는 32비트 방식으로 데이터 처리를 하는 운영체제를 지향했으나, 도스(Dos)와 윈도우 3.x 시절에 사용하던 16비트 방식의 소프트웨어와 호환성을 유지하기 위해 내부적으로는 16비트 방식의 데이터 처리를 혼용했다.
이러한 이유로 윈도우 95는 작동 도중에 16비트와 32비트 데이터 처리 방식이 충돌하여 오류를 일으키는 경우가 잦았고, 이 때문에 블루 스크린 역시 자주 발생했다. 이는 윈도우 95와 거의 동일한 커널(Kernel: 운영체제의 핵심 골격)을 가진 다른 윈도우 9x 계열 운영체제, 즉 윈도우 98과 윈도우 Me도 마찬가지였다.
윈도우 XP의 등장 이후와 블루 스크린
<윈도우 NT 계열 운영체제에서 발생하는 블루 스크린의 모습>
반면, 일반 사용자용 윈도우 9x 시리즈가 아닌 전문가/기업용 윈도우 NT시리즈는 1993년에 출시된 윈도우 NT 3.1부터 완전한 32비트 데이터 처리 방식을 도입하고 있었다. 때문에 상대적으로 오류가 일어나는 빈도가 훨씬 적었고 당연히 블루 스크린도 거의 발생하지 않았다. 다만, 윈도우 NT 계열은 서버나 워크스테이션 같은 특수 용도의 컴퓨터를 위해 개발된 것이라 일반인이 쓰기에는 사용법이 생소했고, 가격도 비쌌다. 2000년에 윈도우 9x 시리즈와 비슷한 기능을 가진 윈도우 2000이 출시되었지만 이 역시 대중적으로 확산되지는 못했다.
하지만 일반용 운영체제의 완전한 32비트화는 피할 수 없는 흐름이었고, 그 결과물로 나온 것이 2001년에 출시된 윈도우 XP다. 윈도우 XP는 기능이나 디자인 면으로는 윈도우 9x 시리즈의 뒤를 잇는 일반용 운영체제였지만, 내부적으로는 윈도우 NT 시리즈의 커널을 내장하고 있어 완전한 32비트로 데이터를 처리했다.
윈도우 7, 윈도우 8, 윈도우 10 등의 블루 스크린
윈도우 XP 이후에 나온 일반용 운영체제인 윈도우 비스타(2006년)와 윈도우 7(2009년), 윈도우 8(2012년), 윈도우 10(2015년) 등도 윈도우 NT계열의 커널을 내장하여 블루 스크린의 출현 빈도는 현저하게 낮아졌다. 하지만 PC 사용 환경이 더욱 폭 넓어지고 각종 악성 코드의 출현도 끊이지 않음에 따라 앞으로도 블루 스크린은 완전히 없어지지는 않을 것이다.
<윈도우 8 블루스크린 발생 모습. 발생 빈도는 줄었어도 발생 가능성은 여전히 남아 있다>
블루 스크린은 왜 파란색?
참고로, 윈도우 블루 스크린이 파란색으로 결정된 이유는 의외로 단순한데, 윈도우 개발팀의 책임자 중 한명인 데이브 커터(DaveCulter)와 개발팀원들이 제비 뽑기를 하여 선정됐다고 한다. 이는 현재 사용 중인 윈도우 7, 8 역시 마찬가지인데, 예외적으로 2005년에 선보인 윈도우 비스타의 초기 베타 버전은 오류 발생 시 빨간색 화면이 표시되기도 했다.
그리고 블루 스크린 출력 시에는 순간적으로 화면 표시 모드가 윈도우 9x 시리즈까지는 640 x 480 해상도, 윈도우 XP 이후에는 800 x 600 해상도로 바뀌게 된다. 이는 PC 기종에 상관 없이 동일한 화면을 출력해야 하기 때문이다. PC 외의 다른 기기에도 윈도우 운영체제가 쓰이기 때문에, 간혹 현금인출기나 광고용 대형 디스플레이에 블루 스크린이 표시되는 것을 목격하기도 한다.
그렇다면 블루 스크린에 적혀있는 안내 문구는 누가 작성한걸까. 윈도우 3.1에 사용된 최초 버전은 MS의 중역이었던 '스티브 발머([IT인물열전] MS 제국을 반석 위에 올려놓은 1등 공신, 스티브 발머 기사 참고)'가, 윈도우 95 이후 버전은 윈도우 개발 책임자 가운데 한명이었던 레이먼드 첸(Raymond Chen)이 작성했다.
블루 스크린에 표시되는 대표적인 오류 코드
윈도우의 블루 스크린은 워낙 발생 원인이 다양하기 때문에 이를 정확히 파악하기가 어렵다. 하지만 자주 발생하는 오류는 몇 가지에 불과하며, 이 때 블루 스크린과 함께 표시되는 오류 코드의 뜻은 다음과 같다.
ㆍ0x0000001A: MEMORY_MANAGEMENT
데이터를 저장하는 메모리가 부족할 때 나타나는 메시지다. PC에 꽂힌 메모리가 손상되었거나 접촉 불량일 가능성이 있으며, 하드디스크에 여유
공간이 없을 때 나타나기도 한다.
ㆍ0x00000044: MULTIPLE_IRP_COMPLETE_REQUESTS
PC에 탑재된 특정 장치의 드라이버(driver: 하드웨어 구동을 기본 프로그램)이 설치되지 않았거나 드라이버 관련 데이터가 손상되었을때
발생하는 오류다. 해당 하드웨어 자체가 손상되었을 때 나타나기도 한다.
ㆍ0x0000007A: KERNEL_DATA_INPAGE_ERROR
운영체제의 커널 데이터를 메모리로 불러들이는데 실패하면 발생하는 오류다. 대개 하드디스크나 메인보드의 디스크 입출력 장치가 손상되었을 때
자주 발생한다.
ㆍ0x00000050: PAGE_FAULT_IN_NONPAGED_AREA
작업에 필요한 데이터가 메모리에 없을 경우 발생한다. 메모리의 손상이나 접촉불량, 혹은 윈도우와 호환되지 않는 프로그램을 실행했을 가능성이
높다.
ㆍ 0x0000007B: INACCESSIBLE_BOOT_DEVICE
윈도우가 부팅을 시작하지 못할 때 나타나는 오류다. 하드디스크에서 부팅에 관련한 파일이 손상 되었을 가능성이 높으며, 부팅 파일이 들어있는
하드디스크가 아닌 다른 하드디스크부터 부팅되도록 메인보드가 설정 되어있을 가능성도 있다.
ㆍ 0x000000EA: THREAD_STUCK_IN_DEVICE_DRIVER
주로 그래픽카드가 제대로 작동하지 않을 때 나타나는 오류다. 그래픽카드의 드라이버를 새로 설치하거나 보다 높은 버전의 드라이버로 업데이트
해주는 것이 좋다. 혹은 그래픽카드 자체를 교체해야 할 때도 있다.
ㆍ 0x000000D1: DRIVER_IRQL_NOT_LESS_OR_EQUAL
특정 장치의 드라이버가 설치되지 않았거나 잘못된 드라이버를 설치한 경우에 주로 발생한다. 혹은 현재 메인보드에 호환되지 않는 메모리를
설치했을 때도 발생한다.
ㆍ 0x0000007F: UNEXPECTED_KERNEL_MODE_TRAP
CPU에서 관리 데이터의 입출력이 원활하지 않거나 하드웨어가 제대로 제어되지 않을 때 나타나는 메시지다. CPU의 냉각팬이 제대로 작동하지
않거나 오버클러킹(Overclocking: 의도적으로 CPU의 동작 속도를 기준치 이상으로 높임)을 해서 CPU가 과열되었을 가능성도 있다.
CPU 냉각팬의 상태를 점검하거나 오버클러킹을 해제하는 것이 좋다.
ㆍ 0x00000024: NTFS_FILE_SYSTEM
하드디스크의 파티션(partition: 하나의 디스크를 논리적으로 나눈 복수의 드라이브) 설정에 문제가 있거나 하드디스크가 물리적, 혹은
논리적인 손상을 입었을 때 주로 나타나는 오류다. 하드디스크 상의 중요 데이터를 백업한 뒤 파티션 설정을 다시 해 주고 포맷한 뒤 운영체제를
다시 설치하는 것이 좋다. 그래도 계속 오류가 발생한다면 하드디스크 자체의 손상을 의심해 봐야 한다.
위에서 소개한 것 외에도 블루 스크린이 발생하는 원인은 매우 많다. 그 외의 오류 코드에 대한 조치법에 대해서는 마이크로소프트의 고객 지원 사이트를 참고하면 된다.
‘불편한 손님’에 대한 예방 및 대처방법
<장치 관리자에서 물음표나 느낌표가 뜬 항목이 있다면 드라이버가 제대로 설치되지 않았거나 장치가 손상되었을 가능성이 크다>
블루 스크린의 발생을 최소화 하기 위해서는 필요 이상의 소프트웨어를 동시에 설치하거나 호환성이 불확실한 소프트웨어를 설치하는 것을 삼가야 한다. 그리고 본체 내부의 먼지 제거나 원활한 통풍 유지와 같은 기본적인 하드웨어 관리가 주기적으로 필요하며, 안정성이 검증되지 않은 하드웨어를 추가 장착하지 않는 것이 좋다.
또한, 가끔은 윈도우 내 ‘장치 관리자’ 메뉴에서 현재 PC 내 하드웨어들의 드라이버가 제대로 설치되고 정상적으로 작동하고 있는지도 확인해 보자. 하드웨어가 손상되었거나 드라이버가 제대로 설치되지 않으면 해당 하드웨어의 항목에 느낌표(!)나 물음표(?)가 표시된다.
위와 같은 대처에도 블루 스크린이 계속 발생한다면 당황하지 말고 해당 오류 코드를 분석하여 마이크로소프트가 권장하는 방법대로 대처하는 것이 바람직하다. 그래도 해결되지 않는다면 해당 PC의 하드디스크를 초기화(포맷) 한 뒤 운영체제를 새로 설치하는 것이 최선이다. 그리고 PC 하드웨어 구조에 대한 지식이 있다면 PC를 분해하여 각 부품들의 상태를 확인, 슬롯이나 케이블 등의 손상이나 접촉 불량 여부를 체크해 보기를 권한다.
글 / IT동아 김영우(pengo@itdonga.com)
본 기사는 네이버캐스트(http://navercast.naver.com/)의 '용어로 보는 IT' 코너에도 함께 연재됩니다.