화요일, 1월 15, 2008

[B급프로그래머] 뻗어버린 윈도우 XP 살리기



어제 오후부터 갑자기 윈도우 XP가 설치된 PC가 아아주 굼벵이처럼 느리게 돌아가기 시작했다. 심지어 '마지막으로 성공한 구성요소'를 선택해도 부팅조차 제대로 되지 않는 상황에서 급히 디스크 검사를 수행하도록 안전모드로 부팅한 다음에 'chkdsk /f' 명령을 내려 디스크 점검과 복구를 마치고 문제 원인을 파악하기 시작했다. 윈도우 XP를 새로 깐다는 생각을 하니 의욕도 없고 밥맛도 없고... 설상가상으로 옆에서는 프로그램 버그 터졌다고 난리니 항상 급할 때만 시스템이 맛이 간다는 법칙은 어김이 없다.



하지만 점검을 위한 각종 프로그램조차 뜨지 않을 지경이 되어버렸다. 정녕코 시스템을 새로 설치해야 하는가? 하지만 곰곰히 생각해보니 윈도우 XP에는 두 가지 강력한 시스템 복구 방법이 있었다. 바로 시스템 복구 콘솔시스템 복원 기능이다.



시스템 콘솔은 윈도우 운영체제 CD로 부팅한 다음에 키를 가볍게 한번 때려주면 콘솔로 부팅해서 여러 가지 작업을 수행할 수 있다. MBR이 망가진 경우부터 시작해서 부팅 구성 변경, 디스크 검사, 드라이버나 서비스 관리/중단, 파일 속성 변경과 상태 확인, 파티션 관리, 포맷 작업 등을 수행할 수 있다.



그런데, 시스템 콘솔로 들어가서 뭘 해야할지 생각해보니... 막막해졌다. 그래서 시스템 복원 기능을 사용하기로 했다. 안전 모드로 부팅한 다음에 시스템 복원 기능을 선택하면(대화 창에서 '아니오'를 누른다), 가장 최근에 소프트웨어를 설치했거나 시스템이 자동으로 복원 지점을 잡아 놓은 달력이 뜬다. 다행히도 점심먹고 심심했는지 XP가 자동으로 복원 지점을 잡아 놓은 곳이 보였다. 심호흡 한번 하고, 복원을 시작해서 잠시 후 시스템을 안정적인 상태로 돌린 다음에 다시 부팅. 거북이는 사라지고 다시 토끼가 튀어나왔다. 빙고!



복구 원리는 어떻게 보면 간단하다. 운영체제가 파일 변경 내역을 감지하고 있다가 응용 프로그램 설치, 자동 업데이트, 백업 유틸리티 기동, 검증되지 않은 드라이버 설치와 같은 이벤트가 벌어지면 복구 지점을 잡고 시스템 데이터베이스 스냅샷을 찍는다. 나중에 문제가 발생하면 복구 지점을 선택해서 해당 스탭샷을 이용해서 원래 파일/시스템 데이터베이스로 되돌린다.



자 그렇다면 시스템 복원 기능이 만능일까? 아니다. 이번에 B급 프로그래머는 운이 좋았을 뿐이다. 시스템 복원 기능이 살릴 수 있는 구성 요소는 다음과 같다.




  • 레지스트리
  • 프로파일(로밍 사용자는 제외)
  • COM+ 데이터베이스
  • WFP.dll 캐시
  • WMI 데이터베이스
  • IIS 메타베이스
  • 플랫폼 SDK의 시스템 복원 섹션에 들어있는 감시 파일 확장자 중 부문에 들어있는 확장자를 포함한 파일


그러면 복원이 안되는 파일/데이터베이스는? 다음과 같다.




  • DRM 설정
  • SAM 하이브(암호는 되돌리지 못한다)
  • WPA 설정(윈도우 진품 검증 역시 되돌리지 못한다
  • 사용자 프로파일에 들어있는 사용자가 생성한 자료
  • 플랫폼 SDK의 시스템 복원 섹션에 들어있는 감시 파일 확장자 중 부문에 들어있지 않은 확장자를 포함한 파일


윈도우 XP를 사용하다 문제가 생기면 당황하지 말고 '마지막으로 성공한 구성요소' --> '윈도우 시스템 복원' --> '윈도우 복구 콘솔' 순으로 이를 악물어 라이언 일병을 구하기 바란다.



EOB

댓글 2개:

  1. 최악의 상황을 대비해서 모든 프로그램 설치하고 고스트 이미지를 만드는 것도 한 방법이죠. 당근 데이터는 다른 파티션에 두어야 겠죠.
    드라이버 개발자라면 고스트 백업은 필수(?) :-)

    답글삭제
  2. 쉼없는 백업과 진단은 필수인 시대입니다..흐흐흐..

    답글삭제