본문 바로가기

Windows 무한 리부팅 문제

by 솜씨제이 2009. 2. 18.
얼마 전에 갑작스럽게 Windows가 부팅이 안 되는, 정확히는 로그온 화면이 안 나오고 계속 무한 리부팅되는 현상이 발생했다. 부팅 메뉴(Windows 시작 시 F8)로 들어가 안전 모드로 부팅을 해봤지만 역시 부팅이 안 돼서 시스템 오류 시 자동으로 시작하지 않음으로 부팅을 해봤더니
Stop: c0000021a unknown hard error
unknown hard error

라고 나오면서 정지한다.

일반적인 해결 방법인 Windows 설치 CD로 부팅해서 초기 선택화면에서 R(Repair)을 선택해 복구 콘솔 모드로 들어가 문제가 발생한 시점에 기록된 파일(부트 드라이드 루트, windows 디렉토리, system32 디렉토리, drivers 디렉토리)을 검사하고 이름 변경 등으로 부팅 과정에서 제외해봤지만 소용이 없었다.
결국은 복구 설치를 해서 문제를 해결했다. 다행히 별다른 이상없이 설치가 되고 이전에 사용 중이던 소프트웨어들도 정상적으로 사용할 수 있었다. 다만 DVD 드라이브가 인식이 안 되는 문제가 생겼는데 아직 해결 방법을 못 찾아서 그냥 사용 중이다. 아래 내용은 혹시 복구 설치를 하지 않고 해결할 수 있는 방법도 있지 않을까 해서 찾아 본 내용이다.

부트 로깅
부팅 메뉴에서 부트 로깅 사용을 선택하면 WINDOWS\ntbtlog.txt 파일에 부팅 과정에서 로딩하는 장치 드라이버, 서비스가 기록된다. 만약 안전 모드로 부팅이 가능하다면 안전 모드로 부팅한 경우와 표준 모드로 부팅했을 때를 비교해서 문제가 되는 드라이버나 서비스를 파악할 수 있다.

복구 콘솔에서 서비스 활성화, 비활성화 하기
1. listsvc를 입력해 활성화, 비활성화하려는 서비스, 드라이버 이름을 적어 둔다.
2. disable drivername을 입력하면 드라이버를 비활성화할 수 있다.
3. enable drivername start_type을 입력하면 드라이버를 비활성화할 수 있다.
   start_type에는 다음 값을 입력할 수 있다.
SERVICE_BOOT_START
SERVICE_SYSTEM_START
SERVICE_AUTO_START
SERVICE_DEMAND_START

복구 콘솔에서 레지스트리키 복구하기
레지스트리 문제로 부팅이 안 되는 경우 HKEY_LOCAL_MACHINE\SYSTEMHKEY_LOCAL_MACHINE\SOFTWAREsystemroot\repair에 백업된 버전의 레지스트리로 복구해서 부팅 문제를 해결할 수 있다. 복구되는 레지스트리는 오래된 버전이므로 프로그램이나 드라이버를 다시 설치해야 할 수도 있다.
1. 다음 명령으로 config 폴더로 이동한다.
   cd system32\config
2. 백업을 생성한다.
   copy system 백업경로
or
   copy software 백업경로
3. repair에 있는 버전으로 변경한다.
   copy ..\..\repair\system
or
   copy ..\..\repair\software
4. 덮어 씌우겠냐고 물어보면 Y를 입력한다.

시작 옵션에 복구 콘솔 추가하기
1. CD롬 드라이브에 Windows XP Professional CD를 넣는다.
2. 자동 실행 프로그램을 종료한다.(업그레이드할꺼냐고 물어보면 아니오를 선택한다.)
3. [시작] > [실행]에서 cmd를 실행한다.
4. 커맨드라인에서 아래 명령을 실행한다.(drive는 CD를 넣은 드라이브명)
   drive:\i386\Winnt32.exe /cmdcons
5. PC를 재시작한다.

참고 : http://technet.microsoft.com/en-us/library/bb457123.aspx

댓글