티스토리 뷰

일하다가

autoruns 버그...

2010. 5. 7. 02:22
이유없이 네트워크가 안되고 이벤트 로그같은 멀쩡한 서비스도 안 돌아갈때 11003 오류를 낸다.

사람들은 Bonjour 라는 애플 사에서 제공하는 윈속 프로바이더를 지우니까 오류가 발생했다는데, 나는 좀 경우가 달랐다. 단지 윈도우 7 64비트에서 autoruns 를 사용해서 쓸모없어 보이는 걸 하나 지우는 작업하고 리부팅하였는데...
  1. 많은 서비스가 제대로 돌아가지 않는다. 심지어 가장 기본적일 것 같은 이벤트 로그 같은 것도 안되더라.
    실행하면, 'WSAStartup 실패', '데이터베이스를 검색하는 동안 복구할 수 없는 오류가 발생했습니다', '오류 1747 : 알 수 없는 인증서비스입니다' 등등 뭔소린지 모르나 결국 안된다는 이야기이다.
  2. 네트워크는 사용할 수 있는데, 트레이 아이콘은 사용 불가라고 나오고 관련 서비스를 실행하지 못했다고 나온다.
    특히 시스템 이벤트 알림에 대해서 못했다고 한다.
  3. 가끔은 인터넷도 안된다.

찾아보니, 비스타부터 윈속이 초기화 안되면 여러 문제들이 발생할 때에 다음과 같이 한단다.

  1. 관리자 권한으로 소켓 초기화
    netsh winsock reset
  2. 리부팅 후에는 시스템 파일 복구
    sfc /scannow


하면 된다고 했는데... netsh 할 때부터
"Initialization Function InitHelperDll in NSHHTTP.DLL failed to start with error code 11003"
이런 메시지가 나오는 것은 무엇인지... 한글 메시지로도 보고 싶지만, 코드 페이지를 바꿔도 다 깨져서 박스만 나오더라. 대략 눈으로 확인할 수 있는 영문 메시지는 NSHHTTP.DLL ... InitHelper.DLL ... 11003 였다.

이걸 근거로 좀 더 찾아보니 찾아보니... 빙고! 다음과 같은 해법이 나와 있다.
http://forum.sysinternals.com/autoruns-bug-when-deleting-winsock-entries_topic22114.html

이를 보면, 윈도우의 꽤 많은 부분이 윈속에 종속되는 것을 알 수 있다. http://support.microsoft.com/kb/811259 에 정리된 것을 보면 생각 외로 이런 문제가 많이 있었던 것이라 유추해본다.


위에 나온 방법이 좀 어려울 수 있으니 그림으로 풀어보겠습니다.

Windows 키에 R 을 누르면 실행 대화상자가 나오는데, 거기서 regedit 해서 위에 주소를 찾아봅니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\NameSpace_Catalog5

여기에 키를 보면, 아래 그림처럼 Num_Catalog_Entries 와 Num_Catalog_Entries64 가 항목이 존재합니다.

Num_Catalog_Entries 의 값은
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\NameSpace_Catalog5\Catalog_Entries

여기 하위에 있는 키의 개수를 말합니다. 6이니까 6개 등록되어 있다는 것이죠?

비슷하게

Num_Catalog_Entries64 의 값은
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\NameSpace_Catalog5\Catalog_Entries64

의 하위에 있는 키의 개수를 말합니다. 위에 그림에 따라서는 6개이죠?

Autoruns 의 버그로 인해, 이 숫자가 안 맞는 경우가 생기는데, 개수를 맞춰서 값을 설정하시면 됩니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\NameSpace_Catalog5

여기에 키에 속한 값을 Num_Catalog_Entries 와 Num_Catalog_Entries64 각각의 맞게 설정하시면 됩니다.

보통은 6개 등록되어 있을 것 같으니, 6이라고 설정하시고 리부팅하시면 되겠습니다.

도움되시기를...

댓글