ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 갑자기 서비스, 작업 스케줄러, 장치 관리자, 컴퓨터 관리 등이 안 열릴 때
    두꺼비 메뉴 2021. 1. 31. 18:02

    오래간만에 프로세스 정리를 하다 뭐가 뭔지 찾아보려 했는데, services.msc를 프롬프트에 쳤는데도 열리지 않았다. 마찬가지로, diskmgmt, devmgmt, gpedit 등이 전혀 작동하지 않았다. 이러한 기능은 제어판의 관리 도구에 상당수 모여 있는데, 이렇게 GUI를 통해서도 프로그램을 실행할 수 없었다. 관련 문서를 찾아봐도 도무지 해결되었다는 기록이 없다. 해결은 차치하고 이러한 상황을 겪은 예가 거의 존재하지 않았다.

     

    문제 발생

    발생하는 문제를 정확하게 설명하면 이렇다. 위와 같은 프로그램을 call해도 검정 창이 떴다가 바로 꺼진다. 이 검정 창은 도스 창으로도 불리는 명령 프롬프트의 그 창이다. 꺼지는 것은 바로 exit이 걸려 있기 때문일 것이다. 몇 번 실행해보면서 그나마 적혀 있던 텍스트를 알 수 있었는데 아래와 같은 내용이었다.

     

    No instance(s) available.

     

    이미 찾아본 사람들은 알겠지만, 정확히 이 문제를 해결하게끔 도움을 주는 문서가 전무하다. 그래서 대신 기록해 둔다. 이런 일이 생기면 별갖 생각이 다 들지만 나도 마찬가지로 아 드디어 백업해둔 이미지로 복원해야 하나. 하 귀찮다. 어쩌다 이런 일이 등으로 한탄과 후회가 뒤섞인 잡생각으로 깊이 빠져들었다. 그러다 팟 하고 떠오른 것은 얼마 전 배치파일 하나 만들어서 쓰는데 라이브러리에 없어서 powershell 버전을 업데이트한 일이었다. 이걸 업데이트하려면 WMF 버전을 5.1 이상으로 올려주는 파일을 마이크로소프트 사이트에서 받아 설치하면 된다. 나는 아직 Windows 7 SP1을 사용하고 있어서 Windows 10에서 지원하고 있는 7.x 버전은 쓸 수가 없었다.

     

    그렇게 귀찮음을 약간 해소해주는 툴을 만들고 나서 다 잘됐구만 하고 당연히도 아무 일 없겠지 한 뒤 컴퓨터를 껐을 터. 아니 아무 일 없겠지 같은 생각조차 한 적이 없다. 그런 거 하나 설치했다고 뭔 일이 생긴다니 그런 피해망상스러운 관념이 내 머리에 있다면 그건 그것대로 문제일 것이다.

     

    그런데 오늘 이렇게 문제가 생겼던 것이다.

     

    그러나 다행스럽게도 어렵지 않게 해결했다.

     

    해결의 키는 *.cpl 파일은 아무 문제 없이 열린다는 점이었다. 쉽게 말해 제어판이나 제어판의 여타 다른 항목은 잘 열린다는 점이었다. 이러한 *.cpl, *.msc 파일은 모두 %SYSTEMROOT%\System32 폴더에 있다 (혹은 SysWOW64). 여기서 하나하나 확인해 봤다. 혹시나 해서 cmd와 powershell로도 열어봤다. 이렇게 해보니 창은 꺼지지 않고 "No instance(s) available." 문자는 그대로 출력됐다. *.msc만 제대로 안 된다면 경우의수는 극히 줄어든다. 이러한 파일에만 문제가 생겼을 가능성은 아주 낮고, 바이러스 등의 문제도 아니라면 결국 이러한 확장자를 call하는 과정에서 일어난 문제다. 그렇다면 먼저 해봐야 할 것은 과연 지금 이 확장자 (file type)가 제대로 된 프로그램에 연결되어 있는지 확인하는 것이다.

     

    살펴봤더니 아니나 다를까 cmd로 켜지고 있었다. cmd로 켜지면 안 되는 것일까? 찾아보니 Management Console로 열려야 한다고 한다. 아무래도 WMF 버전 업데이트를 하면서 다른 프로그램으로 연결되었다는 시나리오가 가장 그럴듯하다.

     

    해결방법

    방법은 간단하다. 해당 확장자에 대한 기본 프로그램을 바꿔주면 된다. 여러 방법이 있지만 가장 쉬운 건 제어판에서. Windows 7 기준 제어판을 켜면 "기본 프로그램"이 있다. 아이콘이 몇 개 없고 그런 거 안 보여요, 하시는 분들은 오른쪽 상단에 "보기 기준"에서 "범주" 대신 "큰 아이콘"이나 "작은 아이콘"을 선택하면 보인다. 그다음엔 "파일 형식 또는 프로토콜을 특정 프로그램과 연결 (Associate a file type or protocol with a program)"을 누른다.

     

    쭉 내려서 .msc를 찾아 현재 기본값이 cmd로 세팅되어 있는 것을 확인한다. 아니더라도 뭐 별 관계없다. Microsoft Management Console이라고 돼 있으면 멀쩡하게 되어 있는 것이니 다른 원인을 찾아보아야 한다. 그렇지 않은 경우는 .msc를 클릭하고 프로그램 변경을 누른 뒤 "찾아보기"를 클릭한다. 주소표시줄에 %SYSTEMROOT%\System32를 타이핑 후 엔터. 스크롤바를 쭉 내려 mmc 혹은 mmc.exe를 찾아 "열기"를 누른다. 이제 제대로 열린다.

     

    대체 누가 이런 오래된 운영체제에서 powershell 업데이트해서 쓰겠다고 하다 이런 일을 겪을지 모르겠지만 그냥 적어두기로 하자.

     

    댓글

Designed by Tistory. Courtesy of Asan City for the header font.