원문 캡처 · os2museum.com
원문 캡처 · os2museum.com

미할 네카세크(Michal Necasek)는 부팅과 BIOS 설정 진입을 막던 1994년 무렵의 IBM ThinkPad 750C 오류를 BIOS 업데이트 도구의 검사를 우회해 해결했다. 이 오류는 플래시 메모리 손상으로 발생했을 가능성이 높았지만, 손상 때문에 정식 업데이트 도구도 작동하지 않는 상황이었다.

ThinkPad 750C는 오류 코드 I9990303을 표시하면서 정상적으로 부팅되지 않았고 BIOS 설정 프로그램에도 들어갈 수 없었다. 다만 IBM의 유지보수용 디스켓이나 BIOS 업데이트 디스켓으로는 부팅할 수 있었으며, 그 상태에서 DOS와 내부 하드 디스크, PC 카드, Windows 3.1을 사용할 수 있었다.

ThinkPad 750의 IBM 하드웨어 유지보수 설명서는 I9990303을 시스템 보드 고장으로 설명하고, 강한 자기장에 노출돼도 오류가 발생할 수 있다고 적었다. 이후 모델인 ThinkPad 760에서는 같은 오류를 ‘Bank–2 플래시 ROM 체크섬 오류’로 기록했다. 네카세크는 실행 중인 BIOS는 작동하지만 설정 프로그램과 진단 기능이 손상된 상황일 수 있다고 봤다.

BIOS를 다시 기록하면 해결될 것으로 보였지만, IBM 업데이트 도구는 전원 관리가 비활성화됐다는 오류를 내며 중단됐다. 배터리 충전 상태를 확인하는 단계에도 도달하지 못했다. 즉, 플래시 메모리 오류를 고칠 업데이트가 바로 그 오류 때문에 실행되지 않는 상황이었다.

네카세크는 ThinkPad 750C의 업데이트 도구 UPDTFLSH.EXE를 분석해 검사 루틴을 우회하도록 수정했다. 이 도구는 노트북이 확장 장치에 연결됐는지, 배터리가 장착됐는지, 충전량이 충분한지 등을 확인한다. 그는 이 검사를 건너뛰는 방식이 위험할 수 있다고 설명했다. BIOS 업데이트 중 전원이 끊기면 시스템을 사용할 수 없게 될 수 있고, 구형 시스템에는 이를 막아 줄 안전 기능이 없는 경우가 많기 때문이다.

수정한 도구로 BIOS를 다시 기록한 뒤 ThinkPad 750C에서 I9990303 오류가 사라졌다. BIOS 설정에 들어갈 수 있게 되면서 CMOS 내용 손실로 발생한 오류 161과 163도 해결됐고, PS2 유틸리티도 다시 작동했다. 이번 사례는 중반 1990년대 ThinkPad의 I9990303 오류가 플래시 메모리 손상에서 비롯될 가능성이 높으며, 업데이트 도구의 검사를 우회하는 방법은 위험을 감수해야 한다는 점을 보여준다.