
1994년 무렵 출시된 IBM ThinkPad 750C가 I9990303 오류로 정상 부팅과 BIOS 설정 진입을 거부했지만, 미할 네카세크(Michal Necasek)는 BIOS 업데이트 도구의 검사를 우회해 플래시 메모리를 다시 기록하고 문제를 해결했다. 이 방법은 이미 고장 난 노트북을 대상으로 한 위험한 수리 시도였으며, BIOS 업데이트가 실패하면 기기를 사용할 수 없게 될 수 있다.
ThinkPad 750C는 특수하게 표시된 플로피 디스크로는 부팅할 수 있었다. 그 상태에서 DOS를 실행하고 내부 하드 디스크나 PC 카드에 접근하거나 Windows 3.1을 구동할 수도 있었다. 하지만 BIOS 설정에 들어갈 수 없어 노트북을 제대로 구성할 수 없었고, PS2 유틸리티도 작동하지 않았다.
ThinkPad 750의 IBM 하드웨어 유지보수 매뉴얼은 I9990303을 시스템 보드 고장으로 설명하며, 강한 자기장에 노출돼도 오류가 생길 수 있다고 적었다. 이후 모델인 ThinkPad 760에서는 이 오류가 ‘Bank–2 flash ROM check sum error’로 기록돼 있다. 네카세크는 750C에서도 펌웨어 일부가 손상됐을 가능성이 크다고 봤다. BIOS의 실행 부분은 작동하지만 설정 및 진단 부분이 손상됐다면, 설정 화면에 진입할 수 없는 현상을 설명할 수 있다는 것이다.
문제는 BIOS를 다시 기록하는 업데이트 도구도 오류를 내며 중단됐다는 점이다. 도구는 배터리 충전 상태를 확인하기 전에 “The system power management is disabled”라는 메시지를 표시했다. 네카세크는 이 문제가 PS2 유틸리티가 작동하지 않는 원인과 같을 수 있다고 판단했다. 플래시 메모리 손상을 고칠 BIOS 업데이트가 바로 그 손상 때문에 실행되지 않는 상황이었다.
업데이트 도구의 검사 우회
네카세크는 ThinkPad 750C용 업데이트 도구 UPDTFLSH.EXE를 역어셈블해 전원 관리 상태와 확장 장치 연결 여부, 배터리 장착 및 충전 상태 등을 확인하는 과정을 살펴봤다. 그는 도구의 코드 일부를 수정해 검사를 건너뛰도록 했고, 수정한 파일을 BIOS 업데이트 디스크에 넣어 업데이트를 실행했다.
이 작업에는 위험이 따른다. 당시 플래시 메모리를 사용하는 구형 시스템은 업데이트 중 전원이 끊기면 복구용 부트 블록이 없어 기기가 작동 불능이 될 수 있다. 노트북 업데이트에서 충전된 배터리를 요구하는 것도 전원 차단을 대비하기 위한 안전장치다. 네카세크는 노트북이 이미 고장 난 상태라는 점을 고려해 위험을 감수했다고 설명했다.
BIOS 기록이 끝난 뒤 노트북은 재부팅했고 I9990303 오류가 사라졌다. BIOS 설정에 진입할 수 있게 됐으며, CMOS 내용이 사라져 발생했던 161 및 163 오류도 설정을 다시 구성해 해결했다. PS2 유틸리티도 다시 작동했다.
네카세크는 1990년대 중반 ThinkPad의 I9990303 오류가 플래시 메모리 손상을 나타낼 가능성이 매우 높다고 결론지었다. 다만 이 사례에서 성공한 업데이트 도구 수정은 해당 노트북을 대상으로 한 위험한 해결 시도이며, 다른 기기에도 안전하거나 적용 가능하다고 확인된 방법은 아니다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요