윈도XP 시스템 파일 복구법
2009-02-12적용대상
- winlogon.exe, userinit.exe, lsass.exe등의 파일이 없거나, 손상되어 정상적인 부팅이 불가능할 때
- 뭔지는 모르겠지만, 일단 윈도우 시작은 됐는데, 사용자 이름을 눌러도 로그인이 안되거나, 바탕화면이 뜨지 않거나 할 때.
- 기타 이유로 파일 복구가 필요할 때winlogon.exe, userinit.exe, lsass.exe등의 파일이 없거나, 손상되어 정상적인 부팅이 불가능할 때
준비물
-
1, 2 중 하나만 있으면 됨.
- 깔려있는 것과 동일한 버전의 XP 정품 씨디 깔린 게 SP2면 SP2, SP3면 SP3여야 하는 게 원칙이나, 될 수도 있음. 자동설치 CD는 복구 콘솔이 뜨질 않아서 안 됨.
- Hiren's CD 등의 응급 부팅 CD와, 복구에 필요한 파일 망가진 게 winlogon.exe면, winlogon.exe등을 다른 멀쩡한 컴에서 복사해 둔다.(usb flash memory, floppydisk, cd, dvd... etc)
해결방법
이 해결방법의 원리는 손상된 파일을 멀쩡한 것으로 대체하는 것이다. 그러니 할 수 있다면 하드디스크 표면의 자기장 정보를 원하는 식으로 변화시켜도 제대로 돌아간다. 꼭 이대로 할 필요는 없다.- XP씨디로 부팅하는 경우
- 기다리다 보면, 윈도를 복구하려면 R을 누르라는 메세지가 뜬다. 시키는 대로 한다. 키보드 종류선택하라는 건 알아서 선택. 아무거나 한대도 크게 차이는 없다.
- 좀 기다려 보면, 로그온 할 디렉토리를 선택하라고 한다. 여기 선택지가 여러 개 뜨는 사람은, 그냥 근처에 컴 잘 아는 사람을 부르는 게 나을 것 같다. 아니면 전부 다 한 번씩 선택해서 아래의 과정을 반복하든가.
- 숫자를 누르고 엔터를 누른다. 암호를 물으면 암호를 친다. 없다면 그냥 enter
- 커서가 깜빡이면,
cd c:windowssystem32
라고 치고 enter
저기서 c:windows 부분은 아까 처음에 로그인 한 디렉토리와 같다. 혹시 다르다면 자기가 로그인 한 디렉토리를 입력하자.
system32는 대부분의 윈도우 시스템 파일이 몰려있는 디렉토리. 파일 위치가 어딘지 모르겠다면 저기다 넣자. 안다면 system32대신에 그 쪽으로 가 주면 된다.
expand d:i386example.ex_ example.exe
라고 치고 enter
여기서 d:는 자기 cdrom드라이브다. e라면 e:라고 친다. example은 그냥 말 그대로 예시용 파일. 원하는 파일 이름을 적어준다. 확장자의 마지막 글자는 _로 바꿔준다.
예를 들자면, userinit.exe를 복구하려면, - 다 되면 리부팅. 리셋버튼이 있으면 그거 누르고, 아니면 그냥 파워 버튼 껐다 키면 된다.
- 기타의 경우 알아서 하자. 위의 사이트들을 참고하면 잘 할 수 있을 것이다. 여기서 원하는 프로세스의 이름을 찾아서 위치를 찾을 수 있다면, 멀쩡한 컴에서 이상한 컴에다 그걸 복사해 넣으면 된다.
- 문제 파일을 찾는다. - 모르겠다면 userinit.exe, lsass.exe, winlogon.exe, crss.exe, ntoskrnl.exe든 뭐든 일단 다 복사하고 보자.(NTLDR은 루트폴더)
- 문제 파일의 위치를 찾는다.
- 멀쩡한 컴에서 그 파일을 찾아서 구해둔다.
- 이상한 컴을 부팅한다.
- 문제 파일을 멀쩡한 파일로 대체한다.
d:i386userinit.ex_ userinit.exe
다. 덮어쓰겠냐고 물어보면 당연히 덮어써준다.
또 다른 참고 사이트 NTFAQ - NT기반의 설명이지만 XP에서도 대부분 된다. 복구 콘솔 명령어와 팁