본문 바로가기
Computer/문제해결

과장님 넷북 수리 - 익숙함이 부른 과오. 빌어먹을 hal.dll

by JHoo. 2013. 10. 21.

<hal.dll 오류에 대한 해결법의 요약은 포스트 제일 하단에 있습니다.>

 

 

아주 보람찼지만 심신의 피로만 쌓인 분노의 일요일 당직.

 

아직 기억이 따끈할때 포스팅으로 남겨두어야겠다.

 

날씨좋은 주말 당직. 과장님이 내어주신 숙제는 중국산 바이러스 먹은 넷북 수리.

 

간단히 끝낼꺼라 생각하고 한 작업이라 초기 이상증세를 나타낸 화면의 사진은 없다.

 

그냥 화면 중앙 상단으로 이상한 가젯이 떠있고 익스플로러에서 짱꿔글이 나오며

 

주기적으로 이상한 싸이트가 뜨고 안지워지는 이상한 프로그램이 다수 깔려있고

 

익스플로러가 심심하면 꺼지고 어떤 백신의 설치도, 실행도 되지 않는

 

뭐 그런 흔한 짱개틱한 오류를 내뿜는 상태였다.

 

간단히 백업하고 포멧하면 끝날 일이었으나, 난 바이러스 퇴치를 우선순위로 잡아버렸다.

(시간을 하루만 되돌릴수 있다면, 하루전의 나에게 난 불꽃 싸다구를 날리리다.)

 

 

백신이 실행되지 않는 증상은 생각보다 쉽게 잡을수 있다.

 

대표적인 무료백신인 알약이나 V3 Lite의 제작사인 이스트소프트와 안철수 연구소에서는

 

백신이 실행되지 않을때 사용할수 있는 전용 백신을 배포하고 있다.

 

필자의 블로그에도 이미 오래전에 해당 파일을 포스팅 해두었다.

 

백신 실행불가, 실시간 감시 사용불가 해결 전용 백신 바로가기 - (V3용)

 

일단 이것 저것 검사하고 백신을 돌리기 위해 무작정 시도하기를 4시간.

 

넷북이 느린건지 내가 헤맨건지 바이러스를 얼추 다 잡아갈때까지 걸린 시간이 무려 4시간.

 

다 끝나간다고 안도감이 몰려올때쯤.

 

이 슈발스러운 넷북이 갑자기 파란화면을 약 1초가량 내뿜으며 재부팅을 하면서 내 안구에 쏘아올린 글자는

 

UnKnown Hard Disk..

 

아주 짧은 순간 내 안구를 스쳐간 글자는 분명 저것이 맞다 -_-..

 

그리고는 무한 리부팅 ㅋㅋ

 

무한 재부팅을 해대는 넷북을 한 5분정도 난 하염없이 바라보았던것 같다.

 

바이러스 잡고 백업할거라고 놔둔 파일을 살리는게 급해졌다.

 

복구 콘솔에 희망을 걸고 일단 가방에서 윈도우 XP가 담긴 USB를 찾아 복구 콘솔로 들어갔다.

 

 

윈도우 설치 프로그램의 로딩이 끝나면 윈도우 설치와 복구를 선택할수 있는 화면이 나온다.

 

R 키를 눌러 복구 콘솔을 실행시킨다.

 

 

로그온할 윈도우(복구 하고자 하는 윈도우가 설치된 폴더)의 번호를 선택하고 엔터를 치면

 

해당 폴더에서 복구 콘솔이 시작된다.

 

복구 콘솔에서 사용할수 있는 명령어를 살펴보자면

 

1. fixboot

- 부트섹터 복구 명령어. 윈도우의 부팅 정보를 다시 생성시킨다.

 

2. bootcfg /rebuild

- 부팅 정보가 기록된 boot.ini 파일을 새로 만든다.

 

3. fixmbr

- 마스터 부트 레코더 복구 명령어.

부팅시 CMOS에서는 하드를 인식하나, 윈도우 진입단계에서 하드 디스크가 없다는 내용의

오류가 나올시 사용한다.

 

4. chkdsk /p

- 흔히 알고 있는 체크디스크.

 

디스크의 오류를 검색하고 수정할수 있는 명령어이다.

 

5. chkdsk /r

- 디스크의 오류를 수정하는 명령어. 시간이 제법 소요된다.

 

6. exit

-복구 콘솔에서의 작업을 마치고 PC를 재부팅 시킨다.

 

 

