안전 모드
반면에 XP에서 제공하기 시작한 안전 모드(명령행)은 쉘을 Exproler.exe
에서 cmd.exe
로 변경한 것일뿐 XP에서 제공하는 대부분의 명령을 실행할 수 있기때문에 상당히 유용하다. 일반적으로 시스템에 문제가 발생해서 부팅이 정상적이지 못한 경우 안전 모드로 부팅하며, 이 안전 모드 부팅까지 문제가 있으면 안전 모드(명령행)으로 부팅할 수 있다.
안전 모드
XP에서 보강된 기능중 하나는 명령행 부팅(복구 콘솔과 안전 모드(명령행))이다. 복구 콘솔을 이용해서 명령행으로 부팅할 수 있지만 이 경우 사용할 수 있는 명령이 너무 적어 디스크 관리와 같은 기본적인 작업만 가능하다. 최소 REG같은 명령행 레지스트리 도구라도 사용할 수 있으면 좋을 텐데 이마저도 불가능하며 접근할 수 있는 폴더 역시 아주 제한 적이다.
반면에 XP에서 제공하기 시작한 안전 모드(명령행)은 쉘을 Exproler.exe
에서 cmd.exe
로 변경한 것일뿐 XP에서 제공하는 대부분의 명령을 실행할 수 있기때문에 상당히 유용하다. 일반적으로 시스템에 문제가 발생해서 부팅이 정상적이지 못한 경우 안전 모드로 부팅하며, 이 안전 모드 부팅까지 문제가 있으면 안전 모드(명령행)으로 부팅할 수 있다.
그러나 문제는 사용자 대부분이 명령행 도구에 익숙하지 못해 명령행을 보면 속된 말로 넋을 잃는다는 점이다[1]. 앞서 언급했듯 안전 모드(명령행)은 cmd.exe
를 쉘로 기동한 안전 모드로 Explorer.exe
를 쉘로 기동했을 때와 거의 유사하다.
프로그램/드라이버 제거
따라서 오늘은 안전 모드(명령행)에서 시스템에 문제가 되는 '프로그램/드라이버'를 삭제하는 방법을 설명하겠다. 절차는 다음과 같다.
- XP의 진행 막대가 나타나기 전에 F8을 눌러 다음과 같은 'Windows 고급 옵션 메뉴'를 띄운다.
- '안전 모드(명령 프롬프트 사용)'을 선택하고 엔터키를 입력한다.
- '새로운 시작화면'에서 관리자 권한을 가진 사용자(예: Administrator)로 로그인 한다.
- 프로그램 삭제
NT 계열의 OS에는 '프로그램 추가/제거'라는 '제어판 애플릿'을 제공한다. 대부분의 사용자들은 이 제어판 애플릿을 시작/제어판을 통해 기동하기 때문에 이 애플릿을 명령행을 통해 기동하는 방법은 모르고 있다. 그러나 Windows XP의 제어판 애플릿에서 알 수 있듯이 제어판의 애플릿은 대부분 개개의 화일로 존재하며, 제어판 애플릿을 실행하는 또 다른 방법이나 제어판 애플릿을 실행하는 여러가지 방법에서 처럼 다양한 방법으로 명령행을 통해 실행할 수 있다. '프로그램 추가/제거'를 명령행에서 실행, 프로그램을 제거하는 방법은 다음과 같다.- 명령행에서 다음 명령을 입력한다.
Appwiz.cpl
Windows XP의 제어판 애플릿에서 알 수 있듯 이 파일이 '프로그램 추가/제거 애플릿'이다. - '프로그램 추가/제거' 창에서 삭제하려는 프로그램을 선택하고 '제거' 버튼을 클릭한다.
- 명령행에서 다음 명령을 입력한다.
- 드라이버 삭제[2]
드라이버를 삭제하는 것도 프로그램을 삭제하는 것과 비슷하다. 다만 프로그램 삭제는 '프로그램 추가/제거 애플릿'을 통해 삭제할 수 있지만 드라이버 삭제는 장치 관리자 스냅인을 통해 삭제한다는 차이만 있다.- 명령행에서 다음 명령을 입력한다.
devmgmt.msc
%SystemRoot%\System32에 존재하는 모든 스냅인에서 알 수 있듯이devmgmt.msc
가 장치 관리자 스냅인 이다. - '보기/숨김 장치 표시'를 클릭한다.
- 각 장치 폴더에서 문제가 되는 장치나 제거할 장치에 마우스 우측 버튼을 클릭한다.
- 드라이버를 롤백하려면 '속성'을 클릭하고 제거하려면 '제거'를 클릭한다.
- 명령행에서 다음 명령을 입력한다.
- 시스템을 종료하기 위해 명령행에서 다음 명령을 실행한다.
shutdown -s -t 0
저작권
이 글은 QAOS.com에 2004년 12월 07일에 올린 안전모드(명령행)에서 프로그램 삭제하기를 블로그에 다시 올리는 것이다. QAOS.com에서 가져온 모든 글은 QAOS.com의 저작권(불펌 금지, 링크 허용)을 따른다.
- 예전에 회사에서 직원을 뽑은 적이있다. 리눅스까지 잘 다룬다고해서 텔넷으로 회사 서버를 관리하도록 시켰다. 리눅스까지 잘 다룬다는 사람이 명령행을 보고 넋을 놓았다. 'OS를 잘 다룬다'는 건 GUI 환경하에서 OS를 조작할 줄 안다는 뜻이 아니다. 'OS를 잘 다룬다'는 뜻은 문제가 발생하면 문제를 해결할 수 있는 능력을 가지고 있다는 뜻이다. 대부분의 OS에서 문제가 발생하면 문제를 해결하는 최후의 수단은 모두 명령행이다. 따라서 어떤 OS든 명령행을 능수 능란하게 다룰 수 없다면 스스로 고수라고 칭하지 않는 것이 좋다. 명령행을 다룰줄 모르는 고수는 세상에 없다. ↩
- 불필요한 드라이버나 문제가되는 드라이버를 삭제하기전 에 장치관리자에서 제거된 장치 표시하기를 미리 적용해두는 것이 좋다. 장치관리자에서 제거된 장치 표시하기는 시스템을 새로 설치한 후 가장 먼저 적용하는 팁중 하나이다. ↩