간혹 어떤 컴퓨터에서 chkdsk를 실행할 경우 AUTOCHK.EXE파일이 없다면서

 

해당 파일이 있는 전체 경로를 요구할때가 있다.

 

AUTOCHK.EXE 파일은 system32폴더에 위치해 있다.

 

c:\windows\system32

 

위의 경로를 제시해주면 chkdsk가 실행이 된다.

 

 

이렇게 검사하고 복구 시도 하기를 3시간.

 

도저히 윈도우가 부팅될 기미가 보이지 않았다.

 

그래서 다음 단계로 윈도우를 한개 더 설치하기로 했다.

 

윈도우 설치를 마치고 첫번째 재부팅을 하고 난후.

 

난 hal.dll이라는 신세계를 만나게 된다.

 

 

음.?

 

방금 윈도우를 설치했는데 이건 뭐지.?

 

몇번을 재부팅을 해봐도 날 반기는건 hal.dll

 

다시 USB로 부팅해 복구 콘솔로 들어갔다.

 

 

명령어의 간소화를 위해 복구 콘솔 명령 프롬프트가 뜨면

 

cd system32  <엔터>

 

위 명령어로 명령 프롬프트가 위 사진과 같이 c:\windows\system32 가 되도록 한다.

 

hal.dll이든 win32.dll이든 윈도우에 필요한 파일들은

 

윈도우 CD에 압축형태로 들어있다.

 

압축된 hal.dll의 파일명은 hal.dl_ 이다.

 

아주 간단한 판단으로 해당 파일이 없거나 손상되었다면

 

해당파일을 찾아 해당 경로에 넣어주면 해결이 되야된다.

 

 

파일의 압축을 풀어 복사하는 법을 살펴보자.

 

앞서 설명했듯, hal.dll파일은 설치 cd안에 압축된 형태로 있으며,

 

파일이 위치한 경로는 설치 CD/USB 내의 i386폴더 안에 있다.

 

여기서 i386의 경로는 설치 매체가 CD인지, USB인지에 따라 약간 상이하다.

 

CD 라면 루트에 i386이라고 폴더가 있을것이며,

 

USB라면 위의 사진에서처럼 $win_nt$.~ls 폴더에 i386폴더가 있을것이다.

 

필자가 작업한 넷북에서는 USB를 이용해 윈도우 설치를 진행했으며

 

USB의 드라이브명은 D 드라이브이다.

 

c:\windows\system32>expand d:\$win_nt$.~ls\i386\hal.dl_ /y

 

이렇게 명령어를 치면 c:\windows\system32 폴더에 hal.dll 파일이 복사가 되게 된다.

 

명령 프롬프트 위치가 c:\windows> 라면

 

c:\windows>expand d:\$win_nt$.~ls\i386\hal.dl_ c:\windows\system32

 

그리고 명령어 끝에 /y를 붙이게 되면

 

 

사진과 같이 덮어쓰겠냐는 물음 없이 바로 덮어쓰게 된다.

 

자~

 

이렇게 파일을 다시 집어 넣어줬으니 이 넷북이 양심이 있는놈이라면

 

당연히 부팅이 정상적으로 되야 하겠으나, 재부팅후 날 반긴건

 

 

역시나 hal.dll

 

미;ㅏㅕㅇ롷;ㅣㅑㅓㅗ매ㅣ;'ㅑ로ㅓ해ㅕㅑ모ㅓㄷㅈ개ㅕ휴ㅗ'ㅐ며;놓'ㅐㅕㅁㅈ독'ㅐ홈'재ㅕㅗㄱ해'ㅕㅁ족'해ㅔㅕㅗㅁㅈ'ㅐㅔㄱ호멪ㅗㄱㄷ헤'ㅁㅈㅗㄱㅎ'ㅐㅔ조

 

도저히 안되겠다 싶어 일단 파일부터 살리고 포멧을 해버리자는 생각으로

 

윈도우 7을 설치했다.

 

아톰 프로세서를 쓴놈한테 윈7 울티메이트를 깔았더니 설치고 부팅이고 하루 왠종일 걸린다.

 

그래도 일단 윈도7은 한방에 깔렸고 다행히도 파일은 확보를 했다.

 

그냥 윈도7을 깔아서 과장님께 패스해버릴까도 생각해 봤지만

 

내 자존심이 허락하지 않았다 -_-..

 

 

무엇이 문제인가.. 곰곰히 생각을 해봤고 윈도우7은 바로 설치 되는것으로 보아

 

난 윈도우xp 설치 USB의 파일손상으로 결론짓고

 

대략 5종류의 윈도우 파일을 구해 USB에 집어넣어 재설치를 시도했으나

 

어떤 윈도우로 설치를 하든 날 반기러 나온건 이 hal.dll 이었다.

 

그렇다면 윈도우에 문제가 아니라 설치 방법에 문제가 있을거라는 의심이

 

수리 시작한지 15시간이 지나갈때쯤이 되어서야 들었다.-_-.....

 

후우...

 

눈물좀 닦고..

 

 

흔히 알려진 USB 부팅 디스크 제작 방법으로 HP USBTool과 winsetup from USB를 많이 사용한다.

 

이것또한 추론이긴 하지만 문제의 원인은 HP USBTool과 과거의 윈도우 XP 설치 습관에 있다.

 

과거 윈도우XP CD로 윈도우 설치시에 윈도우 설치 프로그램을 실행하고 최초 재부팅시에

 

부팅순서가 CD-ROM이 첫 순위에 올라와 있을경우  다시 윈도우 설치 프로그램으로

 

진입하는것을 방지하기 위해, 첫부팅시 CD-ROM의 CD를 잠시 제거한후 설치 프로그램으로 

 

다시 진입한후에 CD를 넣어주곤 했었다.

 

이번 윈도우 설치시에도 첫 부팅시 HDD에 설치된 설치 프로그램이 실행될거라는 판단으로

 

부팅순서를 바꿔버린것이 문제의 발단이 된것이다.

 

HP USBTool을 사용해 제작된 부팅 USB는 설치 작업시 아래와 같은 화면이 나올것이다.

 

 

hal.dll 오류 문구와 이 화면을 좀더 세심하게 해석했다면 18시간동안 삽질을 하지는 않았을텐데.

 

hal.dll 오류의 해결 방법은 최초 재부팅시 USB를 제거하거나 부팅순서를 HDD로 변경하지 말고,

 

USB로 부팅되게 한뒤 아래 사진처럼 Second part 항목을 선택하면 된다.

 

 

 

그리고 이어서 나오는 화면에서 윈도우를 설치중인 파티션을 선택해서 진행하면

 

그토록 보고팟던 윈도우 설치 화면을 만날수가 있다.

 

 

 

여담으로,

 

필자가 작업했던 Hp Mini 110 모델은 윈도우 xp설치시에 '무조건' sata 드라이버가 있어야

 

아래 사진처럼 설치 프로그램에서 하드디스크를 인식한다.

 

 

해당 모델에 윈도우를 설치하고자 하시는분은 sata 드라이버가 포함된 윈도우 xp설치 파일을

 

이용하시거나 nlite를 이용해 직접 sata 드라이버를 윈도우 설치 파일에 포함시켜서

 

작업하셔야 한다.

 

 

알고있는 지식에 대한 의심이 없었다면 해결하지 못했을 문제였다.

 

오랜만에 징하게 컴터 고쳐봤네.

 

덕분에 간만에 뇌좀 굴려본듯 하다.

 

고마워 hal.dll

 

 

 

 

hal.dll 파일 오류에 대한 해결법 정리.

 

원인 : 바이러스로 인한 파일의 손상이나 잘못된 설치 방법으로 인한 오류.

 

해결 :

 

1. 바이러스로 인한 파일의 손상일 경우 해당 파일을 설치 디스크에서 c:\windows\system32

폴더로 복사해준다.

1) 윈도우 xp설치디스크로 부팅후 복구 콘솔 진입

2) 설치 디스크가 CD인 경우 <설치 디스크 드라이브명은 PC마다 다를수 있습니다. 필자는 D: >

c:\windows>expand d:\i386\hal.dl_ c:\windows\system32 /y

 

c:\windows>exit

 

설치 디스크가 USB인 경우

c:\windows>expand d:\$win_nt$.~ls\i386\hal.dl_ c:\windows\system32 /y

 

c:\windows>exit

 

 

2. 설치 디스크가 USB 이고, USB 부팅 디스크 제작시 HP USBTool 로 작업한 경우.

 

재부팅시 HDD가 아닌 USB로 부팅후

 

 

Second part of Windows Xp 선택.

 

이후 나오는 화면에서 설치중인 디스크의 파티션 선택.

 

 

도움이 되셨다면 하단의 하트 버튼 클릭 부탁드립니다~

 

댓글